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

Side by Side Diff: content/public/browser/plugin_service.h

Issue 19706002: Remove plugin_list.h includes from chrome tests in preparation for moving webkit/plugins to content… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix posix tests Created 7 years, 5 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/content_tests.gypi ('k') | webkit/plugins/npapi/mock_plugin_list.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_PUBLIC_BROWSER_PLUGIN_SERVICE_H_ 5 #ifndef CONTENT_PUBLIC_BROWSER_PLUGIN_SERVICE_H_
6 #define CONTENT_PUBLIC_BROWSER_PLUGIN_SERVICE_H_ 6 #define CONTENT_PUBLIC_BROWSER_PLUGIN_SERVICE_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/callback.h" 11 #include "base/callback.h"
12 #include "base/strings/string16.h" 12 #include "base/strings/string16.h"
13 #include "content/common/content_export.h" 13 #include "content/common/content_export.h"
14 14
15 class GURL; 15 class GURL;
16 16
17 namespace base { 17 namespace base {
18 class FilePath; 18 class FilePath;
19 } 19 }
20 20
21 namespace webkit { 21 namespace webkit {
22 struct WebPluginInfo; 22 struct WebPluginInfo;
23 namespace npapi {
24 class PluginList;
25 }
26 } 23 }
27 24
28 namespace content { 25 namespace content {
29 26
30 class BrowserContext; 27 class BrowserContext;
31 class PluginProcessHost; 28 class PluginProcessHost;
32 class PluginServiceFilter; 29 class PluginServiceFilter;
33 class ResourceContext; 30 class ResourceContext;
34 struct PepperPluginInfo; 31 struct PepperPluginInfo;
35 32
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 virtual void SetFilter(PluginServiceFilter* filter) = 0; 108 virtual void SetFilter(PluginServiceFilter* filter) = 0;
112 virtual PluginServiceFilter* GetFilter() = 0; 109 virtual PluginServiceFilter* GetFilter() = 0;
113 110
114 // If the plugin with the given path is running, cleanly shuts it down. 111 // If the plugin with the given path is running, cleanly shuts it down.
115 virtual void ForcePluginShutdown(const base::FilePath& plugin_path) = 0; 112 virtual void ForcePluginShutdown(const base::FilePath& plugin_path) = 0;
116 113
117 // Used to monitor plug-in stability. An unstable plug-in is one that has 114 // Used to monitor plug-in stability. An unstable plug-in is one that has
118 // crashed more than a set number of times in a set time period. 115 // crashed more than a set number of times in a set time period.
119 virtual bool IsPluginUnstable(const base::FilePath& plugin_path) = 0; 116 virtual bool IsPluginUnstable(const base::FilePath& plugin_path) = 0;
120 117
121 // The following functions are wrappers around webkit::npapi::PluginList. 118 // Cause the plugin list to refresh next time they are accessed, regardless
122 // These must be used instead of those in order to ensure that we have a 119 // of whether they are already loaded.
123 // single global list in the component build and so that we don't
124 // accidentally load plugins in the wrong process or thread. Refer to
125 // PluginList for further documentation of these functions.
126 virtual void RefreshPlugins() = 0; 120 virtual void RefreshPlugins() = 0;
121
122 // Add/Remove an extra plugin to load when we actually do the loading. Must
123 // be called before the plugins have been loaded.
127 virtual void AddExtraPluginPath(const base::FilePath& path) = 0; 124 virtual void AddExtraPluginPath(const base::FilePath& path) = 0;
125 virtual void RemoveExtraPluginPath(const base::FilePath& path) = 0;
126
127 // Same as above, but specifies a directory in which to search for plugins.
128 virtual void AddExtraPluginDir(const base::FilePath& path) = 0; 128 virtual void AddExtraPluginDir(const base::FilePath& path) = 0;
129 virtual void RemoveExtraPluginPath(const base::FilePath& path) = 0; 129
130 virtual void UnregisterInternalPlugin(const base::FilePath& path) = 0; 130 // Register an internal plugin with the specified plugin information.
131 // An internal plugin must be registered before it can
132 // be loaded using PluginList::LoadPlugin().
133 // If |add_at_beginning| is true the plugin will be added earlier in
134 // the list so that it can override the MIME types of older registrations.
131 virtual void RegisterInternalPlugin(const webkit::WebPluginInfo& info, 135 virtual void RegisterInternalPlugin(const webkit::WebPluginInfo& info,
132 bool add_at_beginning) = 0; 136 bool add_at_beginning) = 0;
137
138 // Removes a specified internal plugin from the list. The search will match
139 // on the path from the version info previously registered.
140 virtual void UnregisterInternalPlugin(const base::FilePath& path) = 0;
141
142 // Gets a list of all the registered internal plugins.
133 virtual void GetInternalPlugins( 143 virtual void GetInternalPlugins(
134 std::vector<webkit::WebPluginInfo>* plugins) = 0; 144 std::vector<webkit::WebPluginInfo>* plugins) = 0;
135 145
136 virtual void SetPluginListForTesting( 146 // This is equivalent to specifying kDisablePluginsDiscovery, but is useful
137 webkit::npapi::PluginList* plugin_list) = 0; 147 // for unittests.
148 virtual void DisablePluginsDiscoveryForTesting() = 0;
138 149
139 #if defined(OS_MACOSX) 150 #if defined(OS_MACOSX)
140 // Called when the application is made active so that modal plugin windows can 151 // Called when the application is made active so that modal plugin windows can
141 // be made forward too. 152 // be made forward too.
142 virtual void AppActivated() = 0; 153 virtual void AppActivated() = 0;
143 #endif 154 #endif
144 }; 155 };
145 156
146 } // namespace content 157 } // namespace content
147 158
148 #endif // CONTENT_PUBLIC_BROWSER_PLUGIN_SERVICE_H_ 159 #endif // CONTENT_PUBLIC_BROWSER_PLUGIN_SERVICE_H_
OLDNEW
« no previous file with comments | « content/content_tests.gypi ('k') | webkit/plugins/npapi/mock_plugin_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698