summaryrefslogtreecommitdiffstats
path: root/content/common/browser_plugin
diff options
context:
space:
mode:
authorlazyboy@chromium.org <lazyboy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-15 23:55:04 +0000
committerlazyboy@chromium.org <lazyboy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-15 23:55:04 +0000
commit32deec6509deb789265c50ba2943bc575b7f547c (patch)
treebc0bbbecb4d843daa9bca2808990658440edefaf /content/common/browser_plugin
parent38fa08719c97f7cd60c3379883488cb50b6fcb73 (diff)
downloadchromium_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.h9
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