summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjustinlin@chromium.org <justinlin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-14 01:15:40 +0000
committerjustinlin@chromium.org <justinlin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-14 01:15:40 +0000
commitcb6b3902049d0bb227f486511c79220bc51afcc6 (patch)
tree4723cc6a24fc649eda1f6c990cf79c43e60a1a42
parent8a557bbd37e9550ca1706d1efce210bfa1efcf46 (diff)
downloadchromium_src-cb6b3902049d0bb227f486511c79220bc51afcc6.zip
chromium_src-cb6b3902049d0bb227f486511c79220bc51afcc6.tar.gz
chromium_src-cb6b3902049d0bb227f486511c79220bc51afcc6.tar.bz2
Remove TabCaptureRegistryFactory and use ProfileKeyedApi template instead.
Review URL: https://chromiumcodereview.appspot.com/23609040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223200 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/api/tab_capture/tab_capture_api.cc8
-rw-r--r--chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc17
-rw-r--r--chrome/browser/extensions/api/tab_capture/tab_capture_registry.h23
-rw-r--r--chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.cc51
-rw-r--r--chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.h43
-rw-r--r--chrome/browser/media/media_capture_devices_dispatcher.cc6
-rw-r--r--chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc4
-rw-r--r--chrome/chrome_browser_extensions.gypi2
8 files changed, 43 insertions, 111 deletions
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc
index ac0df0a..223a1e9 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_api.cc
@@ -6,11 +6,13 @@
#include "chrome/browser/extensions/api/tab_capture/tab_capture_api.h"
+#include <string>
+#include <vector>
+
#include "base/command_line.h"
#include "base/strings/stringprintf.h"
#include "base/values.h"
#include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h"
-#include "chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.h"
#include "chrome/browser/extensions/event_names.h"
#include "chrome/browser/extensions/extension_renderer_state.h"
#include "chrome/browser/extensions/tab_helper.h"
@@ -128,7 +130,7 @@ bool TabCaptureCaptureFunction::RunImpl() {
}
extensions::TabCaptureRegistry* registry =
- extensions::TabCaptureRegistryFactory::GetForProfile(profile());
+ extensions::TabCaptureRegistry::Get(profile());
if (!registry->AddRequest(render_process_id,
routing_id,
extension_id,
@@ -150,7 +152,7 @@ bool TabCaptureCaptureFunction::RunImpl() {
bool TabCaptureGetCapturedTabsFunction::RunImpl() {
extensions::TabCaptureRegistry* registry =
- extensions::TabCaptureRegistryFactory::GetForProfile(profile());
+ extensions::TabCaptureRegistry::Get(profile());
const TabCaptureRegistry::RegistryCaptureInfo& captured_tabs =
registry->GetCapturedTabs(GetExtension()->id());
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
index 1fa0080..2e7b72b 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
@@ -4,8 +4,7 @@
#include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h"
-#include <utility>
-
+#include "base/lazy_instance.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/event_router.h"
#include "chrome/browser/extensions/extension_system.h"
@@ -121,6 +120,20 @@ TabCaptureRegistry::~TabCaptureRegistry() {
MediaCaptureDevicesDispatcher::GetInstance()->RemoveObserver(this);
}
+// static
+TabCaptureRegistry* TabCaptureRegistry::Get(Profile* profile) {
+ return ProfileKeyedAPIFactory<TabCaptureRegistry>::GetForProfile(profile);
+}
+
+static base::LazyInstance<ProfileKeyedAPIFactory<TabCaptureRegistry> >
+ g_factory = LAZY_INSTANCE_INITIALIZER;
+
+// static
+ProfileKeyedAPIFactory<TabCaptureRegistry>*
+TabCaptureRegistry::GetFactoryInstance() {
+ return &g_factory.Get();
+}
+
const TabCaptureRegistry::RegistryCaptureInfo
TabCaptureRegistry::GetCapturedTabs(const std::string& extension_id) const {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.h b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.h
index 6472f1a..6f2fffe 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.h
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.h
@@ -6,11 +6,13 @@
#define CHROME_BROWSER_EXTENSIONS_API_TAB_CAPTURE_TAB_CAPTURE_REGISTRY_H_
#include <string>
+#include <utility>
+#include <vector>
#include "base/memory/scoped_vector.h"
+#include "chrome/browser/extensions/api/profile_keyed_api_factory.h"
#include "chrome/browser/media/media_capture_devices_dispatcher.h"
#include "chrome/common/extensions/api/tab_capture.h"
-#include "components/browser_context_keyed_service/browser_context_keyed_service.h"
#include "content/public/browser/media_request_state.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
@@ -24,14 +26,17 @@ class FullscreenObserver;
namespace tab_capture = extensions::api::tab_capture;
-class TabCaptureRegistry : public BrowserContextKeyedService,
+class TabCaptureRegistry : public ProfileKeyedAPI,
public content::NotificationObserver,
public MediaCaptureDevicesDispatcher::Observer {
public:
typedef std::vector<std::pair<int, tab_capture::TabCaptureState> >
RegistryCaptureInfo;
- explicit TabCaptureRegistry(Profile* profile);
+ static TabCaptureRegistry* Get(Profile* profile);
+
+ // Used by ProfileKeyedAPI.
+ static ProfileKeyedAPIFactory<TabCaptureRegistry>* GetFactoryInstance();
// List all pending, active and stopped capture requests.
const RegistryCaptureInfo GetCapturedTabs(
@@ -50,10 +55,20 @@ class TabCaptureRegistry : public BrowserContextKeyedService,
bool VerifyRequest(int render_process_id, int render_view_id);
private:
+ friend class ProfileKeyedAPIFactory<TabCaptureRegistry>;
friend class FullscreenObserver;
+ explicit TabCaptureRegistry(Profile* profile);
virtual ~TabCaptureRegistry();
+ // Used by ProfileKeyedAPI.
+ static const char* service_name() {
+ return "TabCaptureRegistry";
+ }
+
+ static const bool kServiceIsCreatedWithBrowserContext = false;
+ static const bool kServiceRedirectedInIncognito = false;
+
// content::NotificationObserver implementation.
virtual void Observe(int type,
const content::NotificationSource& source,
@@ -80,6 +95,6 @@ class TabCaptureRegistry : public BrowserContextKeyedService,
DISALLOW_COPY_AND_ASSIGN(TabCaptureRegistry);
};
-} // namespace extension
+} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_API_TAB_CAPTURE_TAB_CAPTURE_REGISTRY_H_
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.cc
deleted file mode 100644
index e48fcf9..0000000
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (c) 2012 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 "chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.h"
-
-#include "chrome/browser/extensions/api/discovery/suggested_links_registry.h"
-#include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h"
-#include "chrome/browser/extensions/extension_system_factory.h"
-#include "chrome/browser/profiles/incognito_helpers.h"
-#include "chrome/browser/profiles/profile.h"
-#include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
-
-namespace extensions {
-
-// static
-TabCaptureRegistry* TabCaptureRegistryFactory::GetForProfile(Profile* profile) {
- return static_cast<TabCaptureRegistry*>(
- GetInstance()->GetServiceForBrowserContext(profile, true));
-}
-
-// static
-TabCaptureRegistryFactory* TabCaptureRegistryFactory::GetInstance() {
- return Singleton<TabCaptureRegistryFactory>::get();
-}
-
-bool TabCaptureRegistryFactory::ServiceIsCreatedWithBrowserContext() const {
- return false;
-}
-
-TabCaptureRegistryFactory::TabCaptureRegistryFactory()
- : BrowserContextKeyedServiceFactory(
- "TabCaptureRegistry",
- BrowserContextDependencyManager::GetInstance()) {
- DependsOn(ExtensionSystemFactory::GetInstance());
-}
-
-TabCaptureRegistryFactory::~TabCaptureRegistryFactory() {
-}
-
-BrowserContextKeyedService* TabCaptureRegistryFactory::BuildServiceInstanceFor(
- content::BrowserContext* profile) const {
- return new TabCaptureRegistry(static_cast<Profile*>(profile));
-}
-
-content::BrowserContext* TabCaptureRegistryFactory::GetBrowserContextToUse(
- content::BrowserContext* context) const {
- return chrome::GetBrowserContextRedirectedInIncognito(context);
-}
-
-} // namespace extensions
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.h b/chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.h
deleted file mode 100644
index afd75d5..0000000
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (c) 2012 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 CHROME_BROWSER_EXTENSIONS_API_TAB_CAPTURE_TAB_CAPTURE_REGISTRY_FACTORY_H_
-#define CHROME_BROWSER_EXTENSIONS_API_TAB_CAPTURE_TAB_CAPTURE_REGISTRY_FACTORY_H_
-
-#include "base/memory/singleton.h"
-#include "components/browser_context_keyed_service/browser_context_keyed_service_factory.h"
-
-class Profile;
-
-namespace extensions {
-
-class TabCaptureRegistry;
-
-class TabCaptureRegistryFactory : public BrowserContextKeyedServiceFactory {
- public:
- static TabCaptureRegistry* GetForProfile(Profile* profile);
-
- static TabCaptureRegistryFactory* GetInstance();
-
- // BrowserContextKeyedBaseFactory:
- virtual bool ServiceIsCreatedWithBrowserContext() const OVERRIDE;
-
- private:
- friend struct DefaultSingletonTraits<TabCaptureRegistryFactory>;
-
- TabCaptureRegistryFactory();
- virtual ~TabCaptureRegistryFactory();
-
- // BrowserContextKeyedServiceFactory:
- virtual BrowserContextKeyedService* BuildServiceInstanceFor(
- content::BrowserContext* profile) const OVERRIDE;
- virtual content::BrowserContext* GetBrowserContextToUse(
- content::BrowserContext* context) const OVERRIDE;
-
- DISALLOW_COPY_AND_ASSIGN(TabCaptureRegistryFactory);
-};
-
-} // namespace extensions
-
-#endif // CHROME_BROWSER_EXTENSIONS_API_TAB_CAPTURE_TAB_CAPTURE_REGISTRY_FACTORY_H_
diff --git a/chrome/browser/media/media_capture_devices_dispatcher.cc b/chrome/browser/media/media_capture_devices_dispatcher.cc
index 9e36742..67f1bb8 100644
--- a/chrome/browser/media/media_capture_devices_dispatcher.cc
+++ b/chrome/browser/media/media_capture_devices_dispatcher.cc
@@ -12,7 +12,6 @@
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h"
-#include "chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.h"
#include "chrome/browser/media/audio_stream_indicator.h"
#include "chrome/browser/media/desktop_streams_registry.h"
#include "chrome/browser/media/media_stream_capture_indicator.h"
@@ -381,7 +380,7 @@ void MediaCaptureDevicesDispatcher::ProcessTabCaptureAccessRequest(
Profile* profile =
Profile::FromBrowserContext(web_contents->GetBrowserContext());
extensions::TabCaptureRegistry* tab_capture_registry =
- extensions::TabCaptureRegistryFactory::GetForProfile(profile);
+ extensions::TabCaptureRegistry::Get(profile);
bool tab_capture_allowed =
tab_capture_registry->VerifyRequest(request.render_process_id,
request.render_view_id);
@@ -623,7 +622,6 @@ void MediaCaptureDevicesDispatcher::OnMediaRequestStateChanged(
&MediaCaptureDevicesDispatcher::UpdateMediaRequestStateOnUIThread,
base::Unretained(this), render_process_id, render_view_id,
page_request_id, device, state));
-
}
void MediaCaptureDevicesDispatcher::OnAudioStreamPlayingChanged(
@@ -655,7 +653,7 @@ void MediaCaptureDevicesDispatcher::UpdateAudioDevicesOnUIThread(
}
void MediaCaptureDevicesDispatcher::UpdateVideoDevicesOnUIThread(
- const content::MediaStreamDevices& devices){
+ const content::MediaStreamDevices& devices) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
devices_enumerated_ = true;
video_devices_ = devices;
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
index 3e0db36..7dc3f10 100644
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -52,7 +52,7 @@
#include "chrome/browser/extensions/api/sockets_udp/udp_socket_event_dispatcher.h"
#include "chrome/browser/extensions/api/streams_private/streams_private_api.h"
#include "chrome/browser/extensions/api/system_info/system_info_api.h"
-#include "chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory.h"
+#include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h"
#include "chrome/browser/extensions/api/tabs/tabs_windows_api.h"
#include "chrome/browser/extensions/api/usb/usb_device_resource.h"
#include "chrome/browser/extensions/api/web_navigation/web_navigation_api.h"
@@ -260,7 +260,7 @@ EnsureBrowserContextKeyedServiceFactoriesBuilt() {
extensions::StreamsPrivateAPI::GetFactoryInstance();
extensions::SystemInfoAPI::GetFactoryInstance();
extensions::SuggestedLinksRegistryFactory::GetInstance();
- extensions::TabCaptureRegistryFactory::GetInstance();
+ extensions::TabCaptureRegistry::GetFactoryInstance();
extensions::TabsWindowsAPI::GetFactoryInstance();
extensions::TtsAPI::GetFactoryInstance();
extensions::WebNavigationAPI::GetFactoryInstance();
diff --git a/chrome/chrome_browser_extensions.gypi b/chrome/chrome_browser_extensions.gypi
index 301b965..c21b0aa 100644
--- a/chrome/chrome_browser_extensions.gypi
+++ b/chrome/chrome_browser_extensions.gypi
@@ -549,8 +549,6 @@
'browser/extensions/api/tab_capture/tab_capture_api.h',
'browser/extensions/api/tab_capture/tab_capture_registry.cc',
'browser/extensions/api/tab_capture/tab_capture_registry.h',
- 'browser/extensions/api/tab_capture/tab_capture_registry_factory.cc',
- 'browser/extensions/api/tab_capture/tab_capture_registry_factory.h',
'browser/extensions/api/tabs/tabs_api.cc',
'browser/extensions/api/tabs/tabs_api.h',
'browser/extensions/api/tabs/tabs_windows_api.cc',