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

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: rebase & Mark's comments Created 3 years, 5 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/overlay_service/browser_coordinator+overlay _support.h"
19 #import "ios/clean/chrome/browser/ui/overlay_service/overlay_service.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 self.overlayService->ShowOverlayForBrowser(settingsCoordinator, self,
135 self.browser);
133 self.settingsCoordinator = settingsCoordinator; 136 self.settingsCoordinator = settingsCoordinator;
134 [settingsCoordinator start];
135 } 137 }
136 138
137 - (void)closeSettings { 139 - (void)closeSettings {
138 CommandDispatcher* dispatcher = self.browser->dispatcher(); 140 CommandDispatcher* dispatcher = self.browser->dispatcher();
139 [dispatcher stopDispatchingForSelector:@selector(closeSettings)]; 141 [dispatcher stopDispatchingForSelector:@selector(closeSettings)];
140 [self.settingsCoordinator stop]; 142 [self.settingsCoordinator stop];
141 [self.settingsCoordinator.parentCoordinator 143 // Stopping an overlay added to the OverlayService removes it from the
142 removeChildCoordinator:self.settingsCoordinator]; 144 // overlay queue and schedules the next overlay to be shown. Since
143 // self.settingsCoordinator should be presumed to be nil after this point. 145 // self.settingsController is weak, it is presumed nil after this point.
144 } 146 }
145 147
146 #pragma mark - TabGridCommands 148 #pragma mark - TabGridCommands
147 149
148 - (void)showTabGridTabAtIndex:(int)index { 150 - (void)showTabGridTabAtIndex:(int)index {
151 if (index == self.webStateList.active_index())
152 return;
149 self.webStateList.ActivateWebStateAt(index); 153 self.webStateList.ActivateWebStateAt(index);
150 // PLACEHOLDER: The tab coordinator should be able to get the active webState 154 // PLACEHOLDER: The tab coordinator should be able to get the active webState
151 // on its own. 155 // on its own.
152 [self.activeTabCoordinator stop]; 156 [self.activeTabCoordinator stop];
153 [self removeChildCoordinator:self.activeTabCoordinator]; 157 [self removeChildCoordinator:self.activeTabCoordinator];
154 TabCoordinator* tabCoordinator = [[TabCoordinator alloc] init]; 158 TabCoordinator* tabCoordinator = [[TabCoordinator alloc] init];
155 self.activeTabCoordinator = tabCoordinator; 159 self.activeTabCoordinator = tabCoordinator;
156 tabCoordinator.webState = self.webStateList.GetWebStateAt(index); 160 tabCoordinator.webState = self.webStateList.GetWebStateAt(index);
157 tabCoordinator.presentationKey = 161 tabCoordinator.presentationKey =
158 [NSIndexPath indexPathForItem:index inSection:0]; 162 [NSIndexPath indexPathForItem:index inSection:0];
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 [self.toolsMenuCoordinator stop]; 205 [self.toolsMenuCoordinator stop];
202 [self removeChildCoordinator:self.toolsMenuCoordinator]; 206 [self removeChildCoordinator:self.toolsMenuCoordinator];
203 } 207 }
204 208
205 #pragma mark - URLOpening 209 #pragma mark - URLOpening
206 210
207 - (void)openURL:(NSURL*)URL { 211 - (void)openURL:(NSURL*)URL {
208 if (self.webStateList.active_index() == WebStateList::kInvalidIndex) { 212 if (self.webStateList.active_index() == WebStateList::kInvalidIndex) {
209 return; 213 return;
210 } 214 }
211 [self.overlayCoordinator stop]; 215 self.overlayService->CancelOverlays();
212 [self removeOverlayCoordinator];
213 web::WebState* activeWebState = self.webStateList.GetActiveWebState(); 216 web::WebState* activeWebState = self.webStateList.GetActiveWebState();
214 web::NavigationManager::WebLoadParams params(net::GURLWithNSURL(URL)); 217 web::NavigationManager::WebLoadParams params(net::GURLWithNSURL(URL));
215 params.transition_type = ui::PAGE_TRANSITION_LINK; 218 params.transition_type = ui::PAGE_TRANSITION_LINK;
216 activeWebState->GetNavigationManager()->LoadURLWithParams(params); 219 activeWebState->GetNavigationManager()->LoadURLWithParams(params);
217 if (!self.children.count) { 220 if (!self.children.count) {
218 [self showTabGridTabAtIndex:self.webStateList.active_index()]; 221 [self showTabGridTabAtIndex:self.webStateList.active_index()];
219 } 222 }
220 } 223 }
221 224
222 #pragma mark - PrivateMethods 225 #pragma mark - PrivateMethods
(...skipping 10 matching lines...) Expand all
233 startDispatchingToTarget:self 236 startDispatchingToTarget:self
234 forSelector:@selector(openContextMenuImageInNewTab:)]; 237 forSelector:@selector(openContextMenuImageInNewTab:)];
235 } 238 }
236 239
237 - (void)registerForSettingsCommands { 240 - (void)registerForSettingsCommands {
238 [self.browser->dispatcher() startDispatchingToTarget:self 241 [self.browser->dispatcher() startDispatchingToTarget:self
239 forSelector:@selector(showSettings)]; 242 forSelector:@selector(showSettings)];
240 } 243 }
241 244
242 - (void)registerForTabGridCommands { 245 - (void)registerForTabGridCommands {
243 [self.browser->dispatcher() startDispatchingToTarget:self
244 forSelector:@selector(showTabGrid)];
245 [self.browser->dispatcher() 246 [self.browser->dispatcher()
246 startDispatchingToTarget:self 247 startDispatchingToTarget:self
247 forSelector:@selector(showTabGridTabAtIndex:)]; 248 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 } 249 }
255 250
256 - (void)registerForToolsMenuCommands { 251 - (void)registerForToolsMenuCommands {
257 [self.browser->dispatcher() 252 [self.browser->dispatcher()
258 startDispatchingToTarget:self 253 startDispatchingToTarget:self
259 forSelector:@selector(showToolsMenu)]; 254 forSelector:@selector(showToolsMenu)];
260 [self.browser->dispatcher() 255 [self.browser->dispatcher()
261 startDispatchingToTarget:self 256 startDispatchingToTarget:self
262 forSelector:@selector(closeToolsMenu)]; 257 forSelector:@selector(closeToolsMenu)];
263 } 258 }
264 259
265 - (void)deRegisterFromToolsMenuCommands { 260 - (void)deRegisterFromToolsMenuCommands {
266 [self.browser->dispatcher() 261 [self.browser->dispatcher()
267 stopDispatchingForSelector:@selector(showToolsMenu)]; 262 stopDispatchingForSelector:@selector(showToolsMenu)];
268 [self.browser->dispatcher() 263 [self.browser->dispatcher()
269 stopDispatchingForSelector:@selector(closeToolsMenu)]; 264 stopDispatchingForSelector:@selector(closeToolsMenu)];
270 } 265 }
271 266
272 @end 267 @end
OLDNEW
« no previous file with comments | « ios/clean/chrome/browser/ui/tab_grid/BUILD.gn ('k') | ios/clean/chrome/browser/ui/web_contents/web_coordinator.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698