summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordroger <droger@chromium.org>2016-01-05 09:55:42 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-05 17:57:11 +0000
commitdcebce077d5dfd83a9d09e4e00d51347637bae84 (patch)
tree4108e4fad4d5955babef841c1be228406e21cd20
parent8e1e1231e10afbfe816effeceeb4f10075e6ea09 (diff)
downloadchromium_src-dcebce077d5dfd83a9d09e4e00d51347637bae84.zip
chromium_src-dcebce077d5dfd83a9d09e4e00d51347637bae84.tar.gz
chromium_src-dcebce077d5dfd83a9d09e4e00d51347637bae84.tar.bz2
[iOS] Upstream ChromeBrowserState API
As a cleanup this CL also merges: - ios/public/provider/chrome/DEPS - ios/public/provider/chrome/browser/DEPS into: - ios/public/provider/chrome/browser/DEPS And adds missing dependencies in the gyp file. BUG=560816 Review URL: https://codereview.chromium.org/1557383002 Cr-Commit-Position: refs/heads/master@{#367569}
-rw-r--r--ios/provider/ios_provider_chrome.gyp4
-rw-r--r--ios/public/provider/chrome/DEPS5
-rw-r--r--ios/public/provider/chrome/browser/DEPS4
-rw-r--r--ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h28
4 files changed, 36 insertions, 5 deletions
diff --git a/ios/provider/ios_provider_chrome.gyp b/ios/provider/ios_provider_chrome.gyp
index 15d9dad..f83f23d 100644
--- a/ios/provider/ios_provider_chrome.gyp
+++ b/ios/provider/ios_provider_chrome.gyp
@@ -37,6 +37,10 @@
'dependencies': [
'../../base/base.gyp:base',
'../../components/components.gyp:autofill_core_browser',
+ '../../components/components.gyp:favicon_base',
+ '../../components/components.gyp:metrics',
+ '../../components/components.gyp:sync_sessions',
+ '../../net/net.gyp:net',
'../web/ios_web.gyp:ios_web',
'ios_provider_web.gyp:ios_provider_web',
],
diff --git a/ios/public/provider/chrome/DEPS b/ios/public/provider/chrome/DEPS
deleted file mode 100644
index 2635c94..0000000
--- a/ios/public/provider/chrome/DEPS
+++ /dev/null
@@ -1,5 +0,0 @@
-include_rules = [
- "+components/autofill/core/browser",
- "+components/favicon_base",
- "+ios/web/public",
-]
diff --git a/ios/public/provider/chrome/browser/DEPS b/ios/public/provider/chrome/browser/DEPS
index 6487945..6b2f540 100644
--- a/ios/public/provider/chrome/browser/DEPS
+++ b/ios/public/provider/chrome/browser/DEPS
@@ -1,4 +1,8 @@
include_rules = [
+ "+components/autofill/core/browser",
+ "+components/favicon_base",
"+components/metrics",
"+components/sync_sessions",
+ "+ios/web/public",
+ "+net",
]
diff --git a/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h b/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h
index 08dac81..15d7580 100644
--- a/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h
+++ b/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h
@@ -5,14 +5,19 @@
#ifndef IOS_PUBLIC_PROVIDER_CHROME_BROWSER_BROWSER_STATE_CHROME_BROWSER_STATE_H_
#define IOS_PUBLIC_PROVIDER_CHROME_BROWSER_BROWSER_STATE_CHROME_BROWSER_STATE_H_
+#include <map>
#include <string>
#include "base/callback_forward.h"
#include "base/compiler_specific.h"
#include "base/macros.h"
+#include "base/memory/linked_ptr.h"
#include "base/memory/ref_counted.h"
+#include "base/memory/scoped_vector.h"
#include "ios/web/public/browser_state.h"
+#include "net/url_request/url_request_job_factory.h"
+class ChromeBrowserStateIOData;
class PrefProxyConfigTracker;
class PrefService;
@@ -23,6 +28,7 @@ class Time;
namespace net {
class SSLConfigService;
+class URLRequestInterceptor;
}
namespace syncable_prefs {
@@ -78,6 +84,15 @@ class ChromeBrowserState : public web::BrowserState {
// Retrieves a pointer to the PrefService that manages the preferences.
virtual PrefService* GetPrefs() = 0;
+ // Retrieves a pointer to the PrefService that manages the preferences
+ // for OffTheRecord browser states.
+ virtual PrefService* GetOffTheRecordPrefs() = 0;
+
+ // Allows access to ChromeBrowserStateIOData without going through
+ // ResourceContext that is not compiled on iOS. This method must be called on
+ // UI thread, but the returned object must only be accessed on the IO thread.
+ virtual ChromeBrowserStateIOData* GetIOData() = 0;
+
// Retrieves a pointer to the PrefService that manages the preferences as
// a syncable_prefs::PrefServiceSyncable.
virtual syncable_prefs::PrefServiceSyncable* GetSyncablePrefs() = 0;
@@ -101,6 +116,19 @@ class ChromeBrowserState : public web::BrowserState {
// Returns the SSLConfigService for this browser state.
virtual net::SSLConfigService* GetSSLConfigService() = 0;
+ // Creates the main net::URLRequestContextGetter that will be returned by
+ // GetRequestContext(). Should only be called once.
+ virtual net::URLRequestContextGetter* CreateRequestContext(
+ std::map<std::string,
+ linked_ptr<net::URLRequestJobFactory::ProtocolHandler>>*
+ protocol_handlers,
+ ScopedVector<net::URLRequestInterceptor> request_interceptors) = 0;
+
+ // Creates a isolated net::URLRequestContextGetter. Should only be called once
+ // per partition_path per browser state object.
+ virtual net::URLRequestContextGetter* CreateIsolatedRequestContext(
+ const base::FilePath& partition_path) = 0;
+
protected:
ChromeBrowserState() {}