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

Side by Side Diff: chrome/browser/ui/views/toolbar/browser_actions_container_browsertest.cc

Issue 640423003: Create a cross-platform browsertest for the browser actions bar (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Peter's Created 6 years, 2 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/views/toolbar/browser_actions_container.h" 5 #include "chrome/browser/ui/views/toolbar/browser_actions_container.h"
6 6
7 #include "chrome/browser/chrome_notification_types.h"
8 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h" 7 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
9 #include "chrome/browser/extensions/browser_action_test_util.h" 8 #include "chrome/browser/extensions/browser_action_test_util.h"
10 #include "chrome/browser/extensions/extension_browsertest.h"
11 #include "chrome/browser/extensions/extension_service.h" 9 #include "chrome/browser/extensions/extension_service.h"
12 #include "chrome/browser/extensions/extension_toolbar_model.h" 10 #include "chrome/browser/extensions/extension_toolbar_model.h"
13 #include "chrome/browser/ui/browser_window.h" 11 #include "chrome/browser/ui/browser_window.h"
14 #include "chrome/browser/ui/browser_window_testing_views.h" 12 #include "chrome/browser/ui/browser_window_testing_views.h"
13 #include "chrome/browser/ui/toolbar/browser_actions_bar_browsertest.h"
15 #include "chrome/browser/ui/views/extensions/browser_action_drag_data.h" 14 #include "chrome/browser/ui/views/extensions/browser_action_drag_data.h"
16 #include "chrome/browser/ui/views/frame/browser_view.h" 15 #include "chrome/browser/ui/views/frame/browser_view.h"
17 #include "chrome/browser/ui/views/toolbar/browser_action_view.h" 16 #include "chrome/browser/ui/views/toolbar/browser_action_view.h"
18 #include "chrome/browser/ui/views/toolbar/toolbar_view.h" 17 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
19 #include "components/crx_file/id_util.h"
20 #include "content/public/test/test_utils.h"
21 #include "extensions/browser/extension_prefs.h" 18 #include "extensions/browser/extension_prefs.h"
22 #include "extensions/browser/extension_registry.h"
23 #include "extensions/common/extension.h" 19 #include "extensions/common/extension.h"
24 #include "extensions/common/extension_builder.h"
25 #include "extensions/common/value_builder.h"
26 #include "ui/base/dragdrop/drop_target_event.h" 20 #include "ui/base/dragdrop/drop_target_event.h"
27 #include "ui/base/dragdrop/os_exchange_data.h" 21 #include "ui/base/dragdrop/os_exchange_data.h"
28 #include "ui/gfx/geometry/point.h" 22 #include "ui/gfx/geometry/point.h"
29 #include "ui/views/view.h" 23 #include "ui/views/view.h"
30 24
31 using extensions::Extension; 25 // TODO(devlin): Continue moving any tests that should be platform independent
32 26 // from this file to the crossplatform tests in
33 namespace { 27 // chrome/browser/ui/toolbar/browser_actions_bar_browsertest.cc.
34
35 scoped_refptr<const Extension> CreateExtension(const std::string& name,
36 bool has_browser_action) {
37 extensions::DictionaryBuilder manifest;
38 manifest.Set("name", name).
39 Set("description", "an extension").
40 Set("manifest_version", 2).
41 Set("version", "1.0");
42 if (has_browser_action)
43 manifest.Set("browser_action", extensions::DictionaryBuilder().Pass());
44 return extensions::ExtensionBuilder().
45 SetManifest(manifest.Pass()).
46 SetID(crx_file::id_util::GenerateId(name)).
47 Build();
48 }
49
50 } // namespace
51
52 class BrowserActionsContainerTest : public ExtensionBrowserTest {
53 public:
54 BrowserActionsContainerTest() {
55 }
56 virtual ~BrowserActionsContainerTest() {}
57
58 protected:
59 virtual void SetUpCommandLine(base::CommandLine* command_line) override {
60 BrowserActionsContainer::disable_animations_during_testing_ = true;
61 ExtensionBrowserTest::SetUpCommandLine(command_line);
62 }
63
64 virtual void SetUpOnMainThread() override {
65 ExtensionBrowserTest::SetUpOnMainThread();
66 browser_actions_bar_.reset(new BrowserActionTestUtil(browser()));
67 }
68
69 virtual void TearDownOnMainThread() override {
70 BrowserActionsContainer::disable_animations_during_testing_ = false;
71 ExtensionBrowserTest::TearDownOnMainThread();
72 }
73
74 BrowserActionTestUtil* browser_actions_bar() {
75 return browser_actions_bar_.get();
76 }
77
78 // Creates three different extensions, each with a browser action, and adds
79 // them to associated ExtensionService. These can then be accessed via
80 // extension_[a|b|c]().
81 void LoadExtensions();
82
83 const Extension* extension_a() const { return extension_a_.get(); }
84 const Extension* extension_b() const { return extension_b_.get(); }
85 const Extension* extension_c() const { return extension_c_.get(); }
86
87 private:
88 scoped_ptr<BrowserActionTestUtil> browser_actions_bar_;
89
90 // Extensions with browser actions used for testing.
91 scoped_refptr<const Extension> extension_a_;
92 scoped_refptr<const Extension> extension_b_;
93 scoped_refptr<const Extension> extension_c_;
94 };
95
96 void BrowserActionsContainerTest::LoadExtensions() {
97 // Create three extensions with browser actions.
98 extension_a_ = CreateExtension("alpha", true);
99 extension_b_ = CreateExtension("beta", true);
100 extension_c_ = CreateExtension("gamma", true);
101
102 const Extension* extensions[] =
103 { extension_a(), extension_b(), extension_c() };
104 extensions::ExtensionRegistry* registry =
105 extensions::ExtensionRegistry::Get(profile());
106 // Add each, and verify that it is both correctly added to the extension
107 // registry and to the browser actions container.
108 for (size_t i = 0; i < arraysize(extensions); ++i) {
109 extension_service()->AddExtension(extensions[i]);
110 EXPECT_TRUE(registry->enabled_extensions().GetByID(extensions[i]->id())) <<
111 extensions[i]->name();
112 EXPECT_EQ(static_cast<int>(i + 1),
113 browser_actions_bar_->NumberOfBrowserActions());
114 EXPECT_TRUE(browser_actions_bar_->HasIcon(i));
115 EXPECT_EQ(static_cast<int>(i + 1),
116 browser_actions_bar()->VisibleBrowserActions());
117 }
118 }
119
120 // Test the basic functionality.
121 IN_PROC_BROWSER_TEST_F(BrowserActionsContainerTest, Basic) {
122 // Load an extension with no browser action.
123 extension_service()->AddExtension(CreateExtension("alpha", false).get());
124 // This extension should not be in the model (has no browser action).
125 EXPECT_EQ(0, browser_actions_bar()->NumberOfBrowserActions());
126
127 // Load an extension with a browser action.
128 extension_service()->AddExtension(CreateExtension("beta", true).get());
129 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions());
130 EXPECT_TRUE(browser_actions_bar()->HasIcon(0));
131
132 // Unload the extension.
133 std::string id = browser_actions_bar()->GetExtensionId(0);
134 UnloadExtension(id);
135 EXPECT_EQ(0, browser_actions_bar()->NumberOfBrowserActions());
136 }
137 28
138 // Test moving various browser actions. This is not to check the logic of the 29 // Test moving various browser actions. This is not to check the logic of the
139 // move (that's in the toolbar model tests), but just to check our ui. 30 // move (that's in the toolbar model tests), but just to check our ui.
140 IN_PROC_BROWSER_TEST_F(BrowserActionsContainerTest, MoveBrowserActions) { 31 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, MoveBrowserActions) {
141 LoadExtensions(); 32 LoadExtensions();
142 33
143 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); 34 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions());
144 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); 35 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions());
145 36
146 extensions::ExtensionToolbarModel* model = 37 extensions::ExtensionToolbarModel* model =
147 extensions::ExtensionToolbarModel::Get(profile()); 38 extensions::ExtensionToolbarModel::Get(profile());
148 ASSERT_TRUE(model); 39 ASSERT_TRUE(model);
149 40
150 // Order is now A B C. 41 // Order is now A B C.
(...skipping 16 matching lines...) Expand all
167 // Move B to middle position. Order is C B A. 58 // Move B to middle position. Order is C B A.
168 model->MoveExtensionIcon(extension_b(), 1); 59 model->MoveExtensionIcon(extension_b(), 1);
169 EXPECT_EQ(extension_c()->id(), browser_actions_bar()->GetExtensionId(0)); 60 EXPECT_EQ(extension_c()->id(), browser_actions_bar()->GetExtensionId(0));
170 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); 61 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1));
171 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(2)); 62 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(2));
172 } 63 }
173 64
174 // Test that dragging browser actions works, and that dragging a browser action 65 // Test that dragging browser actions works, and that dragging a browser action
175 // from the overflow menu results in it "popping" out (growing the container 66 // from the overflow menu results in it "popping" out (growing the container
176 // size by 1), rather than just reordering the extensions. 67 // size by 1), rather than just reordering the extensions.
177 IN_PROC_BROWSER_TEST_F(BrowserActionsContainerTest, DragBrowserActions) { 68 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, DragBrowserActions) {
178 LoadExtensions(); 69 LoadExtensions();
179 70
180 // Sanity check: All extensions showing; order is A B C. 71 // Sanity check: All extensions showing; order is A B C.
181 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); 72 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions());
182 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); 73 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions());
183 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); 74 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0));
184 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); 75 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1));
185 EXPECT_EQ(extension_c()->id(), browser_actions_bar()->GetExtensionId(2)); 76 EXPECT_EQ(extension_c()->id(), browser_actions_bar()->GetExtensionId(2));
186 77
187 BrowserActionsContainer* container = 78 BrowserActionsContainer* container =
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 EXPECT_EQ(3u, container->VisibleBrowserActions()); 154 EXPECT_EQ(3u, container->VisibleBrowserActions());
264 EXPECT_FALSE(container->chevron()->visible()); 155 EXPECT_FALSE(container->chevron()->visible());
265 EXPECT_EQ(-1, model->GetVisibleIconCount()); 156 EXPECT_EQ(-1, model->GetVisibleIconCount());
266 157
267 // TODO(devlin): Ideally, we'd also have tests for dragging from the legacy 158 // TODO(devlin): Ideally, we'd also have tests for dragging from the legacy
268 // overflow menu (i.e., chevron) to the main bar, but this requires either 159 // overflow menu (i.e., chevron) to the main bar, but this requires either
269 // having a fairly complicated interactive UI test or finding a good way to 160 // having a fairly complicated interactive UI test or finding a good way to
270 // mock up the BrowserActionOverflowMenuController. 161 // mock up the BrowserActionOverflowMenuController.
271 } 162 }
272 163
273 IN_PROC_BROWSER_TEST_F(BrowserActionsContainerTest, Visibility) { 164 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, Visibility) {
274 LoadExtensions(); 165 LoadExtensions();
275 166
276 // Change container to show only one action, rest in overflow: A, [B, C]. 167 // Change container to show only one action, rest in overflow: A, [B, C].
277 browser_actions_bar()->SetIconVisibilityCount(1); 168 browser_actions_bar()->SetIconVisibilityCount(1);
278 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); 169 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions());
279 170
280 // Disable extension A (should disappear). State becomes: B [C]. 171 // Disable extension A (should disappear). State becomes: B [C].
281 DisableExtension(extension_a()->id()); 172 DisableExtension(extension_a()->id());
282 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions()); 173 EXPECT_EQ(2, browser_actions_bar()->NumberOfBrowserActions());
283 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions()); 174 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions());
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 // should be visible. 254 // should be visible.
364 EnableExtension(extension_c()->id()); 255 EnableExtension(extension_c()->id());
365 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions()); 256 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions());
366 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0)); 257 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0));
367 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1)); 258 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(1));
368 EXPECT_TRUE(container->chevron()->visible()); 259 EXPECT_TRUE(container->chevron()->visible());
369 } 260 }
370 261
371 // Test that changes performed in one container affect containers in other 262 // Test that changes performed in one container affect containers in other
372 // windows so that it is consistent. 263 // windows so that it is consistent.
373 IN_PROC_BROWSER_TEST_F(BrowserActionsContainerTest, MultipleWindows) { 264 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, MultipleWindows) {
374 LoadExtensions(); 265 LoadExtensions();
375 BrowserActionsContainer* first = 266 BrowserActionsContainer* first =
376 BrowserView::GetBrowserViewForBrowser(browser())->toolbar()-> 267 BrowserView::GetBrowserViewForBrowser(browser())->toolbar()->
377 browser_actions(); 268 browser_actions();
378 269
379 // Create a second browser. 270 // Create a second browser.
380 Browser* second_browser = new Browser( 271 Browser* second_browser = new Browser(
381 Browser::CreateParams(profile(), browser()->host_desktop_type())); 272 Browser::CreateParams(profile(), browser()->host_desktop_type()));
382 BrowserActionsContainer* second = 273 BrowserActionsContainer* second =
383 BrowserView::GetBrowserViewForBrowser(second_browser)->toolbar()-> 274 BrowserView::GetBrowserViewForBrowser(second_browser)->toolbar()->
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 EXPECT_EQ(extension_c(), first->GetBrowserActionViewAt(2u)->extension()); 309 EXPECT_EQ(extension_c(), first->GetBrowserActionViewAt(2u)->extension());
419 EXPECT_EQ(extension_c(), second->GetBrowserActionViewAt(2u)->extension()); 310 EXPECT_EQ(extension_c(), second->GetBrowserActionViewAt(2u)->extension());
420 311
421 // Next, simulate a resize by shrinking the container. 312 // Next, simulate a resize by shrinking the container.
422 first->OnResize(1, true); 313 first->OnResize(1, true);
423 // The first and second container should each have resized. 314 // The first and second container should each have resized.
424 EXPECT_EQ(2u, first->VisibleBrowserActions()); 315 EXPECT_EQ(2u, first->VisibleBrowserActions());
425 EXPECT_EQ(2u, second->VisibleBrowserActions()); 316 EXPECT_EQ(2u, second->VisibleBrowserActions());
426 } 317 }
427 318
428 IN_PROC_BROWSER_TEST_F(BrowserActionsContainerTest, ForceHide) { 319 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, ForceHide) {
429 // Load extension A (with a browser action). 320 LoadExtensions();
430 extension_service()->AddExtension(CreateExtension("alpha", true).get());
431 EXPECT_EQ(1, browser_actions_bar()->NumberOfBrowserActions());
432 EXPECT_TRUE(browser_actions_bar()->HasIcon(0));
433 EXPECT_EQ(1, browser_actions_bar()->VisibleBrowserActions());
434 std::string idA = browser_actions_bar()->GetExtensionId(0);
435 321
436 // Force hide this browser action. 322 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions());
323 EXPECT_EQ(extension_a()->id(), browser_actions_bar()->GetExtensionId(0));
324 // Force hide one of the extensions' browser action.
437 extensions::ExtensionActionAPI::SetBrowserActionVisibility( 325 extensions::ExtensionActionAPI::SetBrowserActionVisibility(
438 extensions::ExtensionPrefs::Get(browser()->profile()), idA, false); 326 extensions::ExtensionPrefs::Get(browser()->profile()),
439 EXPECT_EQ(0, browser_actions_bar()->VisibleBrowserActions()); 327 extension_a()->id(),
328 false);
329 // The browser action for Extension A should be removed.
330 EXPECT_EQ(2, browser_actions_bar()->VisibleBrowserActions());
331 EXPECT_EQ(extension_b()->id(), browser_actions_bar()->GetExtensionId(0));
440 } 332 }
441 333
442 // Test that the BrowserActionsContainer responds correctly when the underlying 334 // Test that the BrowserActionsContainer responds correctly when the underlying
443 // model enters highlight mode, and that browser actions are undraggable in 335 // model enters highlight mode, and that browser actions are undraggable in
444 // highlight mode. (Highlight mode itself it tested more thoroughly in the 336 // highlight mode. (Highlight mode itself it tested more thoroughly in the
445 // ExtensionToolbarModel browsertests). 337 // ExtensionToolbarModel browsertests).
446 IN_PROC_BROWSER_TEST_F(BrowserActionsContainerTest, HighlightMode) { 338 IN_PROC_BROWSER_TEST_F(BrowserActionsBarBrowserTest, HighlightMode) {
447 LoadExtensions(); 339 LoadExtensions();
448 340
449 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); 341 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions());
450 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); 342 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions());
451 343
452 BrowserActionsContainer* container = browser() 344 BrowserActionsContainer* container = browser()
453 ->window() 345 ->window()
454 ->GetBrowserWindowTesting() 346 ->GetBrowserWindowTesting()
455 ->GetToolbarView() 347 ->GetToolbarView()
456 ->browser_actions(); 348 ->browser_actions();
(...skipping 22 matching lines...) Expand all
479 371
480 // We should go back to normal after leaving highlight mode. 372 // We should go back to normal after leaving highlight mode.
481 model->StopHighlighting(); 373 model->StopHighlighting();
482 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions()); 374 EXPECT_EQ(3, browser_actions_bar()->VisibleBrowserActions());
483 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions()); 375 EXPECT_EQ(3, browser_actions_bar()->NumberOfBrowserActions());
484 action_view = container->GetBrowserActionViewAt(0); 376 action_view = container->GetBrowserActionViewAt(0);
485 EXPECT_TRUE(container->CanStartDragForView(action_view, point, point)); 377 EXPECT_TRUE(container->CanStartDragForView(action_view, point, point));
486 } 378 }
487 379
488 // Test the behavior of the overflow container for Extension Actions. 380 // Test the behavior of the overflow container for Extension Actions.
489 class BrowserActionsContainerOverflowTest : public BrowserActionsContainerTest { 381 class BrowserActionsContainerOverflowTest
382 : public BrowserActionsBarBrowserTest {
490 public: 383 public:
491 BrowserActionsContainerOverflowTest() : main_bar_(NULL), model_(NULL) { 384 BrowserActionsContainerOverflowTest() : main_bar_(NULL), model_(NULL) {
492 } 385 }
493 virtual ~BrowserActionsContainerOverflowTest() { 386 virtual ~BrowserActionsContainerOverflowTest() {
494 } 387 }
495 388
496 protected: 389 protected:
497 // Returns true if the order of the BrowserActionViews in |main_bar_| 390 // Returns true if the order of the BrowserActionViews in |main_bar_|
498 // and |overflow_bar_| match. 391 // and |overflow_bar_| match.
499 bool ViewOrdersMatch(); 392 bool ViewOrdersMatch();
(...skipping 25 matching lines...) Expand all
525 extensions::ExtensionToolbarModel* model_; 418 extensions::ExtensionToolbarModel* model_;
526 419
527 // Enable the feature redesign switch. 420 // Enable the feature redesign switch.
528 scoped_ptr<extensions::FeatureSwitch::ScopedOverride> enable_redesign_; 421 scoped_ptr<extensions::FeatureSwitch::ScopedOverride> enable_redesign_;
529 422
530 DISALLOW_COPY_AND_ASSIGN(BrowserActionsContainerOverflowTest); 423 DISALLOW_COPY_AND_ASSIGN(BrowserActionsContainerOverflowTest);
531 }; 424 };
532 425
533 void BrowserActionsContainerOverflowTest::SetUpCommandLine( 426 void BrowserActionsContainerOverflowTest::SetUpCommandLine(
534 base::CommandLine* command_line) { 427 base::CommandLine* command_line) {
535 BrowserActionsContainerTest::SetUpCommandLine(command_line); 428 BrowserActionsBarBrowserTest::SetUpCommandLine(command_line);
536 enable_redesign_.reset(new extensions::FeatureSwitch::ScopedOverride( 429 enable_redesign_.reset(new extensions::FeatureSwitch::ScopedOverride(
537 extensions::FeatureSwitch::extension_action_redesign(), 430 extensions::FeatureSwitch::extension_action_redesign(),
538 true)); 431 true));
539 } 432 }
540 433
541 void BrowserActionsContainerOverflowTest::SetUpOnMainThread() { 434 void BrowserActionsContainerOverflowTest::SetUpOnMainThread() {
542 BrowserActionsContainerTest::SetUpOnMainThread(); 435 BrowserActionsBarBrowserTest::SetUpOnMainThread();
543 main_bar_ = BrowserView::GetBrowserViewForBrowser(browser()) 436 main_bar_ = BrowserView::GetBrowserViewForBrowser(browser())
544 ->toolbar()->browser_actions(); 437 ->toolbar()->browser_actions();
545 overflow_bar_.reset(new BrowserActionsContainer(browser(), NULL, main_bar_)); 438 overflow_bar_.reset(new BrowserActionsContainer(browser(), NULL, main_bar_));
546 overflow_bar_->set_owned_by_client(); 439 overflow_bar_->set_owned_by_client();
547 model_ = extensions::ExtensionToolbarModel::Get(profile()); 440 model_ = extensions::ExtensionToolbarModel::Get(profile());
548 } 441 }
549 442
550 void BrowserActionsContainerOverflowTest::TearDownOnMainThread() { 443 void BrowserActionsContainerOverflowTest::TearDownOnMainThread() {
551 overflow_bar_.reset(); 444 overflow_bar_.reset();
552 enable_redesign_.reset(); 445 enable_redesign_.reset();
553 BrowserActionsContainerTest::TearDownOnMainThread(); 446 BrowserActionsBarBrowserTest::TearDownOnMainThread();
554 } 447 }
555 448
556 bool BrowserActionsContainerOverflowTest::ViewOrdersMatch() { 449 bool BrowserActionsContainerOverflowTest::ViewOrdersMatch() {
557 if (main_bar_->num_browser_actions() != 450 if (main_bar_->num_browser_actions() !=
558 overflow_bar_->num_browser_actions()) 451 overflow_bar_->num_browser_actions())
559 return false; 452 return false;
560 for (size_t i = 0; i < main_bar_->num_browser_actions(); ++i) { 453 for (size_t i = 0; i < main_bar_->num_browser_actions(); ++i) {
561 if (main_bar_->GetBrowserActionViewAt(i)->extension() != 454 if (main_bar_->GetBrowserActionViewAt(i)->extension() !=
562 overflow_bar_->GetBrowserActionViewAt(i)->extension()) 455 overflow_bar_->GetBrowserActionViewAt(i)->extension())
563 return false; 456 return false;
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 595
703 main_bar()->OnDragUpdated(target_event3); 596 main_bar()->OnDragUpdated(target_event3);
704 main_bar()->OnPerformDrop(target_event3); 597 main_bar()->OnPerformDrop(target_event3);
705 598
706 // Order should be A C B, and there should be no extensions in overflow. 599 // Order should be A C B, and there should be no extensions in overflow.
707 EXPECT_EQ(extension_a(), main_bar()->GetBrowserActionViewAt(0)->extension()); 600 EXPECT_EQ(extension_a(), main_bar()->GetBrowserActionViewAt(0)->extension());
708 EXPECT_EQ(extension_c(), main_bar()->GetBrowserActionViewAt(1)->extension()); 601 EXPECT_EQ(extension_c(), main_bar()->GetBrowserActionViewAt(1)->extension());
709 EXPECT_EQ(extension_b(), main_bar()->GetBrowserActionViewAt(2)->extension()); 602 EXPECT_EQ(extension_b(), main_bar()->GetBrowserActionViewAt(2)->extension());
710 VerifyVisibleCount(3u); 603 VerifyVisibleCount(3u);
711 } 604 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/toolbar/browser_action_test_util_views.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698