From 8beff076f15f979f9334ad9f962444f57050fe52 Mon Sep 17 00:00:00 2001 From: "jam@chromium.org" Date: Tue, 29 Sep 2009 02:18:30 +0000 Subject: Get rid of the need for cross process events in order to get plugin processes to run nested message loops when a dialog is shown. Instead use an async message that's broadcast from the renderer to all plugin processes that are connected to it, and which is dispatched on the plugin IO thread to set a process-local waitable event. This fixes showModalDialog on Linux/Mac. BUG=15891 TEST=covered by UI tests, undef's them for POSIX Review URL: http://codereview.chromium.org/242043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27456 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/plugin/npobject_util.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'chrome/plugin/npobject_util.h') diff --git a/chrome/plugin/npobject_util.h b/chrome/plugin/npobject_util.h index 861d591..3fcc701 100644 --- a/chrome/plugin/npobject_util.h +++ b/chrome/plugin/npobject_util.h @@ -26,10 +26,6 @@ struct NPVariant_Param; typedef _NPVariant NPVariant; typedef void *NPIdentifier; -namespace base { -class WaitableEvent; -} - // Needs to be called early in the plugin process lifetime, before any // plugin instances are initialized. void PatchNPNFunctions(); @@ -53,14 +49,14 @@ void CreateNPVariantParam(const NPVariant& variant, PluginChannelBase* channel, NPVariant_Param* param, bool release, - base::WaitableEvent* modal_dialog_event, + gfx::NativeViewId containing_window, const GURL& page_url); // Creates an NPVariant from the marshalled object. void CreateNPVariant(const NPVariant_Param& param, PluginChannelBase* channel, NPVariant* result, - base::WaitableEvent* modal_dialog_event, + gfx::NativeViewId containing_window, const GURL& page_url); #if defined(OS_WIN) -- cgit v1.1