summaryrefslogtreecommitdiffstats
path: root/chrome/plugin/webplugin_delegate_stub.cc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-21 08:10:29 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-21 08:10:29 +0000
commitb62de6b223ad59c0183fb0890f27121c7d24d852 (patch)
tree92787f54447c363052070044c7033f56c62e262f /chrome/plugin/webplugin_delegate_stub.cc
parent8930d471c128ed74b11beaa78ea1b171c1ac7157 (diff)
downloadchromium_src-b62de6b223ad59c0183fb0890f27121c7d24d852.zip
chromium_src-b62de6b223ad59c0183fb0890f27121c7d24d852.tar.gz
chromium_src-b62de6b223ad59c0183fb0890f27121c7d24d852.tar.bz2
Fix plugin hang that Earth team found.
Normally an NPObjectProxy uses the modal dialog event to figure out when it needs to pump window messages in an invoke. However, an NPObjectProxy created by an NPObjectStub never got access to this event, which led to this hang. BUG=7793 Review URL: http://codereview.chromium.org/20515 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10145 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin/webplugin_delegate_stub.cc')
-rw-r--r--chrome/plugin/webplugin_delegate_stub.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/chrome/plugin/webplugin_delegate_stub.cc b/chrome/plugin/webplugin_delegate_stub.cc
index 1a35ecf..b2041d4 100644
--- a/chrome/plugin/webplugin_delegate_stub.cc
+++ b/chrome/plugin/webplugin_delegate_stub.cc
@@ -257,7 +257,8 @@ void WebPluginDelegateStub::OnGetPluginScriptableObject(int* route_id,
*npobject_ptr = object;
// The stub will delete itself when the proxy tells it that it's released, or
// otherwise when the channel is closed.
- NPObjectStub* stub = new NPObjectStub(object, channel_.get(), *route_id);
+ NPObjectStub* stub = new NPObjectStub(
+ object, channel_.get(), *route_id, webplugin_->modal_dialog_event());
// Release ref added by GetPluginScriptableObject (our stub holds its own).
NPN_ReleaseObject(object);