diff options
author | darin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-08 07:56:39 +0000 |
---|---|---|
committer | darin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-08 07:56:39 +0000 |
commit | aa2da5a192e30c5e2c7583597e86adac4d11d14b (patch) | |
tree | fa2eb94672c2e161379ff1c357c7dece379587e7 /chrome/browser/plugin_process_host.h | |
parent | eb2b2d8b73dfcbe5463f180e97a4fe841ca6e440 (diff) | |
download | chromium_src-aa2da5a192e30c5e2c7583597e86adac4d11d14b.zip chromium_src-aa2da5a192e30c5e2c7583597e86adac4d11d14b.tar.gz chromium_src-aa2da5a192e30c5e2c7583597e86adac4d11d14b.tar.bz2 |
Third times a charm! This is an attempt at re-landing r408. This time the UI test is revised to give the browser a chance to notice a crashed tab.
TBR=nsylvain
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@557 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/plugin_process_host.h')
-rw-r--r-- | chrome/browser/plugin_process_host.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/chrome/browser/plugin_process_host.h b/chrome/browser/plugin_process_host.h index f4cf06b..e9ea4c5 100644 --- a/chrome/browser/plugin_process_host.h +++ b/chrome/browser/plugin_process_host.h @@ -27,14 +27,14 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#ifndef CHROME_BROWSER_PLUGIN_PROCESS_HOST_H__ -#define CHROME_BROWSER_PLUGIN_PROCESS_HOST_H__ +#ifndef CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ +#define CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ #include <vector> #include "base/basictypes.h" #include "base/id_map.h" -#include "base/message_loop.h" +#include "base/object_watcher.h" #include "base/process.h" #include "base/scoped_ptr.h" #include "base/task.h" @@ -59,7 +59,7 @@ class GURL; // the renderer and plugin processes. class PluginProcessHost : public IPC::Channel::Listener, public IPC::Message::Sender, - public MessageLoop::Watcher { + public base::ObjectWatcher::Delegate { public: PluginProcessHost(PluginService* plugin_service); ~PluginProcessHost(); @@ -75,7 +75,7 @@ class PluginProcessHost : public IPC::Channel::Listener, // IPC::Message::Sender implementation: virtual bool Send(IPC::Message* msg); - // MessageLoop watcher callback + // ObjectWatcher::Delegate implementation: virtual void OnObjectSignaled(HANDLE object); // IPC::Channel::Listener implementation: @@ -159,6 +159,9 @@ class PluginProcessHost : public IPC::Channel::Listener, // The handle to our plugin process. Process process_; + // Used to watch the plugin process handle. + base::ObjectWatcher watcher_; + // true while we're waiting the channel to be opened. In the meantime, // plugin instance requests will be buffered. bool opening_channel_; @@ -179,4 +182,4 @@ class PluginProcessHost : public IPC::Channel::Listener, DISALLOW_EVIL_CONSTRUCTORS(PluginProcessHost); }; -#endif // CHROME_BROWSER_PLUGIN_PROCESS_HOST_H__ +#endif // CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ |