Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Unified Diff: ios/chrome/browser/browser_state/chrome_browser_state.cc

Issue 1667743002: Implement some methods of ChromeBrowserState. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@chrome_browser_state
Patch Set: Address comments Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ios/chrome/browser/browser_state/chrome_browser_state.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/browser/browser_state/chrome_browser_state.cc
diff --git a/ios/chrome/browser/browser_state/chrome_browser_state.cc b/ios/chrome/browser/browser_state/chrome_browser_state.cc
index 2926e02144042ff8ec16b72e16f10ff919842e64..adb23337f1f3dbc316f602db554211953ab148bc 100644
--- a/ios/chrome/browser/browser_state/chrome_browser_state.cc
+++ b/ios/chrome/browser/browser_state/chrome_browser_state.cc
@@ -4,12 +4,28 @@
#include "ios/chrome/browser/browser_state/chrome_browser_state.h"
+#include <utility>
+
#include "base/files/file_path.h"
+#include "base/logging.h"
+#include "base/sequenced_task_runner.h"
+#include "components/prefs/json_pref_store.h"
+#include "components/syncable_prefs/pref_service_syncable.h"
+#include "ios/chrome/browser/chrome_url_constants.h"
+#include "ios/chrome/browser/net/ios_chrome_url_request_context_getter.h"
+#include "ios/chrome/browser/net/net_types.h"
#include "ios/public/provider/web/web_ui_ios.h"
#include "ios/web/public/web_state/web_state.h"
+#include "ios/web/public/web_thread.h"
+#include "ios/web/webui/url_data_manager_ios_backend.h"
+#include "net/url_request/url_request_interceptor.h"
namespace ios {
+ChromeBrowserState::ChromeBrowserState() {}
+
+ChromeBrowserState::~ChromeBrowserState() {}
+
// static
ChromeBrowserState* ChromeBrowserState::FromBrowserState(
web::BrowserState* browser_state) {
@@ -33,4 +49,34 @@ std::string ChromeBrowserState::GetDebugName() {
return name;
}
+scoped_refptr<base::SequencedTaskRunner> ChromeBrowserState::GetIOTaskRunner() {
+ base::FilePath browser_state_path =
+ GetOriginalChromeBrowserState()->GetStatePath();
+ return JsonPrefStore::GetTaskRunnerForFile(browser_state_path,
+ web::WebThread::GetBlockingPool());
+}
+
+syncable_prefs::PrefServiceSyncable* ChromeBrowserState::GetSyncablePrefs() {
+ return static_cast<syncable_prefs::PrefServiceSyncable*>(GetPrefs());
+}
+
+TestChromeBrowserState* ChromeBrowserState::AsTestChromeBrowserState() {
+ return nullptr;
+}
+
+net::URLRequestContextGetter* ChromeBrowserState::GetRequestContext() {
+ DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI);
+ if (!request_context_getter_) {
+ ProtocolHandlerMap protocol_handlers;
+ protocol_handlers[kChromeUIScheme] =
+ linked_ptr<net::URLRequestJobFactory::ProtocolHandler>(
+ web::URLDataManagerIOSBackend::CreateProtocolHandler(this)
+ .release());
+ URLRequestInterceptorScopedVector request_interceptors;
+ request_context_getter_ = make_scoped_refptr(CreateRequestContext(
+ &protocol_handlers, std::move(request_interceptors)));
+ }
+ return request_context_getter_.get();
+}
+
} // namespace ios
« no previous file with comments | « ios/chrome/browser/browser_state/chrome_browser_state.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698