[OSX] [WK1] Crash when exiting fullscreen
authormmaxfield@apple.com <mmaxfield@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Jul 2014 22:51:14 +0000 (22:51 +0000)
committermmaxfield@apple.com <mmaxfield@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Jul 2014 22:51:14 +0000 (22:51 +0000)
https://bugs.webkit.org/show_bug.cgi?id=134943

Reviewed by Dean Jackson.

AppKit doesn't remove a view from the Key View Loop when removing it from its superview.

This codepath is already "tested" in fullscreen/full-screen-cancel.html, but because of our
testing infrastructure, the broken codepath doesn't actually get hit in DRT. Therefore,
there is no test.

* WebView/WebFullScreenController.mm:
(-[WebFullScreenController enterFullScreen:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@171120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebView/WebFullScreenController.mm

index 1eacf0c4b5e591d553643001124c45da94c1bc4c..4e026e75e13b07985e6d547b1a7cea9c6ecd224e 100644 (file)
@@ -1,3 +1,19 @@
+2014-07-15  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [OSX] [WK1] Crash when exiting fullscreen
+        https://bugs.webkit.org/show_bug.cgi?id=134943
+
+        Reviewed by Dean Jackson.
+
+        AppKit doesn't remove a view from the Key View Loop when removing it from its superview.
+
+        This codepath is already "tested" in fullscreen/full-screen-cancel.html, but because of our
+        testing infrastructure, the broken codepath doesn't actually get hit in DRT. Therefore,
+        there is no test.
+
+        * WebView/WebFullScreenController.mm:
+        (-[WebFullScreenController enterFullScreen:]):
+
 2014-07-14  Bear Travis  <betravis@adobe.com>
 
         [Feature Queries] Enable Feature Queries on Mac
index 7a7296e4d712ba96052f895c6065cb7a7c80325d..faf61cd6da7827832b806c2977e3b56dfcf1ca42 100644 (file)
@@ -235,6 +235,7 @@ static NSRect convertRectToScreen(NSWindow *window, NSRect rect)
     NSView* contentView = [[self window] contentView];
     [contentView addSubview:_webView positioned:NSWindowBelow relativeTo:nil];
     [_webView setFrame:[contentView bounds]];
+    [[_webViewPlaceholder.get() window] recalculateKeyViewLoop];
     
     [[self window] makeResponder:webWindowFirstResponder firstResponderIfDescendantOfView:_webView];