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

Side by Side Diff: ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm

Issue 2948463002: [iOS Clean] Removed old overlay implementation.
Patch Set: 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.h" 5 #import "ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/mac/foundation_util.h" 9 #include "base/mac/foundation_util.h"
10 #include "base/strings/sys_string_conversions.h" 10 #include "base/strings/sys_string_conversions.h"
11 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" 11 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
12 #import "ios/chrome/browser/web_state_list/web_state_list.h" 12 #import "ios/chrome/browser/web_state_list/web_state_list.h"
13 #import "ios/clean/chrome/browser/ui/commands/context_menu_commands.h" 13 #import "ios/clean/chrome/browser/ui/commands/context_menu_commands.h"
14 #import "ios/clean/chrome/browser/ui/commands/settings_commands.h" 14 #import "ios/clean/chrome/browser/ui/commands/settings_commands.h"
15 #import "ios/clean/chrome/browser/ui/commands/tab_grid_commands.h" 15 #import "ios/clean/chrome/browser/ui/commands/tab_grid_commands.h"
16 #import "ios/clean/chrome/browser/ui/commands/tools_menu_commands.h" 16 #import "ios/clean/chrome/browser/ui/commands/tools_menu_commands.h"
17 #import "ios/clean/chrome/browser/ui/context_menu/context_menu_context_impl.h" 17 #import "ios/clean/chrome/browser/ui/context_menu/context_menu_context_impl.h"
18 #import "ios/clean/chrome/browser/ui/overlays/overlay_service.h"
19 #import "ios/clean/chrome/browser/ui/overlays/overlay_service_factory.h"
18 #import "ios/clean/chrome/browser/ui/settings/settings_coordinator.h" 20 #import "ios/clean/chrome/browser/ui/settings/settings_coordinator.h"
19 #import "ios/clean/chrome/browser/ui/tab/tab_coordinator.h" 21 #import "ios/clean/chrome/browser/ui/tab/tab_coordinator.h"
20 #import "ios/clean/chrome/browser/ui/tab_grid/tab_grid_mediator.h" 22 #import "ios/clean/chrome/browser/ui/tab_grid/tab_grid_mediator.h"
21 #import "ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.h" 23 #import "ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.h"
22 #import "ios/clean/chrome/browser/ui/tools/tools_coordinator.h" 24 #import "ios/clean/chrome/browser/ui/tools/tools_coordinator.h"
23 #import "ios/shared/chrome/browser/ui/browser_list/browser.h" 25 #import "ios/shared/chrome/browser/ui/browser_list/browser.h"
24 #import "ios/shared/chrome/browser/ui/commands/command_dispatcher.h" 26 #import "ios/shared/chrome/browser/ui/commands/command_dispatcher.h"
25 #import "ios/shared/chrome/browser/ui/coordinators/browser_coordinator+internal. h" 27 #import "ios/shared/chrome/browser/ui/coordinators/browser_coordinator+internal. h"
26 #import "ios/shared/chrome/browser/ui/tools_menu/tools_menu_configuration.h" 28 #import "ios/shared/chrome/browser/ui/tools_menu/tools_menu_configuration.h"
27 #import "ios/web/public/navigation_manager.h" 29 #import "ios/web/public/navigation_manager.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 [self openURL:net::NSURLWithGURL(contextImpl.imageURL)]; 124 [self openURL:net::NSURLWithGURL(contextImpl.imageURL)];
123 } 125 }
124 126
125 #pragma mark - SettingsCommands 127 #pragma mark - SettingsCommands
126 128
127 - (void)showSettings { 129 - (void)showSettings {
128 CommandDispatcher* dispatcher = self.browser->dispatcher(); 130 CommandDispatcher* dispatcher = self.browser->dispatcher();
129 [dispatcher startDispatchingToTarget:self 131 [dispatcher startDispatchingToTarget:self
130 forSelector:@selector(closeSettings)]; 132 forSelector:@selector(closeSettings)];
131 SettingsCoordinator* settingsCoordinator = [[SettingsCoordinator alloc] init]; 133 SettingsCoordinator* settingsCoordinator = [[SettingsCoordinator alloc] init];
132 [self addOverlayCoordinator:settingsCoordinator]; 134 OverlayServiceFactory::GetInstance()
marq (ping after 24h) 2017/06/21 09:53:19 This is kind of an unwieldy invocation; can't it b
kkhorimoto 2017/06/23 06:22:39 Done.
135 ->GetForBrowserState(self.browser->browser_state())
136 ->ShowOverlayForBrowser(settingsCoordinator, self, self.browser);
133 self.settingsCoordinator = settingsCoordinator; 137 self.settingsCoordinator = settingsCoordinator;
134 [settingsCoordinator start];
135 } 138 }
136 139
137 - (void)closeSettings { 140 - (void)closeSettings {
138 CommandDispatcher* dispatcher = self.browser->dispatcher(); 141 CommandDispatcher* dispatcher = self.browser->dispatcher();
139 [dispatcher stopDispatchingForSelector:@selector(closeSettings)]; 142 [dispatcher stopDispatchingForSelector:@selector(closeSettings)];
140 [self.settingsCoordinator stop]; 143 [self.settingsCoordinator stop];
141 [self.settingsCoordinator.parentCoordinator 144 // Stopping an overlay added to the OverlayService removes it from the
142 removeChildCoordinator:self.settingsCoordinator]; 145 // overlay queue and schedules the next overlay to be shown. Since
143 // self.settingsCoordinator should be presumed to be nil after this point. 146 // self.settingsController is weak, it is presumed nil after this point.
144 } 147 }
145 148
146 #pragma mark - TabGridCommands 149 #pragma mark - TabGridCommands
147 150
148 - (void)showTabGridTabAtIndex:(int)index { 151 - (void)showTabGridTabAtIndex:(int)index {
152 if (index == self.webStateList.active_index())
153 return;
149 self.webStateList.ActivateWebStateAt(index); 154 self.webStateList.ActivateWebStateAt(index);
150 // PLACEHOLDER: The tab coordinator should be able to get the active webState 155 // PLACEHOLDER: The tab coordinator should be able to get the active webState
151 // on its own. 156 // on its own.
152 [self.activeTabCoordinator stop]; 157 [self.activeTabCoordinator stop];
153 [self removeChildCoordinator:self.activeTabCoordinator]; 158 [self removeChildCoordinator:self.activeTabCoordinator];
154 TabCoordinator* tabCoordinator = [[TabCoordinator alloc] init]; 159 TabCoordinator* tabCoordinator = [[TabCoordinator alloc] init];
155 self.activeTabCoordinator = tabCoordinator; 160 self.activeTabCoordinator = tabCoordinator;
156 tabCoordinator.webState = self.webStateList.GetWebStateAt(index); 161 tabCoordinator.webState = self.webStateList.GetWebStateAt(index);
157 tabCoordinator.presentationKey = 162 tabCoordinator.presentationKey =
158 [NSIndexPath indexPathForItem:index inSection:0]; 163 [NSIndexPath indexPathForItem:index inSection:0];
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 [self.toolsMenuCoordinator stop]; 206 [self.toolsMenuCoordinator stop];
202 [self removeChildCoordinator:self.toolsMenuCoordinator]; 207 [self removeChildCoordinator:self.toolsMenuCoordinator];
203 } 208 }
204 209
205 #pragma mark - URLOpening 210 #pragma mark - URLOpening
206 211
207 - (void)openURL:(NSURL*)URL { 212 - (void)openURL:(NSURL*)URL {
208 if (self.webStateList.active_index() == WebStateList::kInvalidIndex) { 213 if (self.webStateList.active_index() == WebStateList::kInvalidIndex) {
209 return; 214 return;
210 } 215 }
211 [self.overlayCoordinator stop]; 216 OverlayServiceFactory::GetInstance()
212 [self removeOverlayCoordinator]; 217 ->GetForBrowserState(self.browser->browser_state())
218 ->CancelOverlays();
213 web::WebState* activeWebState = self.webStateList.GetActiveWebState(); 219 web::WebState* activeWebState = self.webStateList.GetActiveWebState();
214 web::NavigationManager::WebLoadParams params(net::GURLWithNSURL(URL)); 220 web::NavigationManager::WebLoadParams params(net::GURLWithNSURL(URL));
215 params.transition_type = ui::PAGE_TRANSITION_LINK; 221 params.transition_type = ui::PAGE_TRANSITION_LINK;
216 activeWebState->GetNavigationManager()->LoadURLWithParams(params); 222 activeWebState->GetNavigationManager()->LoadURLWithParams(params);
217 if (!self.children.count) { 223 if (!self.children.count) {
218 [self showTabGridTabAtIndex:self.webStateList.active_index()]; 224 [self showTabGridTabAtIndex:self.webStateList.active_index()];
219 } 225 }
220 } 226 }
221 227
222 #pragma mark - PrivateMethods 228 #pragma mark - PrivateMethods
(...skipping 10 matching lines...) Expand all
233 startDispatchingToTarget:self 239 startDispatchingToTarget:self
234 forSelector:@selector(openContextMenuImageInNewTab:)]; 240 forSelector:@selector(openContextMenuImageInNewTab:)];
235 } 241 }
236 242
237 - (void)registerForSettingsCommands { 243 - (void)registerForSettingsCommands {
238 [self.browser->dispatcher() startDispatchingToTarget:self 244 [self.browser->dispatcher() startDispatchingToTarget:self
239 forSelector:@selector(showSettings)]; 245 forSelector:@selector(showSettings)];
240 } 246 }
241 247
242 - (void)registerForTabGridCommands { 248 - (void)registerForTabGridCommands {
243 [self.browser->dispatcher() startDispatchingToTarget:self
244 forSelector:@selector(showTabGrid)];
245 [self.browser->dispatcher() 249 [self.browser->dispatcher()
246 startDispatchingToTarget:self 250 startDispatchingToTarget:self
247 forSelector:@selector(showTabGridTabAtIndex:)]; 251 forProtocol:@protocol(TabGridCommands)];
248 [self.browser->dispatcher()
249 startDispatchingToTarget:self
250 forSelector:@selector(closeTabGridTabAtIndex:)];
251 [self.browser->dispatcher()
252 startDispatchingToTarget:self
253 forSelector:@selector(createAndShowNewTabInTabGrid)];
254 } 252 }
255 253
256 - (void)registerForToolsMenuCommands { 254 - (void)registerForToolsMenuCommands {
257 [self.browser->dispatcher() 255 [self.browser->dispatcher()
258 startDispatchingToTarget:self 256 startDispatchingToTarget:self
259 forSelector:@selector(showToolsMenu)]; 257 forSelector:@selector(showToolsMenu)];
260 [self.browser->dispatcher() 258 [self.browser->dispatcher()
261 startDispatchingToTarget:self 259 startDispatchingToTarget:self
262 forSelector:@selector(closeToolsMenu)]; 260 forSelector:@selector(closeToolsMenu)];
263 } 261 }
264 262
265 - (void)deRegisterFromToolsMenuCommands { 263 - (void)deRegisterFromToolsMenuCommands {
266 [self.browser->dispatcher() 264 [self.browser->dispatcher()
267 stopDispatchingForSelector:@selector(showToolsMenu)]; 265 stopDispatchingForSelector:@selector(showToolsMenu)];
268 [self.browser->dispatcher() 266 [self.browser->dispatcher()
269 stopDispatchingForSelector:@selector(closeToolsMenu)]; 267 stopDispatchingForSelector:@selector(closeToolsMenu)];
270 } 268 }
271 269
272 @end 270 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698