Commit 9b5acd69 authored by Gauthier Ambard's avatar Gauthier Ambard Committed by Commit Bot

Reland "[iOS] Add Overrides provider"

The provider is used to install overrides.
Reland of https://crrev.com/c/1584265

Bug: 954570
Change-Id: I424b6d59c702094020fec20495145f76b6c18646
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1587886Reviewed-by: default avatarRohit Rao <rohitrao@chromium.org>
Commit-Queue: Gauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#654851}
parent acf4cfb7
......@@ -152,6 +152,7 @@
#include "ios/public/provider/chrome/browser/chrome_browser_provider.h"
#include "ios/public/provider/chrome/browser/distribution/app_distribution_provider.h"
#include "ios/public/provider/chrome/browser/mailto/mailto_handler_provider.h"
#import "ios/public/provider/chrome/browser/overrides_provider.h"
#include "ios/public/provider/chrome/browser/signin/chrome_identity_service.h"
#import "ios/public/provider/chrome/browser/user_feedback/user_feedback_provider.h"
#import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
......@@ -793,6 +794,8 @@ enum class EnterTabSwitcherSnapshotResult {
notifyForeground:_mainBrowserState];
}
ios::GetChromeBrowserProvider()->GetOverridesProvider()->InstallOverrides();
[self scheduleLowPriorityStartupTasks];
[_browserViewWrangler updateDeviceSharingManager];
......
......@@ -29,6 +29,7 @@ class ChromiumBrowserProvider : public ios::ChromeBrowserProvider {
SpecialUserProvider* GetSpecialUserProvider() const override;
SpotlightProvider* GetSpotlightProvider() const override;
FullscreenProvider* GetFullscreenProvider() const override;
OverridesProvider* GetOverridesProvider() const override;
private:
std::unique_ptr<AppDistributionProvider> app_distribution_provider_;
......@@ -41,6 +42,7 @@ class ChromiumBrowserProvider : public ios::ChromeBrowserProvider {
std::unique_ptr<SpecialUserProvider> special_user_provider_;
std::unique_ptr<SpotlightProvider> spotlight_provider_;
std::unique_ptr<FullscreenProvider> fullscreen_provider_;
std::unique_ptr<OverridesProvider> overrides_provider_;
};
#endif // IOS_CHROME_BROWSER_PROVIDERS_CHROMIUM_BROWSER_PROVIDER_H_
......@@ -13,6 +13,7 @@
#include "ios/chrome/browser/providers/signin/chromium_signin_resources_provider.h"
#include "ios/chrome/browser/providers/ui/chromium_styled_text_field.h"
#include "ios/public/provider/chrome/browser/distribution/app_distribution_provider.h"
#include "ios/public/provider/chrome/browser/overrides_provider.h"
#include "ios/public/provider/chrome/browser/signin/chrome_identity_service.h"
#include "ios/public/provider/chrome/browser/signin/signin_error_provider.h"
#import "ios/public/provider/chrome/browser/ui/fullscreen_provider.h"
......@@ -33,7 +34,8 @@ ChromiumBrowserProvider::ChromiumBrowserProvider()
voice_search_provider_(std::make_unique<ChromiumVoiceSearchProvider>()),
special_user_provider_(std::make_unique<SpecialUserProvider>()),
spotlight_provider_(std::make_unique<ChromiumSpotlightProvider>()),
fullscreen_provider_(std::make_unique<FullscreenProvider>()) {}
fullscreen_provider_(std::make_unique<FullscreenProvider>()),
overrides_provider_(std::make_unique<OverridesProvider>()) {}
ChromiumBrowserProvider::~ChromiumBrowserProvider() {}
......@@ -97,3 +99,7 @@ SpotlightProvider* ChromiumBrowserProvider::GetSpotlightProvider() const {
FullscreenProvider* ChromiumBrowserProvider::GetFullscreenProvider() const {
return fullscreen_provider_.get();
}
OverridesProvider* ChromiumBrowserProvider::GetOverridesProvider() const {
return overrides_provider_.get();
}
......@@ -13,6 +13,8 @@ source_set("browser") {
"chrome_browser_provider.mm",
"geolocation_updater_provider.h",
"geolocation_updater_provider.mm",
"overrides_provider.h",
"overrides_provider.mm",
]
deps = [
"//base",
......
......@@ -22,6 +22,7 @@ class BrowserURLRewriterProvider;
class FullscreenProvider;
class MailtoHandlerProvider;
class OmahaServiceProvider;
class OverridesProvider;
class SpecialUserProvider;
class SpotlightProvider;
class UserFeedbackProvider;
......@@ -163,6 +164,9 @@ class ChromeBrowserProvider {
// Returns an instance of the BrowserURLRewriter provider.
virtual BrowserURLRewriterProvider* GetBrowserURLRewriterProvider() const;
// Returns an instance of the Overrides provider;
virtual OverridesProvider* GetOverridesProvider() const;
// Adds and removes observers.
void AddObserver(Observer* observer);
void RemoveObserver(Observer* observer);
......
......@@ -118,6 +118,10 @@ ChromeBrowserProvider::GetBrowserURLRewriterProvider() const {
return nullptr;
}
OverridesProvider* ChromeBrowserProvider::GetOverridesProvider() const {
return nullptr;
}
MailtoHandlerProvider* ChromeBrowserProvider::GetMailtoHandlerProvider() const {
return mailto_handler_provider_.get();
}
......
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_PUBLIC_PROVIDER_CHROME_BROWSER_OVERRIDES_PROVIDER_H_
#define IOS_PUBLIC_PROVIDER_CHROME_BROWSER_OVERRIDES_PROVIDER_H_
// Provider for installing overrides.
class OverridesProvider {
public:
OverridesProvider();
virtual ~OverridesProvider();
virtual void InstallOverrides();
};
#endif // IOS_PUBLIC_PROVIDER_CHROME_BROWSER_OVERRIDES_PROVIDER_H_
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/public/provider/chrome/browser/overrides_provider.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
OverridesProvider::OverridesProvider() = default;
OverridesProvider::~OverridesProvider() = default;
void OverridesProvider::InstallOverrides() {}
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