diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-27 21:24:03 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-27 21:24:03 +0000 |
commit | 5d89cc98e7423ec7c0d6506f956ba68ab84d8477 (patch) | |
tree | 8694d8693c2e62923e4153e839e1a13930cc5739 /chrome/plugin/webplugin_delegate_stub.cc | |
parent | c51ec376738f7f8748ffefffd2a4db3403220c8c (diff) | |
download | chromium_src-5d89cc98e7423ec7c0d6506f956ba68ab84d8477.zip chromium_src-5d89cc98e7423ec7c0d6506f956ba68ab84d8477.tar.gz chromium_src-5d89cc98e7423ec7c0d6506f956ba68ab84d8477.tar.bz2 |
Fail the plugin initialization if we are unable to duplicate the event handle which is used for deciding whether we need to pump window messages in outgoing sync calls from the plugin. The theory is that the DuplicateHandle call could fail if the renderer process exited.
It is unclear as to what a reliable test for this would be. Will think over and possibly add in a future CB.
Fixes http://code.google.com/p/chromium/issues/detail?id=10972
Bug=10972
Review URL: http://codereview.chromium.org/99018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14662 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin/webplugin_delegate_stub.cc')
-rw-r--r-- | chrome/plugin/webplugin_delegate_stub.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/chrome/plugin/webplugin_delegate_stub.cc b/chrome/plugin/webplugin_delegate_stub.cc index a782b65..dcf7505 100644 --- a/chrome/plugin/webplugin_delegate_stub.cc +++ b/chrome/plugin/webplugin_delegate_stub.cc @@ -144,7 +144,8 @@ void WebPluginDelegateStub::OnInit(const PluginMsg_Init_Params& params, if (delegate_) { webplugin_ = new WebPluginProxy(channel_, instance_id_, delegate_); #if defined(OS_WIN) - webplugin_->SetModalDialogEvent(params.modal_dialog_event); + if (!webplugin_->SetModalDialogEvent(params.modal_dialog_event)) + return; #endif *result = delegate_->Initialize( params.url, argn, argv, argc, webplugin_, params.load_manually); |