From 710d0fc6c5d97557bfbb7734126a9a2bf485db22 Mon Sep 17 00:00:00 2001 From: Adam Roben Date: Thu, 15 Aug 2013 16:07:14 -0400 Subject: [PATCH] Make overriding BrowserContext::RegisterPrefs actually work We were calling it before derived classes' vtables were set up. Now we wait to call it until the BrowserContext is fully constructed. --- brightray/browser/browser_context.cc | 3 +++ brightray/browser/browser_context.h | 2 ++ brightray/browser/browser_main_parts.cc | 1 + 3 files changed, 6 insertions(+) diff --git a/brightray/browser/browser_context.cc b/brightray/browser/browser_context.cc index 31c00b8d6a..3ade3b1c51 100644 --- a/brightray/browser/browser_context.cc +++ b/brightray/browser/browser_context.cc @@ -48,6 +48,9 @@ private: }; BrowserContext::BrowserContext() : resource_context_(new ResourceContext) { +} + +void BrowserContext::Initialize() { auto prefs_path = GetPath().Append(FILE_PATH_LITERAL("Preferences")); PrefServiceBuilder builder; builder.WithUserFilePrefs(prefs_path, diff --git a/brightray/browser/browser_context.h b/brightray/browser/browser_context.h index 85f00148c9..ec3f1f6e5a 100644 --- a/brightray/browser/browser_context.h +++ b/brightray/browser/browser_context.h @@ -22,6 +22,8 @@ public: BrowserContext(); ~BrowserContext(); + void Initialize(); + net::URLRequestContextGetter* CreateRequestContext(content::ProtocolHandlerMap*); PrefService* prefs() { return prefs_.get(); } diff --git a/brightray/browser/browser_main_parts.cc b/brightray/browser/browser_main_parts.cc index 04e67f24fb..bb435057c0 100644 --- a/brightray/browser/browser_main_parts.cc +++ b/brightray/browser/browser_main_parts.cc @@ -22,6 +22,7 @@ BrowserMainParts::~BrowserMainParts() { void BrowserMainParts::PreMainMessageLoopRun() { browser_context_.reset(CreateBrowserContext()); + browser_context_->Initialize(); // These two objects are owned by devtools_http_handler_. auto delegate = new DevToolsDelegate;