Title: [127477] branches/safari-536.26-branch/Source/WebKit2
Diff
Modified: branches/safari-536.26-branch/Source/WebKit2/ChangeLog (127476 => 127477)
--- branches/safari-536.26-branch/Source/WebKit2/ChangeLog 2012-09-04 18:37:26 UTC (rev 127476)
+++ branches/safari-536.26-branch/Source/WebKit2/ChangeLog 2012-09-04 18:42:03 UTC (rev 127477)
@@ -1,3 +1,27 @@
+2012-08-14 Lucas Forschler <[email protected]>
+
+ Rollout 127322.
+
+ 2012-08-31 Timothy Hatcher <[email protected]>
+
+ Merge r127272.
+
+ 2012-08-31 Brady Eidson <[email protected]>
+
+ REGRESSION (127047): Crash in PluginProxy::windowVisibilityChanged when changing tabs
+ <rdar://problem/12211180> and https://bugs.webkit.org/show_bug.cgi?id=95515
+
+ Reviewed by Dan Bernstein.
+
+ Plug-ins created in background tabs don't get initialized until they first become visible,
+ so telling them they are now invisible leads to messaging on behalf of an uninitialized plug-in.
+
+ Many other methods related to visibility and focus only call through if the plug-in is initialized,
+ so setWindowIsVisible should do the same.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setWindowIsVisible): Only tell initialized plug-ins of window visibility changes.
+
2012-08-31 Timothy Hatcher <[email protected]>
Merge r127319.
Modified: branches/safari-536.26-branch/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (127476 => 127477)
--- branches/safari-536.26-branch/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2012-09-04 18:37:26 UTC (rev 127476)
+++ branches/safari-536.26-branch/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2012-09-04 18:42:03 UTC (rev 127477)
@@ -756,19 +756,13 @@
transform.translate(scaledLocationInRootViewCoordinates.x(), scaledLocationInRootViewCoordinates.y());
transform.scale(pageScaleFactor);
- // 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.
+ // 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.
// Making the rect actually correct is covered by https://bugs.webkit.org/show_bug.cgi?id=95362
- 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();
- }
-
+ IntRect 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