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

Reply via email to