Title: [183911] trunk/Source/WebKit2
Revision
183911
Author
jer.no...@apple.com
Date
2015-05-06 21:56:11 -0700 (Wed, 06 May 2015)

Log Message

[WK2][Fullscreen] Elements whose children extend beyond their bounds are clipped in fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=144716

Reviewed by Darin Adler.

We create a mask animation for the transition between windowed and fullscreen modes, on the
assumption that the element being taken into fullscreen mode does not have visible children
who extend beyond that elements bounds. This assumption breaks down in the case where div
with absolutely positioned children is taken fullscreen. While we can't necessarily make the
transition look correct in this case, we can remove the mask after the transition completes.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
* WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
(WebKit::removeAllMediaKeyStorageForOriginPath):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (183910 => 183911)


--- trunk/Source/WebKit2/ChangeLog	2015-05-07 04:46:07 UTC (rev 183910)
+++ trunk/Source/WebKit2/ChangeLog	2015-05-07 04:56:11 UTC (rev 183911)
@@ -1,3 +1,21 @@
+2015-05-06  Jer Noble  <jer.no...@apple.com>
+
+        [WK2][Fullscreen] Elements whose children extend beyond their bounds are clipped in fullscreen mode.
+        https://bugs.webkit.org/show_bug.cgi?id=144716
+
+        Reviewed by Darin Adler.
+
+        We create a mask animation for the transition between windowed and fullscreen modes, on the
+        assumption that the element being taken into fullscreen mode does not have visible children
+        who extend beyond that elements bounds. This assumption breaks down in the case where div
+        with absolutely positioned children is taken fullscreen. While we can't necessarily make the
+        transition look correct in this case, we can remove the mask after the transition completes.
+
+        * UIProcess/mac/WKFullScreenWindowController.mm:
+        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
+        * WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
+        (WebKit::removeAllMediaKeyStorageForOriginPath):
+
 2015-05-06  Jinwoo Jeong  <jw00.je...@samsung.com>
 
         Fix a build break on EFL debug build

Modified: trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm (183910 => 183911)


--- trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm	2015-05-07 04:46:07 UTC (rev 183910)
+++ trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm	2015-05-07 04:56:11 UTC (rev 183911)
@@ -297,6 +297,11 @@
         [self _manager]->didEnterFullScreen();
         [self _manager]->setAnimatingFullScreen(false);
 
+        NSView *contentView = [[self window] contentView];
+        [contentView.layer removeAllAnimations];
+        [[_clipView layer] removeAllAnimations];
+        [[_clipView layer].mask removeAllAnimations];
+
         [_webViewPlaceholder setExitWarningVisible:YES];
         [_webViewPlaceholder setTarget:self];
     } else {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to