Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(964)

Unified Diff: content/browser/plugin_service.h

Issue 8493019: Refactor PluginService to take PluginList as a dependency. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase ToT Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/browser/plugin_service.cc » ('j') | content/browser/plugin_service.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/plugin_service.h
diff --git a/content/browser/plugin_service.h b/content/browser/plugin_service.h
index 6be2c4f3623da48ed3d5fab10ca438be07473a8b..a637103de43561dbe7a0aa7b0200fe42fe2ae43b 100644
--- a/content/browser/plugin_service.h
+++ b/content/browser/plugin_service.h
@@ -154,11 +154,11 @@ class CONTENT_EXPORT PluginService
// Asynchronously loads plugins if necessary and then calls back to the
// provided function on the calling MessageLoop on completion.
- void GetPlugins(const GetPluginsCallback& callback);
+ virtual void GetPlugins(const GetPluginsCallback& callback);
// Asynchronously loads the list of plugin groups if necessary and then calls
// back to the provided function on the calling MessageLoop on completion.
- void GetPluginGroups(const GetPluginGroupsCallback& callback);
+ virtual void GetPluginGroups(const GetPluginGroupsCallback& callback);
// Tells all the renderer processes associated with the given browser context
// to throw away their cache of the plugin list, and optionally also reload
@@ -173,7 +173,6 @@ class CONTENT_EXPORT PluginService
}
content::PluginServiceFilter* filter() { return filter_; }
-
// The following functions are wrappers around webkit::npapi::PluginList.
// These must be used instead of those in order to ensure that we have a
// single global list in the component build and so that we don't
@@ -189,13 +188,15 @@ class CONTENT_EXPORT PluginService
// TODO(dpranke): This should be private.
webkit::npapi::PluginList* plugin_list();
+ protected:
+ // Creates the PluginService object, but the actual plugin list is generated
+ // lazily. In tests, use MockPluginList for dependency injection.
+ PluginService(webkit::npapi::PluginList* plugin_list);
+ virtual ~PluginService();
+
private:
friend struct DefaultSingletonTraits<PluginService>;
-
- // Creates the PluginService object, but doesn't actually build the plugin
- // list yet. It's generated lazily.
- PluginService();
- virtual ~PluginService();
+ friend struct PluginServiceSingletonTraits;
// base::WaitableEventWatcher::Delegate implementation.
virtual void OnWaitableEventSignaled(base::WaitableEvent* waitable_event);
@@ -245,6 +246,9 @@ class CONTENT_EXPORT PluginService
base::files::FilePathWatcher::Delegate* delegate);
#endif
+ // The plugin list instance.
+ webkit::npapi::PluginList* plugin_list_;
+
// The browser's UI locale.
const std::string ui_locale_;
« no previous file with comments | « no previous file | content/browser/plugin_service.cc » ('j') | content/browser/plugin_service.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698