diff options
author | lazyboy@chromium.org <lazyboy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-15 23:55:04 +0000 |
---|---|---|
committer | lazyboy@chromium.org <lazyboy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-15 23:55:04 +0000 |
commit | 32deec6509deb789265c50ba2943bc575b7f547c (patch) | |
tree | bc0bbbecb4d843daa9bca2808990658440edefaf /content/common/browser_plugin | |
parent | 38fa08719c97f7cd60c3379883488cb50b6fcb73 (diff) | |
download | chromium_src-32deec6509deb789265c50ba2943bc575b7f547c.zip chromium_src-32deec6509deb789265c50ba2943bc575b7f547c.tar.gz chromium_src-32deec6509deb789265c50ba2943bc575b7f547c.tar.bz2 |
Make renderer aware of browser plugin position.
We need to send updated screen rects to renderer whenever the embedder's browser side has screen rect updates. This informs webkit/renderer about the correct position of browser plugin.
Fix view bounds/coordinates for RWHViewGuest.
Both changes together should fix
a) datalist/html5 popups appearing in correct position: i. initially, ii: after moving app window, iii: after resizing app window.
b) window.screenX/Y/Left/Top for guests as well.
BUG=233285, 226653
TEST=Added tests, ran them on trybots. Ran PopupPositioning test in trybot for 50 times on each run, still found few flaky occurrences, will work on it more.
Review URL: https://chromiumcodereview.appspot.com/14123006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200393 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/common/browser_plugin')
-rw-r--r-- | content/common/browser_plugin/browser_plugin_messages.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/content/common/browser_plugin/browser_plugin_messages.h b/content/common/browser_plugin/browser_plugin_messages.h index f10453b..61c970d 100644 --- a/content/common/browser_plugin/browser_plugin_messages.h +++ b/content/common/browser_plugin/browser_plugin_messages.h @@ -50,8 +50,8 @@ IPC_STRUCT_BEGIN(BrowserPluginHostMsg_ResizeGuest_Params) IPC_STRUCT_MEMBER(base::SharedMemoryHandle, damage_buffer_handle) // The size of the damage buffer. IPC_STRUCT_MEMBER(size_t, damage_buffer_size) - // The new size of the guest view area. - IPC_STRUCT_MEMBER(gfx::Size, view_size) + // The new rect of the guest view area. + IPC_STRUCT_MEMBER(gfx::Rect, view_rect) // Indicates the scale factor of the embedder WebView. IPC_STRUCT_MEMBER(float, scale_factor) // Indicates a request for a full repaint of the page. @@ -284,6 +284,11 @@ IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_LockMouse_ACK, // Sends a PointerLock Unlock ACK to the BrowserPluginGuest. IPC_MESSAGE_ROUTED1(BrowserPluginHostMsg_UnlockMouse_ACK, int /* instance_id */) +// Sent when plugin's position has changed without UpdateRect. +IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_UpdateGeometry, + int /* instance_id */, + gfx::Rect /* view_rect */) + // ----------------------------------------------------------------------------- // These messages are from the guest renderer to the browser process |