Commit 304f3ee4 authored by edchin's avatar edchin Committed by Commit Bot

[ios] Migrate StoreKit from BVC

Change-Id: Id201ca6aba14146bcea4456bd4353c376e38e860
Reviewed-on: https://chromium-review.googlesource.com/c/1341246
Commit-Queue: edchin <edchin@chromium.org>
Reviewed-by: default avatarRohit Rao <rohitrao@chromium.org>
Reviewed-by: default avataredchin <edchin@chromium.org>
Reviewed-by: default avatarGauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609813}
parent 43513269
......@@ -16,6 +16,10 @@ source_set("itunes_urls") {
"//ios/web",
"//url",
]
libs = [
"Foundation.framework",
"StoreKit.framework",
]
}
source_set("unit_tests") {
......
......@@ -31,7 +31,6 @@ source_set("ui") {
"//base:i18n",
"//components/sessions",
"//ios/chrome/browser",
"//ios/chrome/browser/store_kit",
"//ios/chrome/browser/ui/commands",
"//ios/web",
"//ui/base",
......@@ -101,7 +100,6 @@ source_set("unit_tests") {
"//ios/chrome/browser/search_engines",
"//ios/chrome/browser/sessions",
"//ios/chrome/browser/snapshots",
"//ios/chrome/browser/store_kit",
"//ios/chrome/browser/tabs",
"//ios/chrome/browser/ui:feature_flags",
"//ios/chrome/browser/ui/activity_services",
......@@ -302,7 +300,6 @@ source_set("ui_internal") {
"//ios/chrome/browser/signin",
"//ios/chrome/browser/snapshots",
"//ios/chrome/browser/ssl",
"//ios/chrome/browser/store_kit",
"//ios/chrome/browser/tabs",
"//ios/chrome/browser/translate",
"//ios/chrome/browser/ui:feature_flags",
......@@ -413,7 +410,6 @@ source_set("ui_internal") {
"MobileCoreServices.framework",
"Photos.framework",
"QuartzCore.framework",
"StoreKit.framework",
"UIKit.framework",
"WebKit.framework",
]
......@@ -488,7 +484,6 @@ source_set("perf_tests") {
"//ios/chrome/browser/autocomplete",
"//ios/chrome/browser/browser_state:test_support",
"//ios/chrome/browser/search_engines",
"//ios/chrome/browser/store_kit",
"//ios/chrome/browser/tabs",
"//ios/chrome/browser/tabs:tabs_internal",
"//ios/chrome/browser/ui/commands",
......
......@@ -6,7 +6,6 @@
#define IOS_CHROME_BROWSER_UI_BROWSER_VIEW_CONTROLLER_H_
#import <MessageUI/MessageUI.h>
#import <StoreKit/StoreKit.h>
#import <UIKit/UIKit.h>
#import "base/ios/block_types.h"
......
......@@ -94,8 +94,6 @@
#import "ios/chrome/browser/snapshots/snapshot_tab_helper.h"
#import "ios/chrome/browser/ssl/captive_portal_detector_tab_helper.h"
#import "ios/chrome/browser/ssl/captive_portal_detector_tab_helper_delegate.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/legacy_tab_helper.h"
#import "ios/chrome/browser/tabs/tab.h"
#import "ios/chrome/browser/tabs/tab_dialog_delegate.h"
......@@ -548,9 +546,6 @@ NSString* const kBrowserViewControllerSnackbarCategory =
// A map associating webStates with their NTP coordinators.
std::map<web::WebState*, NewTabPageCoordinator*> _ntpCoordinatorsForWebStates;
// Coordinator for presenting SKStoreProductViewController.
StoreKitCoordinator* _storeKitCoordinator;
// Coordinator for the language selection UI.
LanguageSelectionCoordinator* _languageSelectionCoordinator;
......@@ -911,9 +906,6 @@ applicationCommandEndpoint:(id<ApplicationCommands>)applicationCommandEndpoint
[[ToolbarCoordinatorAdaptor alloc] initWithDispatcher:self.dispatcher];
self.toolbarInterface = _toolbarCoordinatorAdaptor;
_storeKitCoordinator =
[[StoreKitCoordinator alloc] initWithBaseViewController:self];
_languageSelectionCoordinator =
[[LanguageSelectionCoordinator alloc] initWithBaseViewController:self];
_languageSelectionCoordinator.presenter =
......@@ -2833,9 +2825,6 @@ applicationCommandEndpoint:(id<ApplicationCommands>)applicationCommandEndpoint
// Install the proper CRWWebController delegates.
tab.webController.nativeProvider = self;
tab.webController.swipeRecognizerProvider = self.sideSwipeController;
StoreKitTabHelper* tabHelper = StoreKitTabHelper::FromWebState(tab.webState);
if (tabHelper)
tabHelper->SetLauncher(_storeKitCoordinator);
tab.webState->SetDelegate(_webStateDelegate.get());
// BrowserViewController owns the coordinator that displays the Sad Tab.
if (!SadTabTabHelper::FromWebState(tab.webState)) {
......@@ -2893,9 +2882,6 @@ applicationCommandEndpoint:(id<ApplicationCommands>)applicationCommandEndpoint
}
tab.webController.nativeProvider = nil;
tab.webController.swipeRecognizerProvider = nil;
StoreKitTabHelper* tabHelper = StoreKitTabHelper::FromWebState(tab.webState);
if (tabHelper)
tabHelper->SetLauncher(nil);
tab.webState->SetDelegate(nullptr);
if (AccountConsistencyService* accountConsistencyService =
ios::AccountConsistencyServiceFactory::GetForBrowserState(
......
......@@ -54,7 +54,10 @@ source_set("download") {
"//ui/base",
"//ui/gfx",
]
libs = [ "UIKit.framework" ]
libs = [
"StoreKit.framework",
"UIKit.framework",
]
}
source_set("unit_tests") {
......@@ -75,7 +78,6 @@ source_set("unit_tests") {
"//ios/chrome/browser/download",
"//ios/chrome/browser/download:test_support",
"//ios/chrome/browser/infobars",
"//ios/chrome/browser/store_kit",
"//ios/chrome/browser/ui/util",
"//ios/chrome/browser/web:test_support",
"//ios/chrome/browser/web_state_list:test_support",
......@@ -90,6 +92,12 @@ source_set("unit_tests") {
"//third_party/ocmock:ocmock",
"//ui/base",
]
libs = [
"MobileCoreServices.framework",
"PassKit.framework",
"StoreKit.framework",
"UIKit.framework",
]
}
source_set("eg_tests") {
......
......@@ -26,6 +26,7 @@ source_set("main") {
"//ios/chrome/browser/device_sharing",
"//ios/chrome/browser/sessions",
"//ios/chrome/browser/sessions:serialisation",
"//ios/chrome/browser/store_kit",
"//ios/chrome/browser/tabs",
"//ios/chrome/browser/tabs:tabs_internal",
"//ios/chrome/browser/ui/alert_coordinator",
......
......@@ -9,6 +9,8 @@
#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"
#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/ui/alert_coordinator/repost_form_coordinator.h"
#import "ios/chrome/browser/ui/app_launcher/app_launcher_coordinator.h"
#import "ios/chrome/browser/ui/authentication/consent_bump/consent_bump_coordinator.h"
......@@ -70,6 +72,9 @@
// Coordinator for displaying snackbars.
@property(nonatomic, strong) SnackbarCoordinator* snackbarCoordinator;
// Coordinator for presenting SKStoreProductViewController.
@property(nonatomic, strong) StoreKitCoordinator* storeKitCoordinator;
@end
@implementation BrowserCoordinator {
......@@ -89,6 +94,7 @@
@synthesize recentTabsCoordinator = _recentTabsCoordinator;
@synthesize repostFormCoordinator = _repostFormCoordinator;
@synthesize snackbarCoordinator = _snackbarCoordinator;
@synthesize storeKitCoordinator = _storeKitCoordinator;
#pragma mark - ChromeCoordinator
......@@ -170,6 +176,9 @@
self.snackbarCoordinator = [[SnackbarCoordinator alloc] init];
self.snackbarCoordinator.dispatcher = self.dispatcher;
[self.snackbarCoordinator start];
self.storeKitCoordinator = [[StoreKitCoordinator alloc]
initWithBaseViewController:self.viewController];
}
// Stops child coordinators.
......@@ -198,6 +207,9 @@
[self.snackbarCoordinator stop];
self.snackbarCoordinator = nil;
[self.storeKitCoordinator stop];
self.storeKitCoordinator = nil;
}
#pragma mark - BrowserCoordinatorCommands
......@@ -376,10 +388,18 @@
self.appLauncherCoordinator);
RepostFormTabHelper::CreateForWebState(webState, self);
if (StoreKitTabHelper::FromWebState(webState)) {
StoreKitTabHelper::FromWebState(webState)->SetLauncher(
self.storeKitCoordinator);
}
}
// Uninstalls delegates for |webState|.
- (void)uninstallDelegatesForWebState:(web::WebState*)webState {
if (StoreKitTabHelper::FromWebState(webState)) {
StoreKitTabHelper::FromWebState(webState)->SetLauncher(nil);
}
}
@end
......@@ -254,7 +254,6 @@ source_set("test_support") {
"//ios/chrome/browser/prefs:browser_prefs",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/signin:test_support",
"//ios/chrome/browser/store_kit",
"//ios/chrome/browser/sync",
"//ios/chrome/browser/sync:test_support",
"//ios/chrome/browser/ui/collection_view:test_support",
......
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