| Index: chrome/browser/extensions/component_loader.h
|
| diff --git a/chrome/browser/extensions/component_loader.h b/chrome/browser/extensions/component_loader.h
|
| index 02798b31b01616aacd5dc612546214c6831aee61..7e61e0bd652ecb2f4d0a5a349b545ed11b75f934 100644
|
| --- a/chrome/browser/extensions/component_loader.h
|
| +++ b/chrome/browser/extensions/component_loader.h
|
| @@ -32,8 +32,17 @@ class ComponentLoader {
|
| return component_extensions_.size();
|
| }
|
|
|
| - // Loads any registered component extensions.
|
| - void LoadAll();
|
| + // Creates and loads all registered component extensions, including those with
|
| + // background pages.
|
| + void BulkLoadAll();
|
| +
|
| + // Create all registered component extensions, loading those without
|
| + // background pages and deferring others until a call to BulkLoadDeferred.
|
| + void BulkLoadDeferBackgroundPages();
|
| +
|
| + // Load component extensions deferred in the last call to
|
| + // BulkLoadDeferBackgroundPages.
|
| + void BulkLoadDeferred();
|
|
|
| // Clear the list of all registered extensions and unloads them from the
|
| // extension service.
|
| @@ -111,7 +120,8 @@ class ComponentLoader {
|
| const FilePath& root_directory);
|
|
|
| // Loads a registered component extension.
|
| - const Extension* Load(const ComponentExtensionInfo& info);
|
| + void Load(const ComponentExtensionInfo& info,
|
| + bool defer_if_has_background_page);
|
|
|
| void AddDefaultComponentExtensionsWithBackgroundPages(
|
| bool skip_session_components);
|
| @@ -140,6 +150,10 @@ class ComponentLoader {
|
|
|
| PrefChangeRegistrar pref_change_registrar_;
|
|
|
| + // Extensions with background pages deferred by LoadAll(true).
|
| + typedef std::vector<scoped_refptr<const Extension> > DeferredAtLoadExtensions;
|
| + DeferredAtLoadExtensions deferred_at_load_extensions;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ComponentLoader);
|
| };
|
|
|
|
|