summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/render_widget_helper.h
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-09 04:30:30 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-09 04:30:30 +0000
commit1b9af295f86b846582f96277bdba05d98bc3d2f4 (patch)
tree1241b0a0dfbdac3d6b941198068b8c9f8d30c5d9 /chrome/browser/renderer_host/render_widget_helper.h
parent3222e481e8bd6e542419d6d97ae26382f571e71d (diff)
downloadchromium_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.h9
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.)