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

Side by Side Diff: chrome/browser/ui/cocoa/extensions/browser_action_button_interactive_uitest.mm

Issue 1508853008: chrome: rename more wrench/Wrench occurrencies to appMenu/AppMenu (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #import <Cocoa/Cocoa.h> 5 #import <Cocoa/Cocoa.h>
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/extensions/extension_action_test_util.h" 10 #include "chrome/browser/extensions/extension_action_test_util.h"
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 149
150 void TearDownOnMainThread() override { 150 void TearDownOnMainThread() override {
151 enable_redesign_.reset(); 151 enable_redesign_.reset();
152 ToolbarActionsBar::disable_animations_for_testing_ = false; 152 ToolbarActionsBar::disable_animations_for_testing_ = false;
153 ExtensionBrowserTest::TearDownOnMainThread(); 153 ExtensionBrowserTest::TearDownOnMainThread();
154 } 154 }
155 155
156 ToolbarController* toolbarController() { return toolbarController_; } 156 ToolbarController* toolbarController() { return toolbarController_; }
157 AppMenuController* appMenuController() { return appMenuController_; } 157 AppMenuController* appMenuController() { return appMenuController_; }
158 ToolbarActionsModel* model() { return model_; } 158 ToolbarActionsModel* model() { return model_; }
159 NSView* wrenchButton() { return [toolbarController_ wrenchButton]; } 159 NSView* appMenuButton() { return [toolbarController_ appMenuButton]; }
160 160
161 private: 161 private:
162 scoped_ptr<extensions::FeatureSwitch::ScopedOverride> enable_redesign_; 162 scoped_ptr<extensions::FeatureSwitch::ScopedOverride> enable_redesign_;
163 163
164 ToolbarController* toolbarController_ = nil; 164 ToolbarController* toolbarController_ = nil;
165 AppMenuController* appMenuController_ = nil; 165 AppMenuController* appMenuController_ = nil;
166 ToolbarActionsModel* model_ = nullptr; 166 ToolbarActionsModel* model_ = nullptr;
167 167
168 DISALLOW_COPY_AND_ASSIGN(BrowserActionButtonUiTest); 168 DISALLOW_COPY_AND_ASSIGN(BrowserActionButtonUiTest);
169 }; 169 };
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 256
257 // Reset the menu helper so we can use it again. 257 // Reset the menu helper so we can use it again.
258 [menuHelper setMenuOpened:NO]; 258 [menuHelper setMenuOpened:NO];
259 [menuHelper setVerify:base::Bind( 259 [menuHelper setVerify:base::Bind(
260 CheckActionIsPoppedOut, actionsController, actionButton)]; 260 CheckActionIsPoppedOut, actionsController, actionButton)];
261 261
262 // Shrink the visible count to be 0. This should hide the action button. 262 // Shrink the visible count to be 0. This should hide the action button.
263 model()->SetVisibleIconCount(0); 263 model()->SetVisibleIconCount(0);
264 EXPECT_EQ(nil, [actionButton superview]); 264 EXPECT_EQ(nil, [actionButton superview]);
265 265
266 // Move the mouse over the app button. 266 // Move the mouse over the app menu button.
267 MoveMouseToCenter(wrenchButton()); 267 MoveMouseToCenter(appMenuButton());
268 268
269 { 269 {
270 // No menu yet (on the browser action). 270 // No menu yet (on the browser action).
271 EXPECT_FALSE([menuHelper menuOpened]); 271 EXPECT_FALSE([menuHelper menuOpened]);
272 base::RunLoop runLoop; 272 base::RunLoop runLoop;
273 // Click on the app menu, and pass in a callback to continue the test in 273 // Click on the app menu, and pass in a callback to continue the test in
274 // ClickOnOverflowedAction (Due to the blocking nature of Cocoa menus, 274 // ClickOnOverflowedAction (Due to the blocking nature of Cocoa menus,
275 // passing in runLoop.QuitClosure() is not sufficient here.) 275 // passing in runLoop.QuitClosure() is not sufficient here.)
276 ui_controls::SendMouseEventsNotifyWhenDone( 276 ui_controls::SendMouseEventsNotifyWhenDone(
277 ui_controls::LEFT, ui_controls::DOWN | ui_controls::UP, 277 ui_controls::LEFT, ui_controls::DOWN | ui_controls::UP,
278 base::Bind(&ClickOnOverflowedAction, 278 base::Bind(&ClickOnOverflowedAction,
279 base::Unretained(toolbarController()), 279 base::Unretained(toolbarController()),
280 runLoop.QuitClosure())); 280 runLoop.QuitClosure()));
281 runLoop.Run(); 281 runLoop.Run();
282 // The menu should have opened. Note that the menu opened on the main bar's 282 // The menu should have opened. Note that the menu opened on the main bar's
283 // action button, not the overflow's. Since Cocoa doesn't support running 283 // action button, not the overflow's. Since Cocoa doesn't support running
284 // a menu-within-a-menu, this is what has to happen. 284 // a menu-within-a-menu, this is what has to happen.
285 EXPECT_TRUE([menuHelper menuOpened]); 285 EXPECT_TRUE([menuHelper menuOpened]);
286 } 286 }
287 } 287 }
288 288
289 // Checks the layout of the overflow bar in the app menu. 289 // Checks the layout of the overflow bar in the app menu.
290 void CheckWrenchMenuLayout(ToolbarController* toolbarController, 290 void CheckAppMenuLayout(ToolbarController* toolbarController,
291 int overflowStartIndex, 291 int overflowStartIndex,
292 const std::string& error_message, 292 const std::string& error_message,
293 const base::Closure& closure) { 293 const base::Closure& closure) {
294 AppMenuController* appMenuController = 294 AppMenuController* appMenuController =
295 [toolbarController appMenuController]; 295 [toolbarController appMenuController];
296 // The app menu should start as open (since that's where the overflowed 296 // The app menu should start as open (since that's where the overflowed
297 // actions are). 297 // actions are).
298 EXPECT_TRUE([appMenuController isMenuOpen]) << error_message; 298 EXPECT_TRUE([appMenuController isMenuOpen]) << error_message;
299 BrowserActionsController* overflowController = 299 BrowserActionsController* overflowController =
300 [appMenuController browserActionsController]; 300 [appMenuController browserActionsController];
301 ASSERT_TRUE(overflowController) << error_message; 301 ASSERT_TRUE(overflowController) << error_message;
302 302
303 ToolbarActionsBar* overflowBar = [overflowController toolbarActionsBar]; 303 ToolbarActionsBar* overflowBar = [overflowController toolbarActionsBar];
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 for (int i = 0; i < kNumExtensions; ++i) { 363 for (int i = 0; i < kNumExtensions; ++i) {
364 scoped_refptr<const extensions::Extension> extension = 364 scoped_refptr<const extensions::Extension> extension =
365 extensions::extension_action_test_util::CreateActionExtension( 365 extensions::extension_action_test_util::CreateActionExtension(
366 base::StringPrintf("extension%d", i), 366 base::StringPrintf("extension%d", i),
367 extensions::extension_action_test_util::BROWSER_ACTION); 367 extensions::extension_action_test_util::BROWSER_ACTION);
368 extension_service()->AddExtension(extension.get()); 368 extension_service()->AddExtension(extension.get());
369 } 369 }
370 ASSERT_EQ(kNumExtensions, static_cast<int>(model()->toolbar_items().size())); 370 ASSERT_EQ(kNumExtensions, static_cast<int>(model()->toolbar_items().size()));
371 371
372 // A helper function to open the app menu and call the check function. 372 // A helper function to open the app menu and call the check function.
373 auto resizeAndActivateWrench = [this](int visible_count, 373 auto resizeAndActivateAppMenu = [this](int visible_count,
374 const std::string& error_message) { 374 const std::string& error_message) {
375 model()->SetVisibleIconCount(kNumExtensions - visible_count); 375 model()->SetVisibleIconCount(kNumExtensions - visible_count);
376 MoveMouseToCenter(wrenchButton()); 376 MoveMouseToCenter(appMenuButton());
377 377
378 { 378 {
379 base::RunLoop runLoop; 379 base::RunLoop runLoop;
380 // Click on the app menu, and pass in a callback to continue the test in 380 // Click on the app menu, and pass in a callback to continue the test in
381 // CheckWrenchMenuLayout (due to the blocking nature of Cocoa menus, 381 // CheckAppMenuLayout (due to the blocking nature of Cocoa menus,
382 // passing in runLoop.QuitClosure() is not sufficient here.) 382 // passing in runLoop.QuitClosure() is not sufficient here.)
383 ui_controls::SendMouseEventsNotifyWhenDone( 383 ui_controls::SendMouseEventsNotifyWhenDone(
384 ui_controls::LEFT, ui_controls::DOWN | ui_controls::UP, 384 ui_controls::LEFT, ui_controls::DOWN | ui_controls::UP,
385 base::Bind(&CheckWrenchMenuLayout, 385 base::Bind(&CheckAppMenuLayout,
386 base::Unretained(toolbarController()), 386 base::Unretained(toolbarController()),
387 kNumExtensions - visible_count, 387 kNumExtensions - visible_count,
388 error_message, 388 error_message,
389 runLoop.QuitClosure())); 389 runLoop.QuitClosure()));
390 runLoop.Run(); 390 runLoop.Run();
391 } 391 }
392 }; 392 };
393 393
394 // Test the layout with gradually more extensions hidden. 394 // Test the layout with gradually more extensions hidden.
395 for (int i = 1; i <= kNumExtensions; ++i) 395 for (int i = 1; i <= kNumExtensions; ++i)
396 resizeAndActivateWrench(i, base::StringPrintf("Normal: %d", i)); 396 resizeAndActivateAppMenu(i, base::StringPrintf("Normal: %d", i));
397 397
398 // Adding a global error adjusts the app menu size, and has been known to mess 398 // Adding a global error adjusts the app menu size, and has been known to mess
399 // up the overflow container's bounds (crbug.com/511326). 399 // up the overflow container's bounds (crbug.com/511326).
400 GlobalErrorService* error_service = 400 GlobalErrorService* error_service =
401 GlobalErrorServiceFactory::GetForProfile(profile()); 401 GlobalErrorServiceFactory::GetForProfile(profile());
402 error_service->AddGlobalError(new MenuError()); 402 error_service->AddGlobalError(new MenuError());
403 403
404 // It's probably excessive to test every level of the overflow here. Test 404 // It's probably excessive to test every level of the overflow here. Test
405 // having all actions overflowed, some actions overflowed, and one action 405 // having all actions overflowed, some actions overflowed, and one action
406 // overflowed. 406 // overflowed.
407 resizeAndActivateWrench(kNumExtensions, "GlobalError Full"); 407 resizeAndActivateAppMenu(kNumExtensions, "GlobalError Full");
408 resizeAndActivateWrench(kNumExtensions / 2, "GlobalError Half"); 408 resizeAndActivateAppMenu(kNumExtensions / 2, "GlobalError Half");
409 resizeAndActivateWrench(1, "GlobalError One"); 409 resizeAndActivateAppMenu(1, "GlobalError One");
410 } 410 }
411 411
412 void AddExtensionWithMenuOpen(ToolbarController* toolbarController, 412 void AddExtensionWithMenuOpen(ToolbarController* toolbarController,
413 ExtensionService* extensionService, 413 ExtensionService* extensionService,
414 const base::Closure& closure) { 414 const base::Closure& closure) {
415 AppMenuController* appMenuController = 415 AppMenuController* appMenuController =
416 [toolbarController appMenuController]; 416 [toolbarController appMenuController];
417 417
418 scoped_refptr<const extensions::Extension> extension = 418 scoped_refptr<const extensions::Extension> extension =
419 extensions::extension_action_test_util::CreateActionExtension( 419 extensions::extension_action_test_util::CreateActionExtension(
(...skipping 16 matching lines...) Expand all
436 DISABLED_AddExtensionWithMenuOpen) { 436 DISABLED_AddExtensionWithMenuOpen) {
437 // Add an extension to ensure the overflow menu is present. 437 // Add an extension to ensure the overflow menu is present.
438 scoped_refptr<const extensions::Extension> extension = 438 scoped_refptr<const extensions::Extension> extension =
439 extensions::extension_action_test_util::CreateActionExtension( 439 extensions::extension_action_test_util::CreateActionExtension(
440 "original extension", 440 "original extension",
441 extensions::extension_action_test_util::BROWSER_ACTION); 441 extensions::extension_action_test_util::BROWSER_ACTION);
442 extension_service()->AddExtension(extension.get()); 442 extension_service()->AddExtension(extension.get());
443 ASSERT_EQ(1, static_cast<int>(model()->toolbar_items().size())); 443 ASSERT_EQ(1, static_cast<int>(model()->toolbar_items().size()));
444 model()->SetVisibleIconCount(0); 444 model()->SetVisibleIconCount(0);
445 445
446 MoveMouseToCenter(wrenchButton()); 446 MoveMouseToCenter(appMenuButton());
447 447
448 base::RunLoop runLoop; 448 base::RunLoop runLoop;
449 // Click on the app menu, and pass in a callback to continue the test in 449 // Click on the app menu, and pass in a callback to continue the test in
450 // AddExtensionWithMenuOpen (due to the blocking nature of Cocoa menus, 450 // AddExtensionWithMenuOpen (due to the blocking nature of Cocoa menus,
451 // passing in runLoop.QuitClosure() is not sufficient here.) 451 // passing in runLoop.QuitClosure() is not sufficient here.)
452 ui_controls::SendMouseEventsNotifyWhenDone( 452 ui_controls::SendMouseEventsNotifyWhenDone(
453 ui_controls::LEFT, ui_controls::DOWN | ui_controls::UP, 453 ui_controls::LEFT, ui_controls::DOWN | ui_controls::UP,
454 base::Bind(&AddExtensionWithMenuOpen, 454 base::Bind(&AddExtensionWithMenuOpen,
455 base::Unretained(toolbarController()), 455 base::Unretained(toolbarController()),
456 extension_service(), 456 extension_service(),
457 runLoop.QuitClosure())); 457 runLoop.QuitClosure()));
458 runLoop.Run(); 458 runLoop.Run();
459 } 459 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698