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

Unified 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, 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 side-by-side diff with in-line comments
Download patch
Index: ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm
diff --git a/ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm b/ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm
index 104978959777a314246cb43c5cda533d5725bd58..e6bb12720a20c57866b994fc37fffa5489a2448a 100644
--- a/ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm
+++ b/ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm
@@ -15,6 +15,8 @@
#import "ios/clean/chrome/browser/ui/commands/tab_grid_commands.h"
#import "ios/clean/chrome/browser/ui/commands/tools_menu_commands.h"
#import "ios/clean/chrome/browser/ui/context_menu/context_menu_context_impl.h"
+#import "ios/clean/chrome/browser/ui/overlay_service/browser_coordinator+overlay_support.h"
+#import "ios/clean/chrome/browser/ui/overlay_service/overlay_service.h"
#import "ios/clean/chrome/browser/ui/settings/settings_coordinator.h"
#import "ios/clean/chrome/browser/ui/tab/tab_coordinator.h"
#import "ios/clean/chrome/browser/ui/tab_grid/tab_grid_mediator.h"
@@ -129,23 +131,25 @@ - (void)showSettings {
[dispatcher startDispatchingToTarget:self
forSelector:@selector(closeSettings)];
SettingsCoordinator* settingsCoordinator = [[SettingsCoordinator alloc] init];
- [self addOverlayCoordinator:settingsCoordinator];
+ self.overlayService->ShowOverlayForBrowser(settingsCoordinator, self,
+ self.browser);
self.settingsCoordinator = settingsCoordinator;
- [settingsCoordinator start];
}
- (void)closeSettings {
CommandDispatcher* dispatcher = self.browser->dispatcher();
[dispatcher stopDispatchingForSelector:@selector(closeSettings)];
[self.settingsCoordinator stop];
- [self.settingsCoordinator.parentCoordinator
- removeChildCoordinator:self.settingsCoordinator];
- // self.settingsCoordinator should be presumed to be nil after this point.
+ // Stopping an overlay added to the OverlayService removes it from the
+ // overlay queue and schedules the next overlay to be shown. Since
+ // self.settingsController is weak, it is presumed nil after this point.
}
#pragma mark - TabGridCommands
- (void)showTabGridTabAtIndex:(int)index {
+ if (index == self.webStateList.active_index())
+ return;
self.webStateList.ActivateWebStateAt(index);
// PLACEHOLDER: The tab coordinator should be able to get the active webState
// on its own.
@@ -208,8 +212,7 @@ - (void)openURL:(NSURL*)URL {
if (self.webStateList.active_index() == WebStateList::kInvalidIndex) {
return;
}
- [self.overlayCoordinator stop];
- [self removeOverlayCoordinator];
+ self.overlayService->CancelOverlays();
web::WebState* activeWebState = self.webStateList.GetActiveWebState();
web::NavigationManager::WebLoadParams params(net::GURLWithNSURL(URL));
params.transition_type = ui::PAGE_TRANSITION_LINK;
@@ -240,17 +243,9 @@ - (void)registerForSettingsCommands {
}
- (void)registerForTabGridCommands {
- [self.browser->dispatcher() startDispatchingToTarget:self
- forSelector:@selector(showTabGrid)];
- [self.browser->dispatcher()
- startDispatchingToTarget:self
- forSelector:@selector(showTabGridTabAtIndex:)];
- [self.browser->dispatcher()
- startDispatchingToTarget:self
- forSelector:@selector(closeTabGridTabAtIndex:)];
[self.browser->dispatcher()
startDispatchingToTarget:self
- forSelector:@selector(createAndShowNewTabInTabGrid)];
+ forProtocol:@protocol(TabGridCommands)];
}
- (void)registerForToolsMenuCommands {
« 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