Commit e3bb56ab authored by Mark Cogan's avatar Mark Cogan Committed by Commit Bot

[iOS] Migrate away from downstream URLLoadingService use (6/10)

As part of preparing for multi-window, the URLLoadingService needs
to be migrated to be a BrowserAgent instead of a KeyedService. That
change is itself fairly large, but as an additional complication
URLLoadingService is used in downstream code.

This CL is the sixth in a series of changes needed to complete this
refactor:

1. (crrev.com/c/2089687) Add a new provider API upstream that passes
   both a Browser and temporary URL loading shim to CreateLogoVendor.
2. Implement this new API downstream and add support for initializing
   the LogoController with both Browser and the loading shim. Use the
   loading shim for loading URLs if it is present.
3. (crrev.com/c/2089785) Upstream, call the new CreateLogoVendor() API.
4. Downstream, remove support for the old CreateLogoVendor() API and
   update LogoController to only be initialized with a Browser and the
   shim loader. Remove downstream use of the URLLoadingService.
5. (crrev.com/c/2105314) Upstream, refactor URLLoadingService to be
   URLLoadingBrowserAgent, updating the upstream implementation of the
   loading shim passed downstream in CreateLogoVendor().
6. Upstream, add a new provider API that no longer passes the loading
   shim into CreateLogoVendor(). Delete the now-unused provider API that
   was removed downstream in step 4.
7. Downstream, remove use of the loading shim from LogoController and
   have it fetch the URLLoadingBrowserAgent from its Browser parameter.
   Implement the new shim-less CreateLogoVendor() API. Have the old
   shimmed API call the new shimless one.
8. Upstream, call only the new shimless API. Remove the shim
   implementation in calling code.
9. Downstream, remove the shimmed API.
10.Upstream, remove the shimmed API, including the shim definition.

Bug: 1046374
Change-Id: I12874b8c0d6674b03cee22141b67bc32788fa4a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2106182
Commit-Queue: Mark Cogan <marq@chromium.org>
Reviewed-by: default avatarStepan Khapugin <stkhapugin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#751316}
parent dea916d2
...@@ -20,13 +20,13 @@ class ChromiumBrowserProvider : public ios::ChromeBrowserProvider { ...@@ -20,13 +20,13 @@ class ChromiumBrowserProvider : public ios::ChromeBrowserProvider {
ios::ChromeIdentityService* GetChromeIdentityService() override; ios::ChromeIdentityService* GetChromeIdentityService() override;
UITextField* CreateStyledTextField() const override NS_RETURNS_RETAINED; UITextField* CreateStyledTextField() const override NS_RETURNS_RETAINED;
VoiceSearchProvider* GetVoiceSearchProvider() const override; VoiceSearchProvider* GetVoiceSearchProvider() const override;
id<LogoVendor> CreateLogoVendor(ChromeBrowserState* browser_state,
web::WebState* web_state) const override
NS_RETURNS_RETAINED;
id<LogoVendor> CreateLogoVendor( id<LogoVendor> CreateLogoVendor(
Browser* browser, Browser* browser,
web::WebState* web_state, web::WebState* web_state,
id<URLLoadingBridge> loading_bridge) const override NS_RETURNS_RETAINED; id<URLLoadingBridge> loading_bridge) const override NS_RETURNS_RETAINED;
id<LogoVendor> CreateLogoVendor(Browser* browser, web::WebState* web_state)
const override NS_RETURNS_RETAINED;
UserFeedbackProvider* GetUserFeedbackProvider() const override; UserFeedbackProvider* GetUserFeedbackProvider() const override;
AppDistributionProvider* GetAppDistributionProvider() const override; AppDistributionProvider* GetAppDistributionProvider() const override;
BrandedImageProvider* GetBrandedImageProvider() const override; BrandedImageProvider* GetBrandedImageProvider() const override;
......
...@@ -67,15 +67,15 @@ VoiceSearchProvider* ChromiumBrowserProvider::GetVoiceSearchProvider() const { ...@@ -67,15 +67,15 @@ VoiceSearchProvider* ChromiumBrowserProvider::GetVoiceSearchProvider() const {
} }
id<LogoVendor> ChromiumBrowserProvider::CreateLogoVendor( id<LogoVendor> ChromiumBrowserProvider::CreateLogoVendor(
ChromeBrowserState* browser_state, Browser* browser,
web::WebState* web_state) const { web::WebState* web_state,
return CreateLogoVendor(nullptr, web_state, nil); id<URLLoadingBridge> loading_bridge) const {
return CreateLogoVendor(browser, web_state);
} }
id<LogoVendor> ChromiumBrowserProvider::CreateLogoVendor( id<LogoVendor> ChromiumBrowserProvider::CreateLogoVendor(
Browser* browser, Browser* browser,
web::WebState* web_state, web::WebState* web_state) const {
id<URLLoadingBridge> loading_bridge) const {
return [[ChromiumLogoController alloc] init]; return [[ChromiumLogoController alloc] init];
} }
......
...@@ -135,15 +135,15 @@ class ChromeBrowserProvider { ...@@ -135,15 +135,15 @@ class ChromeBrowserProvider {
// Returns an instance of the app distribution provider. // Returns an instance of the app distribution provider.
virtual AppDistributionProvider* GetAppDistributionProvider() const; virtual AppDistributionProvider* GetAppDistributionProvider() const;
virtual id<LogoVendor> CreateLogoVendor(ChromeBrowserState* browser_state,
web::WebState* web_state) const
NS_RETURNS_RETAINED;
virtual id<LogoVendor> CreateLogoVendor( virtual id<LogoVendor> CreateLogoVendor(
Browser* browser, Browser* browser,
web::WebState* web_state, web::WebState* web_state,
id<URLLoadingBridge> loading_bridge) const NS_RETURNS_RETAINED; id<URLLoadingBridge> loading_bridge) const NS_RETURNS_RETAINED;
virtual id<LogoVendor> CreateLogoVendor(Browser* browser,
web::WebState* web_state) const
NS_RETURNS_RETAINED;
// Returns an instance of the omaha service provider. // Returns an instance of the omaha service provider.
virtual OmahaServiceProvider* GetOmahaServiceProvider() const; virtual OmahaServiceProvider* GetOmahaServiceProvider() const;
......
...@@ -99,15 +99,15 @@ AppDistributionProvider* ChromeBrowserProvider::GetAppDistributionProvider() ...@@ -99,15 +99,15 @@ AppDistributionProvider* ChromeBrowserProvider::GetAppDistributionProvider()
} }
id<LogoVendor> ChromeBrowserProvider::CreateLogoVendor( id<LogoVendor> ChromeBrowserProvider::CreateLogoVendor(
ChromeBrowserState* browser_state, Browser* browser,
web::WebState* web_state) const { web::WebState* web_state,
id<URLLoadingBridge> loading_bridge) const {
return nil; return nil;
} }
id<LogoVendor> ChromeBrowserProvider::CreateLogoVendor( id<LogoVendor> ChromeBrowserProvider::CreateLogoVendor(
Browser* browser, Browser* browser,
web::WebState* web_state, web::WebState* web_state) const {
id<URLLoadingBridge> loading_bridge) const {
return nil; return nil;
} }
......
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