summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webkit/plugins/npapi/webplugin_impl.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/webkit/plugins/npapi/webplugin_impl.cc b/webkit/plugins/npapi/webplugin_impl.cc
index e453438..14e9316 100644
--- a/webkit/plugins/npapi/webplugin_impl.cc
+++ b/webkit/plugins/npapi/webplugin_impl.cc
@@ -289,6 +289,13 @@ void WebPluginImpl::updateGeometry(
page_delegate_ &&
(first_geometry_update_ || !new_geometry.Equals(geometry_))) {
page_delegate_->DidMovePlugin(new_geometry);
+ // We invalidate windowed plugins during the first geometry update to
+ // ensure that they get reparented to the wrapper window in the browser.
+ // This ensures that they become visible and are painted by the OS. This is
+ // required as some pages don't invalidate when the plugin is added.
+ if (first_geometry_update_ && window_) {
+ InvalidateRect(window_rect);
+ }
}
// Only UpdateGeometry if either the window or clip rects have changed.