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

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

Issue 6308001: When clearing plugin data at shutdown, wait for it to finish. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: whoops Created 9 years, 11 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ 5 #ifndef CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_
6 #define CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ 6 #define CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_
7 #pragma once 7 #pragma once
8 8
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 10
(...skipping 30 matching lines...) Expand all
41 class PluginProcessHost : public BrowserChildProcessHost, 41 class PluginProcessHost : public BrowserChildProcessHost,
42 public ResolveProxyMsgHelper::Delegate { 42 public ResolveProxyMsgHelper::Delegate {
43 public: 43 public:
44 class Client { 44 class Client {
45 public: 45 public:
46 // Returns a opaque unique identifier for the process requesting 46 // Returns a opaque unique identifier for the process requesting
47 // the channel. 47 // the channel.
48 virtual int ID() = 0; 48 virtual int ID() = 0;
49 virtual bool OffTheRecord() = 0; 49 virtual bool OffTheRecord() = 0;
50 virtual void SetPluginInfo(const webkit::npapi::WebPluginInfo& info) = 0; 50 virtual void SetPluginInfo(const webkit::npapi::WebPluginInfo& info) = 0;
51 // Called when we we have found the plugin process.
52 virtual void OnPluginProcessFound(PluginProcessHost* host) { }
51 // The client should delete itself when one of these methods is called. 53 // The client should delete itself when one of these methods is called.
52 virtual void OnChannelOpened(const IPC::ChannelHandle& handle) = 0; 54 virtual void OnChannelOpened(const IPC::ChannelHandle& handle) = 0;
53 virtual void OnError() = 0; 55 virtual void OnError() = 0;
54 56
55 protected: 57 protected:
56 virtual ~Client() {} 58 virtual ~Client() {}
57 }; 59 };
58 60
59 PluginProcessHost(); 61 PluginProcessHost();
60 virtual ~PluginProcessHost(); 62 virtual ~PluginProcessHost();
61 63
62 // Initialize the new plugin process, returning true on success. This must 64 // Initialize the new plugin process, returning true on success. This must
63 // be called before the object can be used. 65 // be called before the object can be used.
64 bool Init(const webkit::npapi::WebPluginInfo& info, const std::string& locale) ; 66 bool Init(const webkit::npapi::WebPluginInfo& info,
67 const std::string& locale);
65 68
66 // Force the plugin process to shutdown (cleanly). 69 // Force the plugin process to shutdown (cleanly).
67 virtual void ForceShutdown(); 70 virtual void ForceShutdown();
68 71
69 virtual bool OnMessageReceived(const IPC::Message& msg); 72 virtual bool OnMessageReceived(const IPC::Message& msg);
70 virtual void OnChannelConnected(int32 peer_pid); 73 virtual void OnChannelConnected(int32 peer_pid);
71 virtual void OnChannelError(); 74 virtual void OnChannelError();
72 75
73 // ResolveProxyMsgHelper::Delegate implementation: 76 // ResolveProxyMsgHelper::Delegate implementation:
74 virtual void OnResolveProxyCompleted(IPC::Message* reply_msg, 77 virtual void OnResolveProxyCompleted(IPC::Message* reply_msg,
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 // Tracks modal windows currently visible. 171 // Tracks modal windows currently visible.
169 std::set<uint32> plugin_modal_windows_set_; 172 std::set<uint32> plugin_modal_windows_set_;
170 // Tracks the current visibility of the cursor. 173 // Tracks the current visibility of the cursor.
171 bool plugin_cursor_visible_; 174 bool plugin_cursor_visible_;
172 #endif 175 #endif
173 176
174 DISALLOW_COPY_AND_ASSIGN(PluginProcessHost); 177 DISALLOW_COPY_AND_ASSIGN(PluginProcessHost);
175 }; 178 };
176 179
177 #endif // CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ 180 #endif // CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698