Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(658)

Side by Side Diff: chrome/browser/ui/toolbar/browser_actions_bar_browsertest.cc

Issue 2906723003: [Extenisons UI] Remove extension_action_redesign logic from the toolbar (Closed)
Patch Set: comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/toolbar/browser_actions_bar_browsertest.h" 5 #include "chrome/browser/ui/toolbar/browser_actions_bar_browsertest.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 : toolbar_model_(nullptr) { 64 : toolbar_model_(nullptr) {
65 } 65 }
66 66
67 BrowserActionsBarBrowserTest::~BrowserActionsBarBrowserTest() { 67 BrowserActionsBarBrowserTest::~BrowserActionsBarBrowserTest() {
68 } 68 }
69 69
70 void BrowserActionsBarBrowserTest::SetUpCommandLine( 70 void BrowserActionsBarBrowserTest::SetUpCommandLine(
71 base::CommandLine* command_line) { 71 base::CommandLine* command_line) {
72 ExtensionBrowserTest::SetUpCommandLine(command_line); 72 ExtensionBrowserTest::SetUpCommandLine(command_line);
73 ToolbarActionsBar::disable_animations_for_testing_ = true; 73 ToolbarActionsBar::disable_animations_for_testing_ = true;
74 // These tests are deliberately testing behavior without the redesign.
75 // Forcefully disable it.
76 override_redesign_.reset(new extensions::FeatureSwitch::ScopedOverride(
77 extensions::FeatureSwitch::extension_action_redesign(), true));
78 } 74 }
79 75
80 void BrowserActionsBarBrowserTest::SetUpOnMainThread() { 76 void BrowserActionsBarBrowserTest::SetUpOnMainThread() {
81 ExtensionBrowserTest::SetUpOnMainThread(); 77 ExtensionBrowserTest::SetUpOnMainThread();
82 browser_actions_bar_.reset(new BrowserActionTestUtil(browser())); 78 browser_actions_bar_.reset(new BrowserActionTestUtil(browser()));
83 toolbar_model_ = ToolbarActionsModel::Get(profile()); 79 toolbar_model_ = ToolbarActionsModel::Get(profile());
84 } 80 }
85 81
86 void BrowserActionsBarBrowserTest::TearDownOnMainThread() { 82 void BrowserActionsBarBrowserTest::TearDownOnMainThread() {
87 ToolbarActionsBar::disable_animations_for_testing_ = false; 83 ToolbarActionsBar::disable_animations_for_testing_ = false;
(...skipping 17 matching lines...) Expand all
105 EXPECT_TRUE(registry->enabled_extensions().GetByID(extensions[i]->id())) << 101 EXPECT_TRUE(registry->enabled_extensions().GetByID(extensions[i]->id())) <<
106 extensions[i]->name(); 102 extensions[i]->name();
107 EXPECT_EQ(static_cast<int>(i + 1), 103 EXPECT_EQ(static_cast<int>(i + 1),
108 browser_actions_bar_->NumberOfBrowserActions()); 104 browser_actions_bar_->NumberOfBrowserActions());
109 EXPECT_TRUE(browser_actions_bar_->HasIcon(i)); 105 EXPECT_TRUE(browser_actions_bar_->HasIcon(i));
110 EXPECT_EQ(static_cast<int>(i + 1), 106 EXPECT_EQ(static_cast<int>(i + 1),
111 browser_actions_bar()->VisibleBrowserActions()); 107 browser_actions_bar()->VisibleBrowserActions());
112 } 108 }
113 } 109 }
114 110
115 // BrowserActionsBarLegacyBrowserTest:
116
117 BrowserActionsBarLegacyBrowserTest::BrowserActionsBarLegacyBrowserTest() {
118 }
119
120 BrowserActionsBarLegacyBrowserTest::~BrowserActionsBarLegacyBrowserTest() {
121 }
122
123 void BrowserActionsBarLegacyBrowserTest::SetUpCommandLine(
124 base::CommandLine* command_line) {
125 BrowserActionsBarBrowserTest::SetUpCommandLine(command_line);
126 // Override to force the redesign. Completely clear the previous override
127 // first, since doing so resets the value of the switch.
128 override_redesign_.reset();
129 override_redesign_.reset(new extensions::FeatureSwitch::ScopedOverride(
130 extensions::FeatureSwitch::extension_action_redesign(), false));
131 }
132
133 // Test the basic functionality. 111 // Test the basic functionality.
134 IN_PROC_BROWSER_TEST_F(BrowserActionsBarLegacyBrowserTest, Basic) { 112 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, Basic) {
135 // Load an extension with no browser action. 113 // Load an extension with no browser action.
136 extension_service()->AddExtension(CreateExtension("alpha", false).get()); 114 extension_service()->AddExtension(CreateExtension("alpha", false).get());
137 // This extension should not be in the model (has no browser action). 115 // This extension should be present in the model (it will receive a
138 EXPECT_EQ(0, browser_actions_bar()->NumberOfBrowserActions()); 116 // synthesized action).
139
140 // Load an extension with a browser action.
141 extension_service()->AddExtension(CreateExtension("beta", true).get());
142 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions()); 117 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions());
143 EXPECT_TRUE(browser_actions_bar()->HasIcon(0)); 118 EXPECT_TRUE(browser_actions_bar()->HasIcon(0));
144 119
145 // Unload the extension. 120 // Load an extension with a browser action; it will also be in the toolbar.
146 std::string id = browser_actions_bar()->GetExtensionId(0); 121 extension_service()->AddExtension(CreateExtension("beta", true).get());
122 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions());
123 EXPECT_TRUE(browser_actions_bar()->HasIcon(1));
124
125 // Unload the extension; the icon should be removed.
126 std::string id = browser_actions_bar()->GetExtensionId(1);
147 UnloadExtension(id); 127 UnloadExtension(id);
148 EXPECT_EQ(0, browser_actions_bar()->NumberOfBrowserActions()); 128 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions());
149 } 129 }
150 130
151 // Test moving various browser actions. This is not to check the logic of the 131 // Test moving various browser actions. This is not to check the logic of the
152 // move (that's in the toolbar model tests), but just to check our ui. 132 // move (that's in the toolbar model tests), but just to check our ui.
153 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, MoveBrowserActions) { 133 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, MoveBrowserActions) {
154 LoadExtensions(); 134 LoadExtensions();
155 135
156 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); 136 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions());
157 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); 137 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions());
158 138
(...skipping 14 matching lines...) Expand all
173 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(1)); 153 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(1));
174 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(2)); 154 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(2));
175 155
176 // Move B to middle position. Order is C B A. 156 // Move B to middle position. Order is C B A.
177 toolbar_model()->MoveActionIcon(extension_b()->id(), 1); 157 toolbar_model()->MoveActionIcon(extension_b()->id(), 1);
178 EXPECT_EQ(extension_c()->id(), browser_actions_bar()->GetExtensionId(0)); 158 EXPECT_EQ(extension_c()->id(), browser_actions_bar()->GetExtensionId(0));
179 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); 159 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1));
180 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(2)); 160 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(2));
181 } 161 }
182 162
183 // Test that explicitly hiding an extension action results in it disappearing
184 // from the browser actions bar.
185 IN_PROC_BROWSER_TEST_F(BrowserActionsBarLegacyBrowserTest, ForceHide) {
186 LoadExtensions();
187
188 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions());
189 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0));
190 // Force hide one of the extensions' browser action.
191 extensions::ExtensionActionAPI::Get(browser()->profile())->
192 SetBrowserActionVisibility(extension_a()->id(), false);
193 // The browser action for Extension A should be removed.
194 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions());
195 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(0));
196 }
197
198 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, Visibility) { 163 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, Visibility) {
199 LoadExtensions(); 164 LoadExtensions();
200 165
201 // Change container to show only one action, rest in overflow: A, [B, C]. 166 // Change container to show only one action, rest in overflow: A, [B, C].
202 toolbar_model()->SetVisibleIconCount(1); 167 toolbar_model()->SetVisibleIconCount(1);
203 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); 168 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions());
204 169
205 // Disable extension A (should disappear). State becomes: B [C]. 170 // Disable extension A (should disappear). State becomes: B [C].
206 DisableExtension(extension_a()->id()); 171 DisableExtension(extension_a()->id());
207 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); 172 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions());
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 ASSERT_EQ(1u, actions.size()); 635 ASSERT_EQ(1u, actions.size());
671 gfx::Image icon = actions[0]->GetIcon( 636 gfx::Image icon = actions[0]->GetIcon(
672 second_browser->tab_strip_model()->GetActiveWebContents(), 637 second_browser->tab_strip_model()->GetActiveWebContents(),
673 gfx::Size(ToolbarActionsBar::IconWidth(false), 638 gfx::Size(ToolbarActionsBar::IconWidth(false),
674 ToolbarActionsBar::IconHeight())); 639 ToolbarActionsBar::IconHeight()));
675 const gfx::ImageSkia* skia = icon.ToImageSkia(); 640 const gfx::ImageSkia* skia = icon.ToImageSkia();
676 ASSERT_TRUE(skia); 641 ASSERT_TRUE(skia);
677 // Force the image to try and load a representation. 642 // Force the image to try and load a representation.
678 skia->GetRepresentation(2.0); 643 skia->GetRepresentation(2.0);
679 } 644 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/toolbar/browser_actions_bar_browsertest.h ('k') | chrome/browser/ui/toolbar/toolbar_actions_bar.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698