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

Unified 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 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..ccc0f3648f4e720beb2531c0cd701e358778ba78 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/overlays/overlay_service.h"
+#import "ios/clean/chrome/browser/ui/overlays/overlay_service_factory.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,26 @@ - (void)showSettings {
[dispatcher startDispatchingToTarget:self
forSelector:@selector(closeSettings)];
SettingsCoordinator* settingsCoordinator = [[SettingsCoordinator alloc] init];
- [self addOverlayCoordinator:settingsCoordinator];
+ 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.
+ ->GetForBrowserState(self.browser->browser_state())
+ ->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 +213,9 @@ - (void)openURL:(NSURL*)URL {
if (self.webStateList.active_index() == WebStateList::kInvalidIndex) {
return;
}
- [self.overlayCoordinator stop];
- [self removeOverlayCoordinator];
+ OverlayServiceFactory::GetInstance()
+ ->GetForBrowserState(self.browser->browser_state())
+ ->CancelOverlays();
web::WebState* activeWebState = self.webStateList.GetActiveWebState();
web::NavigationManager::WebLoadParams params(net::GURLWithNSURL(URL));
params.transition_type = ui::PAGE_TRANSITION_LINK;
@@ -240,17 +246,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 {

Powered by Google App Engine
This is Rietveld 408576698