summaryrefslogtreecommitdiffstats
path: root/extensions/browser/extension_registry.h
diff options
context:
space:
mode:
authorjamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-22 02:13:47 +0000
committerjamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-22 02:13:47 +0000
commit6b54fda654446046577e4b9c10c48eb61b022ebb (patch)
tree4707735b1e04dc6669d4baebc6e28dfa31f19c55 /extensions/browser/extension_registry.h
parente25bbc6831ccc2d0a924c3b0d8ce79469beff32c (diff)
downloadchromium_src-6b54fda654446046577e4b9c10c48eb61b022ebb.zip
chromium_src-6b54fda654446046577e4b9c10c48eb61b022ebb.tar.gz
chromium_src-6b54fda654446046577e4b9c10c48eb61b022ebb.tar.bz2
Reland: Refactor code that defers extension background page loading
src/extensions depends on chrome::NOTIFICATION_PROFILE_CREATED to support deferred loading of extension background pages when the profile isn't ready yet. This is a layering violation. * Remove Chrome concepts like "browser window ready" and "profile created" from ProcessManager. Introduce ProcessManagerDelegate with a general concept of deferring background page loading. * Consolidate all the tricky Chrome-specific background page loading rules into ChromeProcessManagerDelegate. This keeps all the rules in one place. Annotate each block of special case code with the bug that inspired it. * Extend unit test coverage for ProcessManager. This will make it easier to eliminate chrome::NOTIFICATION_PROFILE_DESTROYED in ProcessManager in a later CL. (Original CL https://codereview.chromium.org/381283002 broke valgrind bots because it was initializing left-over BrowserContextKeyedServices from tests running earlier in the same process.) BUG=392658 TEST=unit_tests ProcessManagerTest, browser_tests ProcessManagerBrowserTest, manual Review URL: https://codereview.chromium.org/408523005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284593 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'extensions/browser/extension_registry.h')
-rw-r--r--extensions/browser/extension_registry.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/extensions/browser/extension_registry.h b/extensions/browser/extension_registry.h
index 75724cd..d11111c 100644
--- a/extensions/browser/extension_registry.h
+++ b/extensions/browser/extension_registry.h
@@ -43,6 +43,8 @@ class ExtensionRegistry : public KeyedService {
// Returns the instance for the given |browser_context|.
static ExtensionRegistry* Get(content::BrowserContext* browser_context);
+ content::BrowserContext* browser_context() const { return browser_context_; }
+
// NOTE: These sets are *eventually* mututally exclusive, but an extension can
// appear in two sets for short periods of time.
const ExtensionSet& enabled_extensions() const {