RESOLVED FIXED 135020
[Mac] Full screen video not always animating in the correct Space
https://bugs.webkit.org/show_bug.cgi?id=135020
Summary [Mac] Full screen video not always animating in the correct Space
Brent Fulgham
Reported 2014-07-17 12:37:13 PDT
Entering full-screen video playback mode can get locked to the original space used by the application. Instead, we should make sure our full screen window is part of the current space before entering full screen mode.
Attachments
Patch (2.00 KB, patch)
2014-07-17 12:48 PDT, Brent Fulgham
dino: review+
Brent Fulgham
Comment 1 2014-07-17 12:42:20 PDT
Brent Fulgham
Comment 2 2014-07-17 12:47:14 PDT
The fullscreen window can "remember" the Space it was part of the first time you enter fullscreen mode. Subsequent fullscreen transitions will always start from this Space, even if you move the WebKit-hosted application to a different Space. We can help the display system know when we've moved to a new Space by calling NSWindow's "orderBack" method on the fullscreen window prior to starting the transition to fullscreen mode. This method call hooks the window into the current Space so everything works properly.
Brent Fulgham
Comment 3 2014-07-17 12:48:24 PDT
Geoffrey Garen
Comment 4 2014-07-17 13:25:44 PDT
Comment on attachment 235085 [details] Patch If we orderBack, will the fullscreen animation be occluded in some way by front-more windows? Why not orderWindow:relativeTo: the WebView's window?
Geoffrey Garen
Comment 5 2014-07-17 13:26:06 PDT
(or orderFront)
Jer Noble
Comment 6 2014-07-17 13:54:22 PDT
(In reply to comment #4) > (From update of attachment 235085 [details]) > If we orderBack, will the fullscreen animation be occluded in some way by front-more windows? Why not orderWindow:relativeTo: the WebView's window? We actually still do makeKeyAndOrderFront: as soon as the animation begins. So this just orders the window on screen slightly earlier.
Brent Fulgham
Comment 7 2014-07-17 14:07:02 PDT
(In reply to comment #6) > (In reply to comment #4) > > (From update of attachment 235085 [details] [details]) > > If we orderBack, will the fullscreen animation be occluded in some way by front-more windows? Why not orderWindow:relativeTo: the WebView's window? > > We actually still do makeKeyAndOrderFront: as soon as the animation begins. So this just orders the window on screen slightly earlier. Right. We are just trying to get the Window tied to the right Space when we are prepping to begin the animation. If we do it too late, the animation is tied to the wrong Space and we get bad behavior. "orderBack" avoids any weird flashing of the fullscreen Window before we are ready for it to be seen.
Dean Jackson
Comment 8 2014-07-17 14:14:31 PDT
Comment on attachment 235085 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=235085&action=review > Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm:270 > + [self.window orderBack: self]; // Make sure the full screen window is part of the correct Space Nit: .
Brent Fulgham
Comment 9 2014-07-17 14:28:19 PDT
Darin Adler
Comment 10 2014-07-17 20:29:48 PDT
Comment on attachment 235085 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=235085&action=review >> Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm:270 >> + [self.window orderBack: self]; // Make sure the full screen window is part of the correct Space > > Nit: . No space after the colon.
Note You need to log in before you can comment on or make changes to this bug.