Title: [126085] branches/safari-536.26-branch/Source/WebKit2
Revision
126085
Author
[email protected]
Date
2012-08-20 16:16:42 -0700 (Mon, 20 Aug 2012)

Log Message

Merge r126041 for <rdar://problem/12133659>.

Modified Paths

Diff

Modified: branches/safari-536.26-branch/Source/WebKit2/ChangeLog (126084 => 126085)


--- branches/safari-536.26-branch/Source/WebKit2/ChangeLog	2012-08-20 23:07:21 UTC (rev 126084)
+++ branches/safari-536.26-branch/Source/WebKit2/ChangeLog	2012-08-20 23:16:42 UTC (rev 126085)
@@ -1,3 +1,24 @@
+2012-08-20  Mark Rowe  <[email protected]>
+
+        Merge r126041.
+
+    2012-08-18  John Sullivan  <[email protected]>
+
+        <https://bugs.webkit.org/show_bug.cgi?id=94486>
+        <rdar://problem/12128557>
+        REGRESSION (r121482, Lion-only): Closing a popover containing a WKView can crash
+        
+        Reviewed by Darin Adler.
+
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView viewWillMoveToWindow:]):
+        Avoid calling the code added in 121482 that ensures that the undo stack is cleaned up
+        before the WKView is moved from one window to another when the WKView is being moved
+        out of a popover window. This avoids a bug in OS X 10.7 that was fixed in 10.8.
+        While this technically reopens a potentially crashing code path that 121482 closed,
+        it only reopens it for WKViews that are used for text editing and that are removed
+        from an NSPopover at some time earlier than tear-down of the NSPopover.
+
 2012-08-14  Lucas Forschler  <[email protected]>
 
     Merge r125319.

Modified: branches/safari-536.26-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm (126084 => 126085)


--- branches/safari-536.26-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm	2012-08-20 23:07:21 UTC (rev 126084)
+++ branches/safari-536.26-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm	2012-08-20 23:16:42 UTC (rev 126085)
@@ -1876,9 +1876,18 @@
     NSWindow *currentWindow = [self window];
     if (window == currentWindow)
         return;
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED == 1070
+    // Avoid calling the code added in 121482 that ensures that the undo stack is cleaned up
+    // before the WKView is moved from one window to another when the WKView is being moved
+    // out of a popover window. This avoids a bug in OS X 10.7 that was fixed in 10.8.
+    // While this technically reopens a potentially crashing code path that 121482 closed,
+    // it only reopens it for WKViews that are used for text editing and that are removed
+    // from an NSPopover at some time earlier than tear-down of the NSPopover.
+    if (![currentWindow isKindOfClass:NSClassFromString(@"_NSPopoverWindow")])
+#endif
+        _data->_pageClient->viewWillMoveToAnotherWindow();
     
-    _data->_pageClient->viewWillMoveToAnotherWindow();
-    
     [self removeWindowObservers];
     [self addWindowObserversForWindow:window];
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to