summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
authorevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-15 23:14:22 +0000
committerevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-15 23:14:22 +0000
commitcaa385013316f797a989b41518a5609608a6588d (patch)
treef74a484881234ae62bb16fbbd8d50a8f2db5559a /webkit/glue
parentcd924e01f1edfaab98c953941a0a956103130151 (diff)
downloadchromium_src-caa385013316f797a989b41518a5609608a6588d.zip
chromium_src-caa385013316f797a989b41518a5609608a6588d.tar.gz
chromium_src-caa385013316f797a989b41518a5609608a6588d.tar.bz2
linux: make windowless plugins work again after r12179 regressed it.
r12179 makes painting always call DidMove(), even when the plugin hasn't moved, in case the cutout rects need to change. DidMove() on Linux test_shell causes the window to invalidate, causing an endless cycle of repaints. r12179: http://src.chromium.org/viewvc/chrome?view=rev&revision=12179 This code will be very different in the real multiproc case, so this is just the minimal change to make test_shell work again. BUG=10059 Review URL: http://codereview.chromium.org/67147 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13804 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r--webkit/glue/webplugin_impl.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/webkit/glue/webplugin_impl.cc b/webkit/glue/webplugin_impl.cc
index 308e4ea..195fb16 100644
--- a/webkit/glue/webplugin_impl.cc
+++ b/webkit/glue/webplugin_impl.cc
@@ -661,14 +661,16 @@ void WebPluginImpl::setFrameRect(const WebCore::IntRect& rect,
CalculateBounds(rect, &window_rect, &clip_rect, &cutout_rects);
if (widget_dimensions_changed) {
+ // Notify the plugin that its parameters have changed.
delegate_->UpdateGeometry(
webkit_glue::FromIntRect(window_rect),
webkit_glue::FromIntRect(clip_rect));
}
if (window_) {
- // Let the WebViewDelegate know that the plugin window needs to be moved,
- // so that all the HWNDs are moved together.
+ // Notify the window hosting the plugin (the WebViewDelegate) that
+ // it needs to adjust the plugin, so that all the HWNDs can be moved
+ // at the same time.
WebPluginGeometry move;
move.window = window_;
move.window_rect = webkit_glue::FromIntRect(window_rect);