summaryrefslogtreecommitdiffstats
path: root/WebCore/plugins
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2010-03-16 16:29:40 -0400
committerDerek Sollenberger <djsollen@google.com>2010-03-16 16:30:38 -0400
commit1d7ddf2fb889b97549e1041bbbf53e481b4ced2c (patch)
tree0e8c6993f084b383a6b829c135cf1145a2dbd121 /WebCore/plugins
parentbfcd11290caa86fe38f2f6869cb3959f5853171a (diff)
downloadexternal_webkit-1d7ddf2fb889b97549e1041bbbf53e481b4ced2c.zip
external_webkit-1d7ddf2fb889b97549e1041bbbf53e481b4ced2c.tar.gz
external_webkit-1d7ddf2fb889b97549e1041bbbf53e481b4ced2c.tar.bz2
Ensure a plugin is not shown if it is completely obscured by other
html content. Change-Id: Iffcc30d47428708842ac5dddee41cc611d879c1c
Diffstat (limited to 'WebCore/plugins')
-rw-r--r--WebCore/plugins/android/PluginViewAndroid.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/WebCore/plugins/android/PluginViewAndroid.cpp b/WebCore/plugins/android/PluginViewAndroid.cpp
index 2da482f..ea72e23 100644
--- a/WebCore/plugins/android/PluginViewAndroid.cpp
+++ b/WebCore/plugins/android/PluginViewAndroid.cpp
@@ -591,7 +591,7 @@ void PluginView::show()
Widget::show();
if (platformPluginWidget())
- platformPluginWidget()->updateSurfaceIfNeeded();
+ platformPluginWidget()->layoutSurface();
}
@@ -601,7 +601,7 @@ void PluginView::hide()
Widget::hide();
if (platformPluginWidget())
- platformPluginWidget()->updateSurfaceIfNeeded();
+ platformPluginWidget()->layoutSurface();
}
void PluginView::setParentVisible(bool visible) {
@@ -612,7 +612,7 @@ void PluginView::setParentVisible(bool visible) {
Widget::setParentVisible(visible);
if (platformPluginWidget())
- platformPluginWidget()->updateSurfaceIfNeeded();
+ platformPluginWidget()->layoutSurface();
}
@@ -638,6 +638,7 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
notification of its global position change.
*/
updatePluginWidget();
+ m_window->setSurfaceClip(context->platformContext()->mCanvas->getTotalClip().getBounds());
} else {
m_window->inval(rect, false);
context->save();