If the ChromeClient indicates the client supports the old full screen mode, but does not support the new full screen mode, disable AVFoundation playback, so that full screen mode continues to work.
<rdar://problem/9320415>
Created attachment 90676 [details] Patch
Comment on attachment 90676 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=90676&action=review > Source/WebKit/mac/WebView/WebView.mm:1565 > +#if ENABLE(FULLSCREEN_API) > + if (![preferences fullScreenEnabled]) > + settings->setAVFoundationEnabled(false); > + else > +#endif I'm not sure I understand the logic here. If the full screen API is compiled in, and a client doesn't have it enabled, then we force AVFoundation off. But if fullscreen API wasn't compiled in at all, wouldn't we still want AVFoundation turned off? This probably doesn't matter, since we won't actually face that combination of settings.
(In reply to comment #3) > (From update of attachment 90676 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=90676&action=review > > > Source/WebKit/mac/WebView/WebView.mm:1565 > > +#if ENABLE(FULLSCREEN_API) > > + if (![preferences fullScreenEnabled]) > > + settings->setAVFoundationEnabled(false); > > + else > > +#endif > > I'm not sure I understand the logic here. If the full screen API is compiled in, and a client doesn't have it enabled, then we force AVFoundation off. But if fullscreen API wasn't compiled in at all, wouldn't we still want AVFoundation turned off? This probably doesn't matter, since we won't actually face that combination of settings. That's a good point. I'll refactor this part so that AVFoundation gets disabled if FULLSCREEN_API is turned off.
Committed r84646: <http://trac.webkit.org/changeset/84646>