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

Side by Side Diff: content/browser/plugin_service_impl.h

Issue 11235068: Move the remaning files in content\common to the content namespace. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/browser/plugin_process_host_mac.cc ('k') | content/browser/plugin_service_impl.cc » ('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 // This class responds to requests from renderers for the list of plugins, and 5 // This class responds to requests from renderers for the list of plugins, and
6 // also a proxy object for plugin instances. 6 // also a proxy object for plugin instances.
7 7
8 #ifndef CONTENT_BROWSER_PLUGIN_SERVICE_IMPL_H_ 8 #ifndef CONTENT_BROWSER_PLUGIN_SERVICE_IMPL_H_
9 #define CONTENT_BROWSER_PLUGIN_SERVICE_IMPL_H_ 9 #define CONTENT_BROWSER_PLUGIN_SERVICE_IMPL_H_
10 10
(...skipping 18 matching lines...) Expand all
29 29
30 #if defined(OS_WIN) 30 #if defined(OS_WIN)
31 #include "base/memory/scoped_ptr.h" 31 #include "base/memory/scoped_ptr.h"
32 #include "base/win/registry.h" 32 #include "base/win/registry.h"
33 #endif 33 #endif
34 34
35 #if defined(OS_POSIX) && !defined(OS_OPENBSD) 35 #if defined(OS_POSIX) && !defined(OS_OPENBSD)
36 #include "base/files/file_path_watcher.h" 36 #include "base/files/file_path_watcher.h"
37 #endif 37 #endif
38 38
39 class PluginDirWatcherDelegate;
40 class PluginLoaderPosix;
41
42 namespace base { 39 namespace base {
43 class MessageLoopProxy; 40 class MessageLoopProxy;
44 } 41 }
45 42
46 namespace content {
47 class BrowserContext;
48 class PluginServiceFilter;
49 class ResourceContext;
50 struct PepperPluginInfo;
51 }
52
53 namespace webkit { 43 namespace webkit {
54 namespace npapi { 44 namespace npapi {
55 class PluginList; 45 class PluginList;
56 } 46 }
57 } 47 }
58 48
49 namespace content {
50 class BrowserContext;
51 class PluginDirWatcherDelegate;
52 class PluginLoaderPosix;
53 class PluginServiceFilter;
54 class ResourceContext;
55 struct PepperPluginInfo;
56
59 // base::Bind() has limited arity, and the filter-related methods tend to 57 // base::Bind() has limited arity, and the filter-related methods tend to
60 // surpass that limit. 58 // surpass that limit.
61 struct PluginServiceFilterParams { 59 struct PluginServiceFilterParams {
62 int render_process_id; 60 int render_process_id;
63 int render_view_id; 61 int render_view_id;
64 GURL page_url; 62 GURL page_url;
65 content::ResourceContext* resource_context; 63 ResourceContext* resource_context;
66 }; 64 };
67 65
68 class CONTENT_EXPORT PluginServiceImpl 66 class CONTENT_EXPORT PluginServiceImpl
69 : NON_EXPORTED_BASE(public content::PluginService), 67 : NON_EXPORTED_BASE(public PluginService),
70 public base::WaitableEventWatcher::Delegate { 68 public base::WaitableEventWatcher::Delegate {
71 public: 69 public:
72 // Returns the PluginServiceImpl singleton. 70 // Returns the PluginServiceImpl singleton.
73 static PluginServiceImpl* GetInstance(); 71 static PluginServiceImpl* GetInstance();
74 72
75 // content::PluginService implementation: 73 // PluginService implementation:
76 virtual void Init() OVERRIDE; 74 virtual void Init() OVERRIDE;
77 virtual void StartWatchingPlugins() OVERRIDE; 75 virtual void StartWatchingPlugins() OVERRIDE;
78 virtual bool GetPluginInfoArray( 76 virtual bool GetPluginInfoArray(
79 const GURL& url, 77 const GURL& url,
80 const std::string& mime_type, 78 const std::string& mime_type,
81 bool allow_wildcard, 79 bool allow_wildcard,
82 std::vector<webkit::WebPluginInfo>* info, 80 std::vector<webkit::WebPluginInfo>* info,
83 std::vector<std::string>* actual_mime_types) OVERRIDE; 81 std::vector<std::string>* actual_mime_types) OVERRIDE;
84 virtual bool GetPluginInfo(int render_process_id, 82 virtual bool GetPluginInfo(int render_process_id,
85 int render_view_id, 83 int render_view_id,
86 content::ResourceContext* context, 84 ResourceContext* context,
87 const GURL& url, 85 const GURL& url,
88 const GURL& page_url, 86 const GURL& page_url,
89 const std::string& mime_type, 87 const std::string& mime_type,
90 bool allow_wildcard, 88 bool allow_wildcard,
91 bool* is_stale, 89 bool* is_stale,
92 webkit::WebPluginInfo* info, 90 webkit::WebPluginInfo* info,
93 std::string* actual_mime_type) OVERRIDE; 91 std::string* actual_mime_type) OVERRIDE;
94 virtual bool GetPluginInfoByPath(const FilePath& plugin_path, 92 virtual bool GetPluginInfoByPath(const FilePath& plugin_path,
95 webkit::WebPluginInfo* info) OVERRIDE; 93 webkit::WebPluginInfo* info) OVERRIDE;
96 virtual string16 GetPluginDisplayNameByPath(const FilePath& path) OVERRIDE; 94 virtual string16 GetPluginDisplayNameByPath(const FilePath& path) OVERRIDE;
97 virtual void GetPlugins(const GetPluginsCallback& callback) OVERRIDE; 95 virtual void GetPlugins(const GetPluginsCallback& callback) OVERRIDE;
98 virtual content::PepperPluginInfo* GetRegisteredPpapiPluginInfo( 96 virtual PepperPluginInfo* GetRegisteredPpapiPluginInfo(
99 const FilePath& plugin_path) OVERRIDE; 97 const FilePath& plugin_path) OVERRIDE;
100 virtual void SetFilter(content::PluginServiceFilter* filter) OVERRIDE; 98 virtual void SetFilter(PluginServiceFilter* filter) OVERRIDE;
101 virtual content::PluginServiceFilter* GetFilter() OVERRIDE; 99 virtual PluginServiceFilter* GetFilter() OVERRIDE;
102 virtual void ForcePluginShutdown(const FilePath& plugin_path) OVERRIDE; 100 virtual void ForcePluginShutdown(const FilePath& plugin_path) OVERRIDE;
103 virtual bool IsPluginUnstable(const FilePath& plugin_path) OVERRIDE; 101 virtual bool IsPluginUnstable(const FilePath& plugin_path) OVERRIDE;
104 virtual void RefreshPlugins() OVERRIDE; 102 virtual void RefreshPlugins() OVERRIDE;
105 virtual void AddExtraPluginPath(const FilePath& path) OVERRIDE; 103 virtual void AddExtraPluginPath(const FilePath& path) OVERRIDE;
106 virtual void AddExtraPluginDir(const FilePath& path) OVERRIDE; 104 virtual void AddExtraPluginDir(const FilePath& path) OVERRIDE;
107 virtual void RemoveExtraPluginPath(const FilePath& path) OVERRIDE; 105 virtual void RemoveExtraPluginPath(const FilePath& path) OVERRIDE;
108 virtual void UnregisterInternalPlugin(const FilePath& path) OVERRIDE; 106 virtual void UnregisterInternalPlugin(const FilePath& path) OVERRIDE;
109 virtual void RegisterInternalPlugin( 107 virtual void RegisterInternalPlugin(
110 const webkit::WebPluginInfo& info, bool add_at_beginning) OVERRIDE; 108 const webkit::WebPluginInfo& info, bool add_at_beginning) OVERRIDE;
111 virtual void GetInternalPlugins( 109 virtual void GetInternalPlugins(
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 PluginProcessHost::Client* client, 187 PluginProcessHost::Client* client,
190 const std::vector<webkit::WebPluginInfo>&); 188 const std::vector<webkit::WebPluginInfo>&);
191 // Helper so we can do the plugin lookup on the FILE thread. 189 // Helper so we can do the plugin lookup on the FILE thread.
192 void GetAllowedPluginForOpenChannelToPlugin( 190 void GetAllowedPluginForOpenChannelToPlugin(
193 int render_process_id, 191 int render_process_id,
194 int render_view_id, 192 int render_view_id,
195 const GURL& url, 193 const GURL& url,
196 const GURL& page_url, 194 const GURL& page_url,
197 const std::string& mime_type, 195 const std::string& mime_type,
198 PluginProcessHost::Client* client, 196 PluginProcessHost::Client* client,
199 content::ResourceContext* resource_context); 197 ResourceContext* resource_context);
200 198
201 // Helper so we can finish opening the channel after looking up the 199 // Helper so we can finish opening the channel after looking up the
202 // plugin. 200 // plugin.
203 void FinishOpenChannelToPlugin( 201 void FinishOpenChannelToPlugin(
204 const FilePath& plugin_path, 202 const FilePath& plugin_path,
205 PluginProcessHost::Client* client); 203 PluginProcessHost::Client* client);
206 204
207 #if defined(OS_POSIX) && !defined(OS_OPENBSD) 205 #if defined(OS_POSIX) && !defined(OS_OPENBSD)
208 // Registers a new FilePathWatcher for a given path. 206 // Registers a new FilePathWatcher for a given path.
209 static void RegisterFilePathWatcher( 207 static void RegisterFilePathWatcher(
(...skipping 13 matching lines...) Expand all
223 scoped_ptr<base::WaitableEvent> hklm_event_; 221 scoped_ptr<base::WaitableEvent> hklm_event_;
224 base::WaitableEventWatcher hkcu_watcher_; 222 base::WaitableEventWatcher hkcu_watcher_;
225 base::WaitableEventWatcher hklm_watcher_; 223 base::WaitableEventWatcher hklm_watcher_;
226 #endif 224 #endif
227 225
228 #if defined(OS_POSIX) && !defined(OS_OPENBSD) 226 #if defined(OS_POSIX) && !defined(OS_OPENBSD)
229 ScopedVector<base::files::FilePathWatcher> file_watchers_; 227 ScopedVector<base::files::FilePathWatcher> file_watchers_;
230 scoped_refptr<PluginDirWatcherDelegate> file_watcher_delegate_; 228 scoped_refptr<PluginDirWatcherDelegate> file_watcher_delegate_;
231 #endif 229 #endif
232 230
233 std::vector<content::PepperPluginInfo> ppapi_plugins_; 231 std::vector<PepperPluginInfo> ppapi_plugins_;
234 232
235 // Weak pointer; outlives us. 233 // Weak pointer; outlives us.
236 content::PluginServiceFilter* filter_; 234 PluginServiceFilter* filter_;
237 235
238 std::set<PluginProcessHost::Client*> pending_plugin_clients_; 236 std::set<PluginProcessHost::Client*> pending_plugin_clients_;
239 237
240 #if defined(OS_WIN) 238 #if defined(OS_WIN)
241 // Used to sequentialize loading plug-ins from disk. 239 // Used to sequentialize loading plug-ins from disk.
242 base::SequencedWorkerPool::SequenceToken plugin_list_token_; 240 base::SequencedWorkerPool::SequenceToken plugin_list_token_;
243 #endif 241 #endif
244 #if defined(OS_POSIX) 242 #if defined(OS_POSIX)
245 scoped_refptr<PluginLoaderPosix> plugin_loader_; 243 scoped_refptr<PluginLoaderPosix> plugin_loader_;
246 #endif 244 #endif
247 245
248 // Used to detect if a given plug-in is crashing over and over. 246 // Used to detect if a given plug-in is crashing over and over.
249 std::map<FilePath, std::vector<base::Time> > crash_times_; 247 std::map<FilePath, std::vector<base::Time> > crash_times_;
250 248
251 DISALLOW_COPY_AND_ASSIGN(PluginServiceImpl); 249 DISALLOW_COPY_AND_ASSIGN(PluginServiceImpl);
252 }; 250 };
253 251
252 } // namespace content
253
254 #endif // CONTENT_BROWSER_PLUGIN_SERVICE_IMPL_H_ 254 #endif // CONTENT_BROWSER_PLUGIN_SERVICE_IMPL_H_
OLDNEW
« no previous file with comments | « content/browser/plugin_process_host_mac.cc ('k') | content/browser/plugin_service_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698