summaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
authorrockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-19 11:50:05 +0000
committerrockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-19 11:50:05 +0000
commitc4bdf9def9001c3cb9a27bba14a51008dc2914c3 (patch)
treec4e11742179c3b51b407061afff16dd5bbbe7ba4 /extensions
parentba1310781f66ed2f392936e2c1c74a802310dae4 (diff)
downloadchromium_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.cc34
-rw-r--r--extensions/browser/browser_context_keyed_service_factories.h16
-rw-r--r--extensions/extensions.gyp6
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.