diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-09 04:30:30 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-09 04:30:30 +0000 |
commit | 1b9af295f86b846582f96277bdba05d98bc3d2f4 (patch) | |
tree | 1241b0a0dfbdac3d6b941198068b8c9f8d30c5d9 /chrome/browser/renderer_host/render_widget_helper.h | |
parent | 3222e481e8bd6e542419d6d97ae26382f571e71d (diff) | |
download | chromium_src-1b9af295f86b846582f96277bdba05d98bc3d2f4.zip chromium_src-1b9af295f86b846582f96277bdba05d98bc3d2f4.tar.gz chromium_src-1b9af295f86b846582f96277bdba05d98bc3d2f4.tar.bz2 |
Windowed plugins like Flash would cause the hung plugin dialog to show up when the print dialog was displayed.
The proposed fix is to signal the modal dialog event which would ensure that the renderer and plugins both pump
messages when the print dialog is displayed.
This fixes http://code.google.com/p/chromium/issues/detail?id=13804
Bug=13804
Review URL: http://codereview.chromium.org/155133
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20243 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host/render_widget_helper.h')
-rw-r--r-- | chrome/browser/renderer_host/render_widget_helper.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/chrome/browser/renderer_host/render_widget_helper.h b/chrome/browser/renderer_host/render_widget_helper.h index 5392750..0ff672b 100644 --- a/chrome/browser/renderer_host/render_widget_helper.h +++ b/chrome/browser/renderer_host/render_widget_helper.h @@ -138,6 +138,12 @@ class RenderWidgetHelper : void FreeTransportDIB(TransportDIB::Id dib_id); #endif + // Helper functions to signal and reset the modal dialog event, used to + // signal the renderer that it needs to pump messages while waiting for + // sync calls to return. These functions proxy the request to the UI thread. + void SignalModalDialogEvent(int routing_id); + void ResetModalDialogEvent(int routing_id); + private: // A class used to proxy a paint message. PaintMsgProxy objects are created // on the IO thread and destroyed on the UI thread. @@ -181,6 +187,9 @@ class RenderWidgetHelper : std::map<TransportDIB::Id, int> allocated_dibs_; #endif + void SignalModalDialogEventOnUI(int routing_id); + void ResetModalDialogEventOnUI(int routing_id); + // A map of live paint messages. Must hold pending_paints_lock_ to access. // The PaintMsgProxy objects are not owned by this map. (See PaintMsgProxy // for details about how the lifetime of instances are managed.) |