summaryrefslogtreecommitdiffstats
path: root/WebCore
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2010-03-08 16:11:27 -0500
committerDerek Sollenberger <djsollen@google.com>2010-03-09 08:29:38 -0500
commitd3de9b89fbda35c06ad20c069229c2849ac5ff2d (patch)
tree40a106106829834c1bd996e699c9751e6483d9a7 /WebCore
parent5eaa19324d343d9997a2a2404ab2ea939fd15206 (diff)
downloadexternal_webkit-d3de9b89fbda35c06ad20c069229c2849ac5ff2d.zip
external_webkit-d3de9b89fbda35c06ad20c069229c2849ac5ff2d.tar.gz
external_webkit-d3de9b89fbda35c06ad20c069229c2849ac5ff2d.tar.bz2
fix to ensure plugins are not shown when they are marked hidden by the DOM.
Change-Id: Ic32359b699d71dcd1603ac9295c95100014fc484
Diffstat (limited to 'WebCore')
-rw-r--r--WebCore/plugins/android/PluginViewAndroid.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/WebCore/plugins/android/PluginViewAndroid.cpp b/WebCore/plugins/android/PluginViewAndroid.cpp
index 541fd21..c91b480 100644
--- a/WebCore/plugins/android/PluginViewAndroid.cpp
+++ b/WebCore/plugins/android/PluginViewAndroid.cpp
@@ -603,12 +603,31 @@ void PluginView::show()
{
setSelfVisible(true);
Widget::show();
+
+ if (platformPluginWidget())
+ platformPluginWidget()->updateSurfaceIfNeeded();
+
}
void PluginView::hide()
{
setSelfVisible(false);
Widget::hide();
+
+ if (platformPluginWidget())
+ platformPluginWidget()->updateSurfaceIfNeeded();
+}
+
+void PluginView::setParentVisible(bool visible) {
+
+ if (isParentVisible() == visible)
+ return;
+
+ Widget::setParentVisible(visible);
+
+ if (platformPluginWidget())
+ platformPluginWidget()->updateSurfaceIfNeeded();
+
}
void PluginView::paint(GraphicsContext* context, const IntRect& rect)
@@ -645,11 +664,6 @@ void PluginView::updatePluginWidget()
}
}
-// new as of SVN 38068, Nov 5 2008
-void PluginView::setParentVisible(bool) {
- notImplemented();
-}
-
void PluginView::halt() {
notImplemented();
}