summaryrefslogtreecommitdiffstats
path: root/chrome/browser/plugin_process_host.h
diff options
context:
space:
mode:
authordarin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-08 07:56:39 +0000
committerdarin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-08 07:56:39 +0000
commitaa2da5a192e30c5e2c7583597e86adac4d11d14b (patch)
treefa2eb94672c2e161379ff1c357c7dece379587e7 /chrome/browser/plugin_process_host.h
parenteb2b2d8b73dfcbe5463f180e97a4fe841ca6e440 (diff)
downloadchromium_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.h15
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_