diff options
author | Derek Sollenberger <djsollen@google.com> | 2010-03-08 16:11:27 -0500 |
---|---|---|
committer | Derek Sollenberger <djsollen@google.com> | 2010-03-09 08:29:38 -0500 |
commit | d3de9b89fbda35c06ad20c069229c2849ac5ff2d (patch) | |
tree | 40a106106829834c1bd996e699c9751e6483d9a7 /WebCore | |
parent | 5eaa19324d343d9997a2a2404ab2ea939fd15206 (diff) | |
download | external_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.cpp | 24 |
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(); } |