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/browser/browser_plugin/browser_plugin_embedder.cc | |
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/browser/browser_plugin/browser_plugin_embedder.cc')
-rw-r--r-- | content/browser/browser_plugin/browser_plugin_embedder.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/content/browser/browser_plugin/browser_plugin_embedder.cc b/content/browser/browser_plugin/browser_plugin_embedder.cc index 12de8ef..ba8b10a 100644 --- a/content/browser/browser_plugin/browser_plugin_embedder.cc +++ b/content/browser/browser_plugin/browser_plugin_embedder.cc @@ -75,6 +75,10 @@ void BrowserPluginEmbedder::GetRenderViewHostAtPosition( ++next_get_render_view_request_id_; } +void BrowserPluginEmbedder::DidSendScreenRects(RenderWidgetHostImpl* rwh) { + GetBrowserPluginGuestManager()->DidSendScreenRects(web_contents(), rwh); +} + void BrowserPluginEmbedder::RenderViewGone(base::TerminationStatus status) { CleanUp(); } |