Bug 135493 - [Mac] Fullscreen mode for some applications shows only a black screen
Summary: [Mac] Fullscreen mode for some applications shows only a black screen
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac Unspecified
: P2 Normal
Assignee: Brent Fulgham
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2014-07-31 21:45 PDT by Brent Fulgham
Modified: 2014-08-01 10:39 PDT (History)
5 users (show)

See Also:


Attachments
Patch (2.45 KB, patch)
2014-08-01 09:49 PDT, Brent Fulgham
jer.noble: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brent Fulgham 2014-07-31 21:45:54 PDT
Some WebKit2 client applications that attempt to enter Fullscreen mode end up with a black screen instead of seeing the fullscreen element. You can exit fullscreen mode and return to the full page, but this renders full screen mode unusable for these kinds of clients.
Comment 1 Brent Fulgham 2014-07-31 21:51:16 PDT
This turned out to be due to a mismatch between the type of window hosting the fullscreen view. In some applications, the NSWindow in the non-fullscreen mode is marked as InProcess only. The fullscreen NSWindow expects to be hosted in the display server (OutOfProcess).

When this kind of mismatch is encountered, the WK2 layer in the UI process is supposed to relay a message back to the WebProcess application indicating that the window hosting mode has changed. Unfortunately, this step was not happening properly resulting in the failure.
Comment 2 Brent Fulgham 2014-07-31 21:52:31 PDT
<rdar://problem/17628212>
Comment 3 Brent Fulgham 2014-08-01 09:49:07 PDT
Created attachment 235891 [details]
Patch
Comment 4 Jer Noble 2014-08-01 10:10:14 PDT
Comment on attachment 235891 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=235891&action=review

r=me, with nit.

> Source/WebKit2/UIProcess/API/mac/WKView.mm:2511
> +        // TODO: This can be removed when https://bugs.webkit.org/show_bug.cgi?id=135509 is resolved.
> +        _data->_page->layerHostingModeDidChange();
> +

Nit: this should be a "// FIXME(135509):" comment instead.
Comment 5 Brent Fulgham 2014-08-01 10:19:59 PDT
This patch works around Bug 135509.
Comment 6 Jer Noble 2014-08-01 10:27:04 PDT
(In reply to comment #5)
> This patch works around Bug 135509.

Yeah, so "FIXME(135509): This call becomes unnecessary once 135509 is fixed; remove."
Comment 7 Brent Fulgham 2014-08-01 10:27:19 PDT
Comment on attachment 235891 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=235891&action=review

>> Source/WebKit2/UIProcess/API/mac/WKView.mm:2511
>> +
> 
> Nit: this should be a "// FIXME(135509):" comment instead.

OK!
Comment 8 Brent Fulgham 2014-08-01 10:39:13 PDT
Committed r171920: <http://trac.webkit.org/changeset/171920>