Commit f2408ea1 authored by edchin's avatar edchin Committed by Commit Bot

[ios] Migrate PrintController to BrowserCoordinator

Bug: 905524
Change-Id: I7856854bada0ef0a0285a4f3b0d362f9c2113f97
Reviewed-on: https://chromium-review.googlesource.com/c/1354781Reviewed-by: default avataredchin <edchin@chromium.org>
Reviewed-by: default avatarRohit Rao <rohitrao@chromium.org>
Reviewed-by: default avatarGauthier Ambard <gambard@chromium.org>
Commit-Queue: edchin <edchin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612221}
parent 95f4c915
......@@ -346,7 +346,6 @@ source_set("ui_internal") {
"//ios/chrome/browser/ui/payments",
"//ios/chrome/browser/ui/popup_menu",
"//ios/chrome/browser/ui/presenters",
"//ios/chrome/browser/ui/print",
"//ios/chrome/browser/ui/qr_scanner:coordinator",
"//ios/chrome/browser/ui/reading_list",
"//ios/chrome/browser/ui/sad_tab",
......
......@@ -99,7 +99,6 @@
#import "ios/chrome/browser/tabs/tab_model.h"
#import "ios/chrome/browser/tabs/tab_model_observer.h"
#import "ios/chrome/browser/tabs/tab_private.h"
#import "ios/chrome/browser/tabs/tab_title_util.h"
#import "ios/chrome/browser/tabs/tab_util.h"
#import "ios/chrome/browser/translate/chrome_ios_translate_client.h"
#import "ios/chrome/browser/translate/language_selection_handler.h"
......@@ -161,7 +160,6 @@
#import "ios/chrome/browser/ui/payments/payment_request_manager.h"
#import "ios/chrome/browser/ui/popup_menu/popup_menu_coordinator.h"
#import "ios/chrome/browser/ui/presenters/vertical_animation_container.h"
#import "ios/chrome/browser/ui/print/print_controller.h"
#import "ios/chrome/browser/ui/reading_list/offline_page_native_content.h"
#import "ios/chrome/browser/ui/reading_list/reading_list_menu_notifier.h"
#include "ios/chrome/browser/ui/sad_tab/features.h"
......@@ -249,7 +247,6 @@
#import "net/base/mac/url_conversions.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "net/ssl/ssl_info.h"
#include "net/url_request/url_request_context_getter.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
#include "third_party/google_toolbox_for_mac/src/iPhone/GTMUIImage+Resize.h"
#include "ui/base/l10n/l10n_util.h"
......@@ -477,9 +474,6 @@ NSString* const kBrowserViewControllerSnackbarCategory =
// Used to display the Find In Page UI. Nil if not visible.
FindBarControllerIOS* _findBarController;
// Used to display the Print UI. Nil if not visible.
PrintController* _printController;
// Adapter to let BVC be the delegate for WebState.
std::unique_ptr<web::WebStateDelegateBridge> _webStateDelegate;
......@@ -1431,8 +1425,6 @@ applicationCommandEndpoint:(id<ApplicationCommands>)applicationCommandEndpoint
}
[_paymentRequestManager cancelRequest];
[_printController dismissAnimated:YES];
_printController = nil;
[self.dispatcher dismissPopupMenuAnimated:NO];
[_contextMenuCoordinator stop];
......@@ -4373,17 +4365,6 @@ applicationCommandEndpoint:(id<ApplicationCommands>)applicationCommandEndpoint
self.currentWebState]];
}
- (void)printTab {
if (!_printController) {
_printController = [[PrintController alloc]
initWithContextGetter:_browserState->GetRequestContext()];
}
Tab* currentTab = self.tabModel.currentTab;
[_printController printView:[currentTab viewForPrinting]
withTitle:tab_util::GetTabTitle(currentTab.webState)
viewController:self];
}
- (void)addToReadingList:(ReadingListAddCommand*)command {
[self addToReadingListURL:[command URL] title:[command title]];
}
......
......@@ -48,9 +48,6 @@ class GURL;
// Bookmarks the current page.
- (void)bookmarkPage;
// Prints the currently active tab.
- (void)printTab;
// Adds a page to the reading list using data in |command|.
- (void)addToReadingList:(ReadingListAddCommand*)command;
......
......@@ -12,6 +12,9 @@
// and representative of the contents.
@protocol BrowserCoordinatorCommands
// Prints the currently active tab.
- (void)printTab;
// Shows the Reading List UI.
- (void)showReadingList;
......
......@@ -37,6 +37,7 @@ source_set("main") {
"//ios/chrome/browser/ui/coordinators:chrome_coordinators",
"//ios/chrome/browser/ui/download",
"//ios/chrome/browser/ui/page_info:coordinator",
"//ios/chrome/browser/ui/print",
"//ios/chrome/browser/ui/qr_scanner:coordinator",
"//ios/chrome/browser/ui/reading_list",
"//ios/chrome/browser/ui/recent_tabs",
......@@ -45,6 +46,7 @@ source_set("main") {
"//ios/chrome/browser/web:tab_helper_delegates",
"//ios/chrome/browser/web_state_list",
"//ios/public/provider/chrome/browser",
"//net",
]
public_deps = [
"//ios/chrome/browser/ui:ui_internal",
......
......@@ -9,9 +9,12 @@
#include "base/scoped_observer.h"
#import "ios/chrome/browser/app_launcher/app_launcher_abuse_detector.h"
#import "ios/chrome/browser/app_launcher/app_launcher_tab_helper.h"
#include "ios/chrome/browser/browser_state/chrome_browser_state.h"
#import "ios/chrome/browser/download/pass_kit_tab_helper.h"
#import "ios/chrome/browser/store_kit/store_kit_coordinator.h"
#import "ios/chrome/browser/store_kit/store_kit_tab_helper.h"
#import "ios/chrome/browser/tabs/tab.h"
#import "ios/chrome/browser/tabs/tab_title_util.h"
#import "ios/chrome/browser/ui/alert_coordinator/repost_form_coordinator.h"
#import "ios/chrome/browser/ui/app_launcher/app_launcher_coordinator.h"
#import "ios/chrome/browser/ui/autofill/form_input_accessory_coordinator.h"
......@@ -22,6 +25,7 @@
#import "ios/chrome/browser/ui/commands/command_dispatcher.h"
#import "ios/chrome/browser/ui/download/pass_kit_coordinator.h"
#import "ios/chrome/browser/ui/page_info/page_info_legacy_coordinator.h"
#import "ios/chrome/browser/ui/print/print_controller.h"
#import "ios/chrome/browser/ui/qr_scanner/qr_scanner_legacy_coordinator.h"
#import "ios/chrome/browser/ui/reading_list/reading_list_coordinator.h"
#import "ios/chrome/browser/ui/recent_tabs/recent_tabs_coordinator.h"
......@@ -30,6 +34,7 @@
#import "ios/chrome/browser/web/repost_form_tab_helper_delegate.h"
#include "ios/chrome/browser/web_state_list/web_state_list.h"
#import "ios/chrome/browser/web_state_list/web_state_list_observer_bridge.h"
#include "net/url_request/url_request_context_getter.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
......@@ -60,6 +65,10 @@
// Coordinator for the PassKit UI presentation.
@property(nonatomic, strong) PassKitCoordinator* passKitCoordinator;
// Used to display the Print UI. Nil if not visible.
// TODO(crbug.com/910017): Convert to coordinator.
@property(nonatomic, strong) PrintController* printController;
// Coordinator for the QR scanner.
@property(nonatomic, strong) QRScannerLegacyCoordinator* qrScannerCoordinator;
......@@ -118,6 +127,10 @@
- (void)clearPresentedStateWithCompletion:(ProceduralBlock)completion
dismissOmnibox:(BOOL)dismissOmnibox {
[self.passKitCoordinator stop];
[self.printController dismissAnimated:YES];
self.printController = nil;
[self.viewController clearPresentedStateWithCompletion:completion
dismissOmnibox:dismissOmnibox];
}
......@@ -153,6 +166,7 @@
self.appLauncherCoordinator = [[AppLauncherCoordinator alloc]
initWithBaseViewController:self.viewController];
self.formInputAccessoryCoordinator = [[FormInputAccessoryCoordinator alloc]
initWithBaseViewController:self.viewController
browserState:self.browserState
......@@ -171,6 +185,8 @@
self.passKitCoordinator = [[PassKitCoordinator alloc]
initWithBaseViewController:self.viewController];
/* PrintController is created and started by a BrowserCommand */
self.qrScannerCoordinator = [[QRScannerLegacyCoordinator alloc]
initWithBaseViewController:self.viewController];
self.qrScannerCoordinator.dispatcher = self.dispatcher;
......@@ -204,6 +220,8 @@
[self.passKitCoordinator stop];
self.passKitCoordinator = nil;
self.printController = nil;
[self.qrScannerCoordinator stop];
self.qrScannerCoordinator = nil;
......@@ -223,6 +241,19 @@
self.storeKitCoordinator = nil;
}
#pragma mark - BrowserCoordinatorCommands
- (void)printTab {
if (!self.printController) {
self.printController = [[PrintController alloc]
initWithContextGetter:self.browserState->GetRequestContext()];
}
Tab* currentTab = self.tabModel.currentTab;
[self.printController printView:[currentTab viewForPrinting]
withTitle:tab_util::GetTabTitle(currentTab.webState)
viewController:self.viewController];
}
- (void)showReadingList {
self.readingListCoordinator = [[ReadingListCoordinator alloc]
initWithBaseViewController:self.viewController
......
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