Commit 185d8b74 authored by yoz@chromium.org's avatar yoz@chromium.org

Fix BrowserActionApiTest.DynamicBrowserAction interaction with dev-mode highlighting.

With dev-mode highlighting (on stable/beta channel, or with the --force-dev-mode-highlighting=1 flag), in Views, unpacked extension browser action iicons (such as the ones in this test) are given a different background. Adjust our test expectations accordingly.

This patch also cleans up the other BrowserActionApiTests somewhat.

BUG=333008
TEST=browser_tests --gtest_filter=BrowserActionApiTest.DynamicBrowserAction --force-dev-mode-highlighting=1

Review URL: https://codereview.chromium.org/170843005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251978 0039d316-1c4b-4281-b951-d872f2087c98
parent fade2f48
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/browser_action_test_util.h" #include "chrome/browser/extensions/browser_action_test_util.h"
#include "chrome/browser/extensions/dev_mode_bubble_controller.h"
#include "chrome/browser/extensions/extension_action.h" #include "chrome/browser/extensions/extension_action.h"
#include "chrome/browser/extensions/extension_action_icon_factory.h" #include "chrome/browser/extensions/extension_action_icon_factory.h"
#include "chrome/browser/extensions/extension_action_manager.h" #include "chrome/browser/extensions/extension_action_manager.h"
...@@ -48,10 +49,15 @@ const char kEmptyPathError[] = "The path property must not be empty."; ...@@ -48,10 +49,15 @@ const char kEmptyPathError[] = "The path property must not be empty.";
// Views implementation of browser action button will return icon whose // Views implementation of browser action button will return icon whose
// background will be set. // background will be set.
gfx::ImageSkia AddBackgroundForViews(const gfx::ImageSkia& icon) { gfx::ImageSkia AddBackgroundForViews(const Extension* extension,
const gfx::ImageSkia& icon) {
#if defined(TOOLKIT_VIEWS) #if defined(TOOLKIT_VIEWS)
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
gfx::ImageSkia bg = *rb.GetImageSkiaNamed(IDR_BROWSER_ACTION); gfx::ImageSkia bg = *rb.GetImageSkiaNamed(IDR_BROWSER_ACTION);
// We may have a different background than the default - see
// BrowserActionButton::UpdateState.
if (extensions::DevModeBubbleController::IsDevModeExtension(extension))
bg = *rb.GetImageSkiaNamed(IDR_BROWSER_ACTION_HIGHLIGHT);
return gfx::ImageSkiaOperations::CreateSuperimposedImage(bg, icon); return gfx::ImageSkiaOperations::CreateSuperimposedImage(bg, icon);
#endif #endif
...@@ -175,7 +181,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { ...@@ -175,7 +181,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
EXPECT_FALSE(action_icon.ToImageSkia()->HasRepresentation(2.0f)); EXPECT_FALSE(action_icon.ToImageSkia()->HasRepresentation(2.0f));
EXPECT_TRUE(ImagesAreEqualAtScale( EXPECT_TRUE(ImagesAreEqualAtScale(
AddBackgroundForViews(*action_icon.ToImageSkia()), AddBackgroundForViews(extension, *action_icon.ToImageSkia()),
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), *GetBrowserActionsBar().GetIcon(0).ToImageSkia(),
1.0f)); 1.0f));
...@@ -193,7 +199,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { ...@@ -193,7 +199,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
action_icon.ToImageSkia()->HasRepresentation(2.0f)); action_icon.ToImageSkia()->HasRepresentation(2.0f));
EXPECT_TRUE(ImagesAreEqualAtScale( EXPECT_TRUE(ImagesAreEqualAtScale(
AddBackgroundForViews(*action_icon.ToImageSkia()), AddBackgroundForViews(extension, *action_icon.ToImageSkia()),
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), *GetBrowserActionsBar().GetIcon(0).ToImageSkia(),
1.0f)); 1.0f));
...@@ -211,7 +217,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { ...@@ -211,7 +217,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
EXPECT_TRUE(action_icon.ToImageSkia()->HasRepresentation(2.0f)); EXPECT_TRUE(action_icon.ToImageSkia()->HasRepresentation(2.0f));
EXPECT_TRUE(ImagesAreEqualAtScale( EXPECT_TRUE(ImagesAreEqualAtScale(
AddBackgroundForViews(*action_icon.ToImageSkia()), AddBackgroundForViews(extension, *action_icon.ToImageSkia()),
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), *GetBrowserActionsBar().GetIcon(0).ToImageSkia(),
1.0f)); 1.0f));
...@@ -228,7 +234,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { ...@@ -228,7 +234,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
EXPECT_TRUE(action_icon.ToImageSkia()->HasRepresentation(2.0f)); EXPECT_TRUE(action_icon.ToImageSkia()->HasRepresentation(2.0f));
EXPECT_TRUE(ImagesAreEqualAtScale( EXPECT_TRUE(ImagesAreEqualAtScale(
AddBackgroundForViews(*action_icon.ToImageSkia()), AddBackgroundForViews(extension, *action_icon.ToImageSkia()),
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), *GetBrowserActionsBar().GetIcon(0).ToImageSkia(),
1.0f)); 1.0f));
...@@ -246,7 +252,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { ...@@ -246,7 +252,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
EXPECT_FALSE(action_icon.ToImageSkia()->HasRepresentation(2.0f)); EXPECT_FALSE(action_icon.ToImageSkia()->HasRepresentation(2.0f));
EXPECT_TRUE(ImagesAreEqualAtScale( EXPECT_TRUE(ImagesAreEqualAtScale(
AddBackgroundForViews(*action_icon.ToImageSkia()), AddBackgroundForViews(extension, *action_icon.ToImageSkia()),
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), *GetBrowserActionsBar().GetIcon(0).ToImageSkia(),
1.0f)); 1.0f));
...@@ -264,7 +270,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { ...@@ -264,7 +270,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
EXPECT_FALSE(action_icon.ToImageSkia()->HasRepresentation(2.0f)); EXPECT_FALSE(action_icon.ToImageSkia()->HasRepresentation(2.0f));
EXPECT_TRUE(ImagesAreEqualAtScale( EXPECT_TRUE(ImagesAreEqualAtScale(
AddBackgroundForViews(*action_icon.ToImageSkia()), AddBackgroundForViews(extension, *action_icon.ToImageSkia()),
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), *GetBrowserActionsBar().GetIcon(0).ToImageSkia(),
1.0f)); 1.0f));
...@@ -288,10 +294,10 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) { ...@@ -288,10 +294,10 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DynamicBrowserAction) {
*action_icon.ToSkBitmap(), *action_icon.ToSkBitmap(),
action_icon_skia->GetRepresentation(2.0f).sk_bitmap())); action_icon_skia->GetRepresentation(2.0f).sk_bitmap()));
EXPECT_TRUE(ImagesAreEqualAtScale( EXPECT_TRUE(
AddBackgroundForViews(*action_icon_skia), ImagesAreEqualAtScale(AddBackgroundForViews(extension, *action_icon_skia),
*GetBrowserActionsBar().GetIcon(0).ToImageSkia(), *GetBrowserActionsBar().GetIcon(0).ToImageSkia(),
2.0f)); 2.0f));
// Try setting icon with empty dictionary of ImageData objects. // Try setting icon with empty dictionary of ImageData objects.
GetBrowserActionsBar().Press(0); GetBrowserActionsBar().Press(0);
...@@ -338,11 +344,10 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, ...@@ -338,11 +344,10 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest,
// http://code.google.com/p/chromium/issues/detail?id=70829 // http://code.google.com/p/chromium/issues/detail?id=70829
// Mac used to be ok, but then mac 10.5 started failing too. =( // Mac used to be ok, but then mac 10.5 started failing too. =(
IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DISABLED_BrowserActionPopup) { IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DISABLED_BrowserActionPopup) {
ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( const Extension* extension =
"browser_action/popup"))); LoadExtension(test_data_dir_.AppendASCII("browser_action/popup"));
BrowserActionTestUtil actions_bar = GetBrowserActionsBar();
const Extension* extension = GetSingleLoadedExtension();
ASSERT_TRUE(extension) << message_; ASSERT_TRUE(extension) << message_;
BrowserActionTestUtil actions_bar = GetBrowserActionsBar();
// The extension's popup's size grows by |growFactor| each click. // The extension's popup's size grows by |growFactor| each click.
const int growFactor = 500; const int growFactor = 500;
...@@ -609,9 +614,9 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, IncognitoSplit) { ...@@ -609,9 +614,9 @@ IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, IncognitoSplit) {
// Disabled because of failures (crashes) on ASAN bot. // Disabled because of failures (crashes) on ASAN bot.
// See http://crbug.com/98861. // See http://crbug.com/98861.
IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DISABLED_CloseBackgroundPage) { IN_PROC_BROWSER_TEST_F(BrowserActionApiTest, DISABLED_CloseBackgroundPage) {
ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( const Extension* extension = LoadExtension(
"browser_action/close_background"))); test_data_dir_.AppendASCII("browser_action/close_background"));
const Extension* extension = GetSingleLoadedExtension(); ASSERT_TRUE(extension) << message_;
// There is a background page and a browser action with no badge text. // There is a background page and a browser action with no badge text.
extensions::ProcessManager* manager = extensions::ProcessManager* manager =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment