Title: [173888] trunk/Source/WebKit2
- Revision
- 173888
- Author
- jer.no...@apple.com
- Date
- 2014-09-23 14:04:53 -0700 (Tue, 23 Sep 2014)
Log Message
REGRESSION (r171197): Clip's content is drawn behind Safari window when entering Full Screen youtube html5 first time
https://bugs.webkit.org/show_bug.cgi?id=137029
Reviewed by Brent Fulgham.
In r171197, we ordered the full screen window on- and off-screen so that the fullscreen animation went to the
correct screen, which introduced a subtle glitch at the beginning and end of an animation. For entering, ensure
that the window is scaled to its starting size before ordering on-screen. For exiting, order the window off-
screen before resetting its clipping rect.
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (173887 => 173888)
--- trunk/Source/WebKit2/ChangeLog 2014-09-23 20:54:14 UTC (rev 173887)
+++ trunk/Source/WebKit2/ChangeLog 2014-09-23 21:04:53 UTC (rev 173888)
@@ -1,3 +1,19 @@
+2014-09-23 Jer Noble <jer.no...@apple.com>
+
+ REGRESSION (r171197): Clip's content is drawn behind Safari window when entering Full Screen youtube html5 first time
+ https://bugs.webkit.org/show_bug.cgi?id=137029
+
+ Reviewed by Brent Fulgham.
+
+ In r171197, we ordered the full screen window on- and off-screen so that the fullscreen animation went to the
+ correct screen, which introduced a subtle glitch at the beginning and end of an animation. For entering, ensure
+ that the window is scaled to its starting size before ordering on-screen. For exiting, order the window off-
+ screen before resetting its clipping rect.
+
+ * UIProcess/mac/WKFullScreenWindowController.mm:
+ (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
+ (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
+
2014-09-23 Joseph Pecoraro <pecor...@apple.com>
Web Inspector: Should be able to attach a debugger to a JSContext before anything is executed
Modified: trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm (173887 => 173888)
--- trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm 2014-09-23 20:54:14 UTC (rev 173887)
+++ trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm 2014-09-23 21:04:53 UTC (rev 173888)
@@ -267,6 +267,12 @@
if (!_backgroundWindow)
_backgroundWindow = createBackgroundFullscreenWindow(NSZeroRect);
+ // The -orderBack: call below can cause the full screen window's contents to draw on top of
+ // all other visible windows on the screen, despite NSDisableScreenUpdates having been set, and
+ // despite being explicitly ordered behind all other windows. Set the initial scaled frame here
+ // before ordering the window on-screen to avoid this flash. <rdar://problem/18325063>
+ WKWindowSetScaledFrame(self.window, initialFrame, finalFrame);
+
[self.window orderBack: self]; // Make sure the full screen window is part of the correct Space.
[[self window] enterFullScreenMode:self];
}
@@ -383,11 +389,11 @@
[self _replaceView:_webViewPlaceholder.get() with:_webView];
makeResponderFirstResponderIfDescendantOfView(_webView.window, firstResponder, _webView);
+ [[self window] orderOut:self];
+
NSRect windowBounds = [[self window] frame];
windowBounds.origin = NSZeroPoint;
WKWindowSetClipRect([self window], windowBounds);
-
- [[self window] orderOut:self];
[[self window] setFrame:NSZeroRect display:YES];
[_scaleAnimation stopAnimation];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes