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

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

Issue 1241063003: Support Component Actions in the toolbar. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Switch GetComponentActionId to unix_hacker_style. Created 5 years, 4 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 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"
11 #include "chrome/browser/extensions/extension_browsertest.h" 11 #include "chrome/browser/extensions/extension_browsertest.h"
12 #include "chrome/browser/extensions/extension_service.h" 12 #include "chrome/browser/extensions/extension_service.h"
13 #include "chrome/browser/extensions/extension_toolbar_model.h"
14 #include "chrome/browser/ui/browser_window.h" 13 #include "chrome/browser/ui/browser_window.h"
15 #import "chrome/browser/ui/cocoa/browser_window_controller.h" 14 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
16 #import "chrome/browser/ui/cocoa/extensions/browser_action_button.h" 15 #import "chrome/browser/ui/cocoa/extensions/browser_action_button.h"
17 #import "chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h" 16 #import "chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h"
18 #import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h" 17 #import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
19 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" 18 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
20 #import "chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.h" 19 #import "chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.h"
21 #include "chrome/browser/ui/global_error/global_error.h" 20 #include "chrome/browser/ui/global_error/global_error.h"
22 #include "chrome/browser/ui/global_error/global_error_service.h" 21 #include "chrome/browser/ui/global_error/global_error_service.h"
23 #include "chrome/browser/ui/global_error/global_error_service_factory.h" 22 #include "chrome/browser/ui/global_error/global_error_service_factory.h"
24 #include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" 23 #include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
24 #include "chrome/browser/ui/toolbar/toolbar_actions_model.h"
25 #include "chrome/test/base/interactive_test_utils.h" 25 #include "chrome/test/base/interactive_test_utils.h"
26 #include "extensions/common/feature_switch.h" 26 #include "extensions/common/feature_switch.h"
27 #import "ui/events/test/cocoa_test_event_utils.h" 27 #import "ui/events/test/cocoa_test_event_utils.h"
28 28
29 namespace { 29 namespace {
30 30
31 const int kMenuPadding = 26; 31 const int kMenuPadding = 26;
32 32
33 // A simple error class that has a menu item. 33 // A simple error class that has a menu item.
34 class MenuError : public GlobalError { 34 class MenuError : public GlobalError {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 130
131 void SetUpOnMainThread() override { 131 void SetUpOnMainThread() override {
132 ExtensionBrowserTest::SetUpOnMainThread(); 132 ExtensionBrowserTest::SetUpOnMainThread();
133 toolbarController_ = 133 toolbarController_ =
134 [[BrowserWindowController 134 [[BrowserWindowController
135 browserWindowControllerForWindow:browser()-> 135 browserWindowControllerForWindow:browser()->
136 window()->GetNativeWindow()] 136 window()->GetNativeWindow()]
137 toolbarController]; 137 toolbarController];
138 ASSERT_TRUE(toolbarController_); 138 ASSERT_TRUE(toolbarController_);
139 wrenchMenuController_ = [toolbarController_ wrenchMenuController]; 139 wrenchMenuController_ = [toolbarController_ wrenchMenuController];
140 model_ = extensions::ExtensionToolbarModel::Get(profile()); 140 model_ = ToolbarActionsModel::Get(profile());
141 } 141 }
142 142
143 void SetUpCommandLine(base::CommandLine* command_line) override { 143 void SetUpCommandLine(base::CommandLine* command_line) override {
144 ExtensionBrowserTest::SetUpCommandLine(command_line); 144 ExtensionBrowserTest::SetUpCommandLine(command_line);
145 enable_redesign_.reset(new extensions::FeatureSwitch::ScopedOverride( 145 enable_redesign_.reset(new extensions::FeatureSwitch::ScopedOverride(
146 extensions::FeatureSwitch::extension_action_redesign(), true)); 146 extensions::FeatureSwitch::extension_action_redesign(), true));
147 ToolbarActionsBar::disable_animations_for_testing_ = true; 147 ToolbarActionsBar::disable_animations_for_testing_ = true;
148 } 148 }
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 WrenchMenuController* wrenchMenuController() { return wrenchMenuController_; } 157 WrenchMenuController* wrenchMenuController() { return wrenchMenuController_; }
158 extensions::ExtensionToolbarModel* model() { return model_; } 158 ToolbarActionsModel* model() { return model_; }
159 NSView* wrenchButton() { return [toolbarController_ wrenchButton]; } 159 NSView* wrenchButton() { return [toolbarController_ wrenchButton]; }
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 WrenchMenuController* wrenchMenuController_ = nil; 165 WrenchMenuController* wrenchMenuController_ = nil;
166 extensions::ExtensionToolbarModel* model_ = nullptr; 166 ToolbarActionsModel* model_ = nullptr;
167 167
168 DISALLOW_COPY_AND_ASSIGN(BrowserActionButtonUiTest); 168 DISALLOW_COPY_AND_ASSIGN(BrowserActionButtonUiTest);
169 }; 169 };
170 170
171 // Simulates a clicks on the action button in the overflow menu, and runs 171 // Simulates a clicks on the action button in the overflow menu, and runs
172 // |closure| upon completion. 172 // |closure| upon completion.
173 void ClickOnOverflowedAction(ToolbarController* toolbarController, 173 void ClickOnOverflowedAction(ToolbarController* toolbarController,
174 const base::Closure& closure) { 174 const base::Closure& closure) {
175 WrenchMenuController* wrenchMenuController = 175 WrenchMenuController* wrenchMenuController =
176 [toolbarController wrenchMenuController]; 176 [toolbarController wrenchMenuController];
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 GlobalErrorServiceFactory::GetForProfile(profile()); 400 GlobalErrorServiceFactory::GetForProfile(profile());
401 error_service->AddGlobalError(new MenuError()); 401 error_service->AddGlobalError(new MenuError());
402 402
403 // It's probably excessive to test every level of the overflow here. Test 403 // It's probably excessive to test every level of the overflow here. Test
404 // having all actions overflowed, some actions overflowed, and one action 404 // having all actions overflowed, some actions overflowed, and one action
405 // overflowed. 405 // overflowed.
406 resizeAndActivateWrench(kNumExtensions, "GlobalError Full"); 406 resizeAndActivateWrench(kNumExtensions, "GlobalError Full");
407 resizeAndActivateWrench(kNumExtensions / 2, "GlobalError Half"); 407 resizeAndActivateWrench(kNumExtensions / 2, "GlobalError Half");
408 resizeAndActivateWrench(1, "GlobalError One"); 408 resizeAndActivateWrench(1, "GlobalError One");
409 } 409 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698