Title: [127319] trunk/Source/WebKit2
- Revision
- 127319
- Author
- [email protected]
- Date
- 2012-08-31 14:18:51 -0700 (Fri, 31 Aug 2012)
Log Message
REGRESSION (r127252): incomplete repaint on Flash element after pinch to zoom
<rdar://problem/12217897> and https://bugs.webkit.org/show_bug.cgi?id=95607
Reviewed by Simon Fraser.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::viewGeometryDidChange): Only give the window coordinate clip rect a chance
to override the boundsRect() if the page scale factor is 1.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (127318 => 127319)
--- trunk/Source/WebKit2/ChangeLog 2012-08-31 21:17:19 UTC (rev 127318)
+++ trunk/Source/WebKit2/ChangeLog 2012-08-31 21:18:51 UTC (rev 127319)
@@ -1,3 +1,14 @@
+2012-08-31 Brady Eidson <[email protected]>
+
+ REGRESSION (r127252): incomplete repaint on Flash element after pinch to zoom
+ <rdar://problem/12217897> and https://bugs.webkit.org/show_bug.cgi?id=95607
+
+ Reviewed by Simon Fraser.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::viewGeometryDidChange): Only give the window coordinate clip rect a chance
+ to override the boundsRect() if the page scale factor is 1.
+
2012-08-31 Tony Chang <[email protected]>
Remove ENABLE_CSS3_FLEXBOX compile time flag
Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (127318 => 127319)
--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2012-08-31 21:17:19 UTC (rev 127318)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2012-08-31 21:18:51 UTC (rev 127319)
@@ -785,13 +785,19 @@
transform.translate(scaledLocationInRootViewCoordinates.x(), scaledLocationInRootViewCoordinates.y());
transform.scale(pageScaleFactor);
- // FIXME: This clip rect isn't correct.
- // But it is still important distinguish between empty and non-empty rects so we can notify the plug-in when it becomes invisible.
+ // FIXME: The way we calculate this clip rect isn't correct.
+ // But it is still important to distinguish between empty and non-empty rects so we can notify the plug-in when it becomes invisible.
// Making the rect actually correct is covered by https://bugs.webkit.org/show_bug.cgi?id=95362
- IntRect clipRect = clipRectInWindowCoordinates();
- if (!clipRect.isEmpty())
- clipRect = boundsRect();
-
+ IntRect clipRect = boundsRect();
+
+ // FIXME: We can only get a semi-reliable answer from clipRectInWindowCoordinates() when the page is not scaled.
+ // Fixing that is tracked in <rdar://problem/9026611> - Make the Widget hierarchy play nicely with transforms, for zoomed plug-ins and iframes
+ if (pageScaleFactor == 1) {
+ clipRect = clipRectInWindowCoordinates();
+ if (!clipRect.isEmpty())
+ clipRect = boundsRect();
+ }
+
m_plugin->geometryDidChange(size(), clipRect, transform);
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes