diff options
author | rockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-19 11:50:05 +0000 |
---|---|---|
committer | rockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-19 11:50:05 +0000 |
commit | c4bdf9def9001c3cb9a27bba14a51008dc2914c3 (patch) | |
tree | c4e11742179c3b51b407061afff16dd5bbbe7ba4 /extensions | |
parent | ba1310781f66ed2f392936e2c1c74a802310dae4 (diff) | |
download | chromium_src-c4bdf9def9001c3cb9a27bba14a51008dc2914c3.zip chromium_src-c4bdf9def9001c3cb9a27bba14a51008dc2914c3.tar.gz chromium_src-c4bdf9def9001c3cb9a27bba14a51008dc2914c3.tar.bz2 |
Move extensions BCKS factory creation
The list of BCKS factories being poked by ChromeBrowserMainExtraPartsProfiles
is quite long and extensions code is the biggest contributor to that length.
This moves extensions-related factory references into three new modules
(one for //apps, one for //extensions, and one for //c/b/extensions) and
condenses Chrome's extensions-related factory creation down to three calls
within ChromeBrowserMainExtraPartsProfiles.
BUG=352399
TBR=erg@chromium.org (for profiles parts)
Review URL: https://codereview.chromium.org/195943018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257936 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/browser/browser_context_keyed_service_factories.cc | 34 | ||||
-rw-r--r-- | extensions/browser/browser_context_keyed_service_factories.h | 16 | ||||
-rw-r--r-- | extensions/extensions.gyp | 6 |
3 files changed, 56 insertions, 0 deletions
diff --git a/extensions/browser/browser_context_keyed_service_factories.cc b/extensions/browser/browser_context_keyed_service_factories.cc new file mode 100644 index 0000000..38ee253 --- /dev/null +++ b/extensions/browser/browser_context_keyed_service_factories.cc @@ -0,0 +1,34 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "extensions/browser/browser_context_keyed_service_factories.h" + +#include "extensions/browser/api/api_resource_manager.h" +#include "extensions/browser/api/socket/socket.h" +#include "extensions/browser/api/socket/tcp_socket.h" +#include "extensions/browser/api/socket/udp_socket.h" +#include "extensions/browser/api/sockets_tcp/tcp_socket_event_dispatcher.h" +#include "extensions/browser/api/sockets_tcp_server/tcp_server_socket_event_dispatcher.h" +#include "extensions/browser/api/sockets_udp/udp_socket_event_dispatcher.h" +#include "extensions/browser/api/storage/storage_frontend.h" +#include "extensions/browser/extension_prefs_factory.h" +#include "extensions/browser/renderer_startup_helper.h" + +namespace extensions { + +void EnsureBrowserContextKeyedServiceFactoriesBuilt() { + ApiResourceManager< + extensions::ResumableTCPServerSocket>::GetFactoryInstance(); + ApiResourceManager<extensions::ResumableTCPSocket>::GetFactoryInstance(); + ApiResourceManager<extensions::ResumableUDPSocket>::GetFactoryInstance(); + ApiResourceManager<extensions::Socket>::GetFactoryInstance(); + core_api::TCPServerSocketEventDispatcher::GetFactoryInstance(); + core_api::TCPSocketEventDispatcher::GetFactoryInstance(); + core_api::UDPSocketEventDispatcher::GetFactoryInstance(); + extensions::ExtensionPrefsFactory::GetInstance(); + extensions::RendererStartupHelperFactory::GetInstance(); + extensions::StorageFrontend::GetFactoryInstance(); +} + +} // namespace extensions diff --git a/extensions/browser/browser_context_keyed_service_factories.h b/extensions/browser/browser_context_keyed_service_factories.h new file mode 100644 index 0000000..9801a7c --- /dev/null +++ b/extensions/browser/browser_context_keyed_service_factories.h @@ -0,0 +1,16 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef EXTENSIONS_BROWSER_BROWSER_CONTEXT_KEYED_SERVICE_FACTORIES_ +#define EXTENSIONS_BROWSER_BROWSER_CONTEXT_KEYED_SERVICE_FACTORIES_ + +namespace extensions { + +// Ensures the existence of any BrowserContextKeyedServiceFactory provided by +// the core extensions code. +void EnsureBrowserContextKeyedServiceFactoriesBuilt(); + +} // namespace extensions + +#endif // EXTENSIONS_BROWSER_BROWSER_CONTEXT_KEYED_SERVICE_FACTORIES_ diff --git a/extensions/extensions.gyp b/extensions/extensions.gyp index 8debbf4..4abb2b3 100644 --- a/extensions/extensions.gyp +++ b/extensions/extensions.gyp @@ -224,6 +224,8 @@ 'browser/app_sorting.h', 'browser/blacklist_state.h', 'browser/browser_context_keyed_api_factory.h', + 'browser/browser_context_keyed_service_factories.cc', + 'browser/browser_context_keyed_service_factories.h', 'browser/error_map.cc', 'browser/error_map.h', 'browser/event_listener_map.cc', @@ -317,6 +319,10 @@ 'sources/': [ ['exclude', '^browser/api/'], ], + 'sources!': [ + 'browser/browser_context_keyed_service_factories.cc', + 'browser/browser_context_keyed_service_factories.h', + ], }], ], # Disable c4267 warnings until we fix size_t to int truncations. |