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

Side by Side Diff: chrome/browser/plugin_service.h

Issue 19721: Random bits of de-Winification for WebContents. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 10 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 | « chrome/browser/plugin_installer.h ('k') | chrome/browser/printing/print_job.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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 CHROME_BROWSER_PLUGIN_SERVICE_H__ 8 #ifndef CHROME_BROWSER_PLUGIN_SERVICE_H_
9 #define CHROME_BROWSER_PLUGIN_SERVICE_H__ 9 #define CHROME_BROWSER_PLUGIN_SERVICE_H_
10 10
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/basictypes.h" 13 #include "base/basictypes.h"
14 #include "base/hash_tables.h" 14 #include "base/hash_tables.h"
15 #include "base/lock.h" 15 #include "base/lock.h"
16 #include "chrome/browser/browser_process.h" 16 #include "chrome/browser/browser_process.h"
17 #include "webkit/glue/webplugin.h" 17 #include "webkit/glue/webplugin.h"
18 18
19 namespace IPC { 19 namespace IPC {
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 FilePath chrome_plugin_data_dir_; 134 FilePath chrome_plugin_data_dir_;
135 135
136 // The browser's UI locale. 136 // The browser's UI locale.
137 const std::wstring ui_locale_; 137 const std::wstring ui_locale_;
138 138
139 // Need synchronization whenever we access the plugin_list singelton through 139 // Need synchronization whenever we access the plugin_list singelton through
140 // webkit_glue since this class is called on the main and IO thread. 140 // webkit_glue since this class is called on the main and IO thread.
141 Lock lock_; 141 Lock lock_;
142 142
143 // Handles plugin process shutdown. 143 // Handles plugin process shutdown.
144 class ShutdownHandler : 144 class ShutdownHandler : public base::RefCountedThreadSafe<ShutdownHandler> {
145 public base::RefCountedThreadSafe<ShutdownHandler> {
146 public: 145 public:
147 ShutdownHandler() {} 146 ShutdownHandler() {}
148 ~ShutdownHandler() {} 147 ~ShutdownHandler() {}
149 148
150 // Initiates plugin process shutdown. Ensures that the actual shutdown 149 // Initiates plugin process shutdown. Ensures that the actual shutdown
151 // happens on the io thread. 150 // happens on the io thread.
152 void InitiateShutdown(); 151 void InitiateShutdown();
153 152
154 private: 153 private:
155 // Shutdown handler which runs on the io thread. 154 // Shutdown handler which runs on the io thread.
156 void OnShutdown(); 155 void OnShutdown();
157 156
158 DISALLOW_EVIL_CONSTRUCTORS(ShutdownHandler); 157 DISALLOW_COPY_AND_ASSIGN(ShutdownHandler);
159 }; 158 };
160 159
161 friend class ShutdownHandler; 160 friend class ShutdownHandler;
162 scoped_refptr<ShutdownHandler> plugin_shutdown_handler_; 161 scoped_refptr<ShutdownHandler> plugin_shutdown_handler_;
163 162
164 DISALLOW_EVIL_CONSTRUCTORS(PluginService); 163 DISALLOW_COPY_AND_ASSIGN(PluginService);
165 }; 164 };
166 165
167 // The PluginProcessHostIterator allows to iterate through all the 166 // The PluginProcessHostIterator allows to iterate through all the
168 // PluginProcessHosts. Note that this should be done from the IO thread and that 167 // PluginProcessHosts. Note that this should be done from the IO thread and that
169 // the iterator should not be kept around as it may be invalidated on 168 // the iterator should not be kept around as it may be invalidated on
170 // subsequent event processing in the event loop. 169 // subsequent event processing in the event loop.
171 class PluginProcessHostIterator { 170 class PluginProcessHostIterator {
172 public: 171 public:
173 PluginProcessHostIterator(); 172 PluginProcessHostIterator();
174 PluginProcessHostIterator(const PluginProcessHostIterator& instance); 173 PluginProcessHostIterator(const PluginProcessHostIterator& instance);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 206
208 bool Done() { 207 bool Done() {
209 return (iterator_ == end_); 208 return (iterator_ == end_);
210 } 209 }
211 210
212 private: 211 private:
213 PluginService::PluginMap::const_iterator iterator_; 212 PluginService::PluginMap::const_iterator iterator_;
214 PluginService::PluginMap::const_iterator end_; 213 PluginService::PluginMap::const_iterator end_;
215 }; 214 };
216 215
217 #endif // CHROME_BROWSER_PLUGIN_SERVICE_H__ 216 #endif // CHROME_BROWSER_PLUGIN_SERVICE_H_
OLDNEW
« no previous file with comments | « chrome/browser/plugin_installer.h ('k') | chrome/browser/printing/print_job.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698