summaryrefslogtreecommitdiffstats
path: root/chrome/common/render_messages_internal.h
diff options
context:
space:
mode:
authormbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-09 00:02:24 +0000
committermbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-09 00:02:24 +0000
commit2533ce1803f3324e69134e93f59acbb44afb1aa2 (patch)
tree59f0afeb73854fcfe39ae92ae7f8df07c9d24526 /chrome/common/render_messages_internal.h
parentdef2c34edce5346ea285d47c3653c5d4192b406e (diff)
downloadchromium_src-2533ce1803f3324e69134e93f59acbb44afb1aa2.zip
chromium_src-2533ce1803f3324e69134e93f59acbb44afb1aa2.tar.gz
chromium_src-2533ce1803f3324e69134e93f59acbb44afb1aa2.tar.bz2
Defer window.close(), resizeTo() and moveTo() actions
by posting a task back to the message loop before notifying the RenderWidgetHost to perform these operations. Otherwise the JS code races with the browser to use the modified window. BUG=http://crbug.com/6377 BUG=http://crbug.com/6192 Cache a pending_window_rect on the render_view (moved from prior CL where I had it on the chrome_client_impl). This is a short lived cache, and not a complete solution. It fixes this case, where a JS script makes multiple operations and expects the GetWindowSize() to be correct immedately after having called SetWindowSize(). BUG=http://crbug.com/835 Review URL: http://codereview.chromium.org/115030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15698 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/render_messages_internal.h')
-rw-r--r--chrome/common/render_messages_internal.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/common/render_messages_internal.h b/chrome/common/render_messages_internal.h
index fe12745f..0cf0905 100644
--- a/chrome/common/render_messages_internal.h
+++ b/chrome/common/render_messages_internal.h
@@ -573,6 +573,13 @@ IPC_BEGIN_MESSAGES(View)
// background will be tiled in both directions if it is not large enough.
IPC_MESSAGE_ROUTED1(ViewMsg_SetBackground,
SkBitmap /* background */)
+
+ // Reply to ViewHostMsg_RequestMove, ViewHostMsg_ShowView, and
+ // ViewHostMsg_ShowWidget to inform the renderer that the browser has
+ // processed the move. The browser may have ignored the move, but it finished
+ // processing. This is used because the renderer keeps a temporary cache of
+ // the widget position while these asynchronous operations are in progress.
+ IPC_MESSAGE_ROUTED0(ViewMsg_Move_ACK)
IPC_END_MESSAGES(View)