Commit 0f28b3ba authored by Nazerke's avatar Nazerke Committed by Commit Bot

[iOS][coordinator] Modernize History Clear Browsing Data Coordinator.

This CL modernizes the HistoryClearBrowsingDataCoordinator
 - to use |browser| in the initializer instead of |browserState|
 - to remove the public property for dispatcher
 - to use self.browser to get browserstate and dispatcher values.

Bug: 1029346, 1048407
Change-Id: I9422cc3dac91b0b27f16378f4c65dbe9c2d42563
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2064392Reviewed-by: default avatarMark Cogan <marq@chromium.org>
Commit-Queue: Nazerke Kalidolda <nazerke@google.com>
Cr-Commit-Position: refs/heads/master@{#743096}
parent fcccec83
...@@ -109,6 +109,7 @@ source_set("clear_browsing_data") { ...@@ -109,6 +109,7 @@ source_set("clear_browsing_data") {
deps = [ deps = [
":history_ui", ":history_ui",
"//base", "//base",
"//ios/chrome/browser/main:public",
"//ios/chrome/browser/ui/commands", "//ios/chrome/browser/ui/commands",
"//ios/chrome/browser/ui/coordinators:chrome_coordinators", "//ios/chrome/browser/ui/coordinators:chrome_coordinators",
"//ios/chrome/browser/ui/history/public", "//ios/chrome/browser/ui/history/public",
......
...@@ -10,8 +10,6 @@ ...@@ -10,8 +10,6 @@
enum class UrlLoadStrategy; enum class UrlLoadStrategy;
@protocol ApplicationCommands;
@protocol BrowsingDataCommands;
@protocol HistoryLocalCommands; @protocol HistoryLocalCommands;
@protocol HistoryPresentationDelegate; @protocol HistoryPresentationDelegate;
@protocol HistoryClearBrowsingDataLocalCommands; @protocol HistoryClearBrowsingDataLocalCommands;
...@@ -21,13 +19,17 @@ enum class UrlLoadStrategy; ...@@ -21,13 +19,17 @@ enum class UrlLoadStrategy;
@interface HistoryClearBrowsingDataCoordinator @interface HistoryClearBrowsingDataCoordinator
: ChromeCoordinator<ClearBrowsingDataLocalCommands> : ChromeCoordinator<ClearBrowsingDataLocalCommands>
// Unavailable, use -initWithBaseViewController:browser:.
- (instancetype)initWithBaseViewController:(UIViewController*)viewController
NS_UNAVAILABLE;
// Unavailable, use -initWithBaseViewController:browser:.
- (instancetype)initWithBaseViewController:(UIViewController*)viewController
browserState:(ChromeBrowserState*)browserState
NS_UNAVAILABLE;
// Delegate for this coordinator. // Delegate for this coordinator.
@property(nonatomic, weak) id<HistoryLocalCommands> localDispatcher; @property(nonatomic, weak) id<HistoryLocalCommands> localDispatcher;
// Dispatcher for view controller.
@property(nonatomic, weak) id<ApplicationCommands, BrowsingDataCommands>
dispatcher;
// Opaque instructions on how to open urls. // Opaque instructions on how to open urls.
@property(nonatomic) UrlLoadStrategy loadStrategy; @property(nonatomic) UrlLoadStrategy loadStrategy;
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#include "base/mac/foundation_util.h" #include "base/mac/foundation_util.h"
#import "ios/chrome/browser/main/browser.h"
#include "ios/chrome/browser/ui/history/history_local_commands.h" #include "ios/chrome/browser/ui/history/history_local_commands.h"
#import "ios/chrome/browser/ui/history/public/history_presentation_delegate.h" #import "ios/chrome/browser/ui/history/public/history_presentation_delegate.h"
#import "ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_local_commands.h" #import "ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_local_commands.h"
...@@ -39,7 +40,6 @@ ...@@ -39,7 +40,6 @@
@implementation HistoryClearBrowsingDataCoordinator @implementation HistoryClearBrowsingDataCoordinator
@synthesize clearBrowsingDataTableViewController = @synthesize clearBrowsingDataTableViewController =
_clearBrowsingDataTableViewController; _clearBrowsingDataTableViewController;
@synthesize dispatcher = _dispatcher;
@synthesize historyClearBrowsingDataNavigationController = @synthesize historyClearBrowsingDataNavigationController =
_historyClearBrowsingDataNavigationController; _historyClearBrowsingDataNavigationController;
@synthesize localDispatcher = _localDispatcher; @synthesize localDispatcher = _localDispatcher;
...@@ -48,11 +48,15 @@ ...@@ -48,11 +48,15 @@
- (void)start { - (void)start {
self.clearBrowsingDataTableViewController = self.clearBrowsingDataTableViewController =
[[ClearBrowsingDataTableViewController alloc] [[ClearBrowsingDataTableViewController alloc]
initWithBrowserState:self.browserState]; initWithBrowserState:self.browser->GetBrowserState()];
self.clearBrowsingDataTableViewController.extendedLayoutIncludesOpaqueBars = self.clearBrowsingDataTableViewController.extendedLayoutIncludesOpaqueBars =
YES; YES;
self.clearBrowsingDataTableViewController.localDispatcher = self; self.clearBrowsingDataTableViewController.localDispatcher = self;
self.clearBrowsingDataTableViewController.dispatcher = self.dispatcher; // TODO(crbug.com/1045047): Use HandlerForProtocol after commands protocol
// clean up.
self.clearBrowsingDataTableViewController.dispatcher =
static_cast<id<ApplicationCommands, BrowsingDataCommands>>(
self.browser->GetCommandDispatcher());
// Configure and present ClearBrowsingDataNavigationController. // Configure and present ClearBrowsingDataNavigationController.
self.historyClearBrowsingDataNavigationController = self.historyClearBrowsingDataNavigationController =
[[TableViewNavigationController alloc] [[TableViewNavigationController alloc]
...@@ -119,7 +123,8 @@ ...@@ -119,7 +123,8 @@
params.load_strategy = self.loadStrategy; params.load_strategy = self.loadStrategy;
[self stopWithCompletion:^() { [self stopWithCompletion:^() {
[self.localDispatcher dismissHistoryWithCompletion:^{ [self.localDispatcher dismissHistoryWithCompletion:^{
UrlLoadingServiceFactory::GetForBrowserState(self.browserState) UrlLoadingServiceFactory::GetForBrowserState(
self.browser->GetBrowserState())
->Load(params); ->Load(params);
[self.presentationDelegate showActiveRegularTabFromHistory]; [self.presentationDelegate showActiveRegularTabFromHistory];
}]; }];
......
...@@ -159,16 +159,11 @@ ...@@ -159,16 +159,11 @@
self.historyClearBrowsingDataCoordinator = self.historyClearBrowsingDataCoordinator =
[[HistoryClearBrowsingDataCoordinator alloc] [[HistoryClearBrowsingDataCoordinator alloc]
initWithBaseViewController:self.historyNavigationController initWithBaseViewController:self.historyNavigationController
browserState:self.browser->GetBrowserState()]; browser:self.browser];
self.historyClearBrowsingDataCoordinator.localDispatcher = self; self.historyClearBrowsingDataCoordinator.localDispatcher = self;
self.historyClearBrowsingDataCoordinator.presentationDelegate = self.historyClearBrowsingDataCoordinator.presentationDelegate =
self.presentationDelegate; self.presentationDelegate;
self.historyClearBrowsingDataCoordinator.loadStrategy = self.loadStrategy; self.historyClearBrowsingDataCoordinator.loadStrategy = self.loadStrategy;
// TODO(crbug.com/1048407): Remove dispatcher as the property of
// HistoryClearBrowsingDataCoordinator.
self.historyClearBrowsingDataCoordinator.dispatcher =
static_cast<id<ApplicationCommands, BrowsingDataCommands>>(
self.browser->GetCommandDispatcher());
[self.historyClearBrowsingDataCoordinator start]; [self.historyClearBrowsingDataCoordinator start];
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment