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

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

Issue 2311533002: [Extensions UI] Remove override of toolbar redesign in many tests (Closed)
Patch Set: mac Created 4 years, 3 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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 base::CommandLine* command_line) { 70 base::CommandLine* command_line) {
71 ExtensionBrowserTest::SetUpCommandLine(command_line); 71 ExtensionBrowserTest::SetUpCommandLine(command_line);
72 ToolbarActionsBar::disable_animations_for_testing_ = true; 72 ToolbarActionsBar::disable_animations_for_testing_ = true;
73 // We need to disable Media Router since having Media Router enabled will 73 // We need to disable Media Router since having Media Router enabled will
74 // result in auto-enabling the redesign and breaking the test. 74 // result in auto-enabling the redesign and breaking the test.
75 override_media_router_.reset(new extensions::FeatureSwitch::ScopedOverride( 75 override_media_router_.reset(new extensions::FeatureSwitch::ScopedOverride(
76 extensions::FeatureSwitch::media_router(), false)); 76 extensions::FeatureSwitch::media_router(), false));
77 // These tests are deliberately testing behavior without the redesign. 77 // These tests are deliberately testing behavior without the redesign.
78 // Forcefully disable it. 78 // Forcefully disable it.
79 override_redesign_.reset(new extensions::FeatureSwitch::ScopedOverride( 79 override_redesign_.reset(new extensions::FeatureSwitch::ScopedOverride(
80 extensions::FeatureSwitch::extension_action_redesign(), false)); 80 extensions::FeatureSwitch::extension_action_redesign(), true));
81 } 81 }
82 82
83 void BrowserActionsBarBrowserTest::SetUpOnMainThread() { 83 void BrowserActionsBarBrowserTest::SetUpOnMainThread() {
84 ExtensionBrowserTest::SetUpOnMainThread(); 84 ExtensionBrowserTest::SetUpOnMainThread();
85 browser_actions_bar_.reset(new BrowserActionTestUtil(browser())); 85 browser_actions_bar_.reset(new BrowserActionTestUtil(browser()));
86 toolbar_model_ = ToolbarActionsModel::Get(profile()); 86 toolbar_model_ = ToolbarActionsModel::Get(profile());
87 } 87 }
88 88
89 void BrowserActionsBarBrowserTest::TearDownOnMainThread() { 89 void BrowserActionsBarBrowserTest::TearDownOnMainThread() {
90 ToolbarActionsBar::disable_animations_for_testing_ = false; 90 ToolbarActionsBar::disable_animations_for_testing_ = false;
(...skipping 17 matching lines...) Expand all
108 EXPECT_TRUE(registry->enabled_extensions().GetByID(extensions[i]->id())) << 108 EXPECT_TRUE(registry->enabled_extensions().GetByID(extensions[i]->id())) <<
109 extensions[i]->name(); 109 extensions[i]->name();
110 EXPECT_EQ(static_cast<int>(i + 1), 110 EXPECT_EQ(static_cast<int>(i + 1),
111 browser_actions_bar_->NumberOfBrowserActions()); 111 browser_actions_bar_->NumberOfBrowserActions());
112 EXPECT_TRUE(browser_actions_bar_->HasIcon(i)); 112 EXPECT_TRUE(browser_actions_bar_->HasIcon(i));
113 EXPECT_EQ(static_cast<int>(i + 1), 113 EXPECT_EQ(static_cast<int>(i + 1),
114 browser_actions_bar()->VisibleBrowserActions()); 114 browser_actions_bar()->VisibleBrowserActions());
115 } 115 }
116 } 116 }
117 117
118 // BrowserActionsBarRedesignBrowserTest: 118 // BrowserActionsBarLegacyBrowserTest:
119 119
120 BrowserActionsBarRedesignBrowserTest::BrowserActionsBarRedesignBrowserTest() { 120 BrowserActionsBarLegacyBrowserTest::BrowserActionsBarLegacyBrowserTest() {
121 } 121 }
122 122
123 BrowserActionsBarRedesignBrowserTest::~BrowserActionsBarRedesignBrowserTest() { 123 BrowserActionsBarLegacyBrowserTest::~BrowserActionsBarLegacyBrowserTest() {
124 } 124 }
125 125
126 void BrowserActionsBarRedesignBrowserTest::SetUpCommandLine( 126 void BrowserActionsBarLegacyBrowserTest::SetUpCommandLine(
127 base::CommandLine* command_line) { 127 base::CommandLine* command_line) {
128 BrowserActionsBarBrowserTest::SetUpCommandLine(command_line); 128 BrowserActionsBarBrowserTest::SetUpCommandLine(command_line);
129 // Override to force the redesign. Completely clear the previous override 129 // Override to force the redesign. Completely clear the previous override
130 // first, since doing so resets the value of the switch. 130 // first, since doing so resets the value of the switch.
131 override_redesign_.reset(); 131 override_redesign_.reset();
132 override_redesign_.reset(new extensions::FeatureSwitch::ScopedOverride( 132 override_redesign_.reset(new extensions::FeatureSwitch::ScopedOverride(
133 extensions::FeatureSwitch::extension_action_redesign(), true)); 133 extensions::FeatureSwitch::extension_action_redesign(), false));
134 } 134 }
135 135
136 // Test the basic functionality. 136 // Test the basic functionality.
137 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, Basic) { 137 IN_PROC_BROWSER_TEST_F(BrowserActionsBarLegacyBrowserTest, Basic) {
138 // Load an extension with no browser action. 138 // Load an extension with no browser action.
139 extension_service()->AddExtension(CreateExtension("alpha", false).get()); 139 extension_service()->AddExtension(CreateExtension("alpha", false).get());
140 // This extension should not be in the model (has no browser action). 140 // This extension should not be in the model (has no browser action).
141 EXPECT_EQ(0, browser_actions_bar()->NumberOfBrowserActions()); 141 EXPECT_EQ(0, browser_actions_bar()->NumberOfBrowserActions());
142 142
143 // Load an extension with a browser action. 143 // Load an extension with a browser action.
144 extension_service()->AddExtension(CreateExtension("beta", true).get()); 144 extension_service()->AddExtension(CreateExtension("beta", true).get());
145 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions()); 145 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions());
146 EXPECT_TRUE(browser_actions_bar()->HasIcon(0)); 146 EXPECT_TRUE(browser_actions_bar()->HasIcon(0));
147 147
(...skipping 30 matching lines...) Expand all
178 178
179 // Move B to middle position. Order is C B A. 179 // Move B to middle position. Order is C B A.
180 toolbar_model()->MoveActionIcon(extension_b()->id(), 1); 180 toolbar_model()->MoveActionIcon(extension_b()->id(), 1);
181 EXPECT_EQ(extension_c()->id(), browser_actions_bar()->GetExtensionId(0)); 181 EXPECT_EQ(extension_c()->id(), browser_actions_bar()->GetExtensionId(0));
182 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); 182 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1));
183 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(2)); 183 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(2));
184 } 184 }
185 185
186 // Test that explicitly hiding an extension action results in it disappearing 186 // Test that explicitly hiding an extension action results in it disappearing
187 // from the browser actions bar. 187 // from the browser actions bar.
188 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, ForceHide) { 188 IN_PROC_BROWSER_TEST_F(BrowserActionsBarLegacyBrowserTest, ForceHide) {
189 LoadExtensions(); 189 LoadExtensions();
190 190
191 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); 191 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions());
192 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); 192 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0));
193 // Force hide one of the extensions' browser action. 193 // Force hide one of the extensions' browser action.
194 extensions::ExtensionActionAPI::Get(browser()->profile())-> 194 extensions::ExtensionActionAPI::Get(browser()->profile())->
195 SetBrowserActionVisibility(extension_a()->id(), false); 195 SetBrowserActionVisibility(extension_a()->id(), false);
196 // The browser action for Extension A should be removed. 196 // The browser action for Extension A should be removed.
197 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); 197 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions());
198 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(0)); 198 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(0));
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 // overflow. 288 // overflow.
289 EnableExtension(extension_c()->id()); 289 EnableExtension(extension_c()->id());
290 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); 290 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions());
291 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); 291 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0));
292 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); 292 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1));
293 EXPECT_TRUE(toolbar_actions_bar->NeedsOverflow()); 293 EXPECT_TRUE(toolbar_actions_bar->NeedsOverflow());
294 } 294 }
295 295
296 // Test that, with the toolbar action redesign, actions that want to run have 296 // Test that, with the toolbar action redesign, actions that want to run have
297 // the proper appearance. 297 // the proper appearance.
298 IN_PROC_BROWSER_TEST_F(BrowserActionsBarRedesignBrowserTest, 298 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest,
299 TestUiForActionsWantToRun) { 299 TestUiForActionsWantToRun) {
300 LoadExtensions(); 300 LoadExtensions();
301 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); 301 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions());
302 302
303 // Load an extension with a page action. 303 // Load an extension with a page action.
304 scoped_refptr<const extensions::Extension> page_action_extension = 304 scoped_refptr<const extensions::Extension> page_action_extension =
305 extensions::extension_action_test_util::CreateActionExtension( 305 extensions::extension_action_test_util::CreateActionExtension(
306 "page action", extensions::extension_action_test_util::PAGE_ACTION); 306 "page action", extensions::extension_action_test_util::PAGE_ACTION);
307 extension_service()->AddExtension(page_action_extension.get()); 307 extension_service()->AddExtension(page_action_extension.get());
308 308
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 extensions::NOTIFICATION_EXTENSION_HOST_DESTROYED, 405 extensions::NOTIFICATION_EXTENSION_HOST_DESTROYED,
406 content::NotificationService::AllSources()); 406 content::NotificationService::AllSources());
407 browser_actions_bar()->Press(1); 407 browser_actions_bar()->Press(1);
408 observer.Wait(); 408 observer.Wait();
409 EXPECT_FALSE(browser_actions_bar()->HasPopup()); 409 EXPECT_FALSE(browser_actions_bar()->HasPopup());
410 EXPECT_FALSE(first_controller->is_showing_popup()); 410 EXPECT_FALSE(first_controller->is_showing_popup());
411 EXPECT_FALSE(second_controller->is_showing_popup()); 411 EXPECT_FALSE(second_controller->is_showing_popup());
412 } 412 }
413 } 413 }
414 414
415 IN_PROC_BROWSER_TEST_F(BrowserActionsBarRedesignBrowserTest, 415 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest,
416 OverflowedBrowserActionPopupTest) { 416 OverflowedBrowserActionPopupTest) {
417 std::unique_ptr<BrowserActionTestUtil> overflow_bar = 417 std::unique_ptr<BrowserActionTestUtil> overflow_bar =
418 browser_actions_bar()->CreateOverflowBar(); 418 browser_actions_bar()->CreateOverflowBar();
419 419
420 // Load up two extensions that have browser action popups. 420 // Load up two extensions that have browser action popups.
421 base::FilePath data_dir = 421 base::FilePath data_dir =
422 test_data_dir_.AppendASCII("api_test").AppendASCII("browser_action"); 422 test_data_dir_.AppendASCII("api_test").AppendASCII("browser_action");
423 const extensions::Extension* first_extension = 423 const extensions::Extension* first_extension =
424 LoadExtension(data_dir.AppendASCII("open_popup")); 424 LoadExtension(data_dir.AppendASCII("open_popup"));
425 ASSERT_TRUE(first_extension); 425 ASSERT_TRUE(first_extension);
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 EXPECT_EQ(2, overflow_bar->VisibleBrowserActions()); 492 EXPECT_EQ(2, overflow_bar->VisibleBrowserActions());
493 base::RunLoop().RunUntilIdle(); 493 base::RunLoop().RunUntilIdle();
494 EXPECT_EQ(first_controller_main->GetId(), 494 EXPECT_EQ(first_controller_main->GetId(),
495 browser_actions_bar()->GetExtensionId(0)); 495 browser_actions_bar()->GetExtensionId(0));
496 EXPECT_EQ(second_controller_main->GetId(), 496 EXPECT_EQ(second_controller_main->GetId(),
497 browser_actions_bar()->GetExtensionId(1)); 497 browser_actions_bar()->GetExtensionId(1));
498 } 498 }
499 499
500 // Test removing an extension that has an popup showing. 500 // Test removing an extension that has an popup showing.
501 // Regression test for crbug.com/599467. 501 // Regression test for crbug.com/599467.
502 IN_PROC_BROWSER_TEST_F(BrowserActionsBarRedesignBrowserTest, 502 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest,
503 OverflowedBrowserActionPopupTestRemoval) { 503 OverflowedBrowserActionPopupTestRemoval) {
504 std::unique_ptr<BrowserActionTestUtil> overflow_bar = 504 std::unique_ptr<BrowserActionTestUtil> overflow_bar =
505 browser_actions_bar()->CreateOverflowBar(); 505 browser_actions_bar()->CreateOverflowBar();
506 506
507 // Install an extension and shrink the visible count to zero so the extension 507 // Install an extension and shrink the visible count to zero so the extension
508 // is overflowed. 508 // is overflowed.
509 base::FilePath data_dir = 509 base::FilePath data_dir =
510 test_data_dir_.AppendASCII("api_test").AppendASCII("browser_action"); 510 test_data_dir_.AppendASCII("api_test").AppendASCII("browser_action");
511 const extensions::Extension* extension = 511 const extensions::Extension* extension =
512 LoadExtension(data_dir.AppendASCII("open_popup")); 512 LoadExtension(data_dir.AppendASCII("open_popup"));
(...skipping 19 matching lines...) Expand all
532 extensions::UnloadedExtensionInfo::REASON_UNINSTALL); 532 extensions::UnloadedExtensionInfo::REASON_UNINSTALL);
533 observer.Wait(); 533 observer.Wait();
534 } 534 }
535 535
536 EXPECT_EQ(0, browser_actions_bar()->VisibleBrowserActions()); 536 EXPECT_EQ(0, browser_actions_bar()->VisibleBrowserActions());
537 EXPECT_EQ(0, overflow_bar->VisibleBrowserActions()); 537 EXPECT_EQ(0, overflow_bar->VisibleBrowserActions());
538 EXPECT_EQ(0u, toolbar_model()->toolbar_items().size()); 538 EXPECT_EQ(0u, toolbar_model()->toolbar_items().size());
539 } 539 }
540 540
541 // Test that page action popups work with the toolbar redesign. 541 // Test that page action popups work with the toolbar redesign.
542 IN_PROC_BROWSER_TEST_F(BrowserActionsBarRedesignBrowserTest, 542 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest,
543 PageActionPopupsTest) { 543 PageActionPopupsTest) {
544 ExtensionTestMessageListener listener("ready", false); 544 ExtensionTestMessageListener listener("ready", false);
545 const extensions::Extension* page_action_extension = 545 const extensions::Extension* page_action_extension =
546 LoadExtension(test_data_dir_.AppendASCII("trigger_actions"). 546 LoadExtension(test_data_dir_.AppendASCII("trigger_actions").
547 AppendASCII("page_action_popup")); 547 AppendASCII("page_action_popup"));
548 ASSERT_TRUE(page_action_extension); 548 ASSERT_TRUE(page_action_extension);
549 listener.WaitUntilSatisfied(); 549 listener.WaitUntilSatisfied();
550 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); 550 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions());
551 EXPECT_EQ(page_action_extension->id(), 551 EXPECT_EQ(page_action_extension->id(),
552 browser_actions_bar()->GetExtensionId(0)); 552 browser_actions_bar()->GetExtensionId(0));
553 browser_actions_bar()->Press(0); 553 browser_actions_bar()->Press(0);
554 base::RunLoop().RunUntilIdle(); 554 base::RunLoop().RunUntilIdle();
555 EXPECT_TRUE(browser_actions_bar()->HasPopup()); 555 EXPECT_TRUE(browser_actions_bar()->HasPopup());
556 // Cleanup the popup (to avoid having windows open at tear down). 556 // Cleanup the popup (to avoid having windows open at tear down).
557 browser_actions_bar()->HidePopup(); 557 browser_actions_bar()->HidePopup();
558 content::RunAllBlockingPoolTasksUntilIdle(); 558 content::RunAllBlockingPoolTasksUntilIdle();
559 EXPECT_FALSE(browser_actions_bar()->HasPopup()); 559 EXPECT_FALSE(browser_actions_bar()->HasPopup());
560 } 560 }
561 561
562 // Test removing an action while it is popped out. 562 // Test removing an action while it is popped out.
563 IN_PROC_BROWSER_TEST_F(BrowserActionsBarRedesignBrowserTest, 563 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, RemovePoppedOutAction) {
564 RemovePoppedOutAction) {
565 // First, load up three separate extensions and reduce the visible count to 564 // First, load up three separate extensions and reduce the visible count to
566 // one (so that two are in the overflow). 565 // one (so that two are in the overflow).
567 scoped_refptr<const extensions::Extension> extension1 = 566 scoped_refptr<const extensions::Extension> extension1 =
568 extensions::extension_action_test_util::CreateActionExtension( 567 extensions::extension_action_test_util::CreateActionExtension(
569 "extension1", extensions::extension_action_test_util::BROWSER_ACTION); 568 "extension1", extensions::extension_action_test_util::BROWSER_ACTION);
570 extension_service()->AddExtension(extension1.get()); 569 extension_service()->AddExtension(extension1.get());
571 scoped_refptr<const extensions::Extension> extension2 = 570 scoped_refptr<const extensions::Extension> extension2 =
572 extensions::extension_action_test_util::CreateActionExtension( 571 extensions::extension_action_test_util::CreateActionExtension(
573 "extension2", extensions::extension_action_test_util::BROWSER_ACTION); 572 "extension2", extensions::extension_action_test_util::BROWSER_ACTION);
574 extension_service()->AddExtension(extension2.get()); 573 extension_service()->AddExtension(extension2.get());
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); 633 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions());
635 ASSERT_TRUE(toolbar_actions_bar->popped_out_action()); 634 ASSERT_TRUE(toolbar_actions_bar->popped_out_action());
636 EXPECT_EQ(extension3->id(), 635 EXPECT_EQ(extension3->id(),
637 toolbar_actions_bar->popped_out_action()->GetId()); 636 toolbar_actions_bar->popped_out_action()->GetId());
638 extension_service()->UnloadExtension( 637 extension_service()->UnloadExtension(
639 extension3->id(), extensions::UnloadedExtensionInfo::REASON_DISABLE); 638 extension3->id(), extensions::UnloadedExtensionInfo::REASON_DISABLE);
640 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); 639 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions());
641 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions()); 640 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions());
642 EXPECT_FALSE(toolbar_actions_bar->popped_out_action()); 641 EXPECT_FALSE(toolbar_actions_bar->popped_out_action());
643 } 642 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/toolbar/browser_actions_bar_browsertest.h ('k') | chrome/browser/ui/toolbar/toolbar_actions_bar_unittest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698