Diff
Modified: branches/safari-536.28-branch/Source/WebCore/ChangeLog (134283 => 134284)
--- branches/safari-536.28-branch/Source/WebCore/ChangeLog 2012-11-12 20:37:52 UTC (rev 134283)
+++ branches/safari-536.28-branch/Source/WebCore/ChangeLog 2012-11-12 20:38:10 UTC (rev 134284)
@@ -1,5 +1,22 @@
2012-11-12 Lucas Forschler <[email protected]>
+ Merge r131018
+
+ 2012-10-10 Jer Noble <[email protected]>
+
+ Disallow full screen mode keyboard access by default.
+ https://bugs.webkit.org/show_bug.cgi?id=98971
+ <rdar://problem/12474226>
+
+ Reviewed by Sam Weinig.
+
+ Fall back to requesting non-keyboard access if the client refuses to allow keyboard access.
+
+ * dom/Document.cpp:
+ (WebCore::Document::requestFullScreenForElement):
+
+2012-11-12 Lucas Forschler <[email protected]>
+
Merge r130855
2012-10-09 Philip Rogers <[email protected]>
@@ -207335,3 +207352,4 @@
.
.
.
+.
Modified: branches/safari-536.28-branch/Source/WebCore/dom/Document.cpp (134283 => 134284)
--- branches/safari-536.28-branch/Source/WebCore/dom/Document.cpp 2012-11-12 20:37:52 UTC (rev 134283)
+++ branches/safari-536.28-branch/Source/WebCore/dom/Document.cpp 2012-11-12 20:38:10 UTC (rev 134284)
@@ -5387,10 +5387,18 @@
// There is a previously-established user preference, security risk, or platform limitation.
if (!page() || !page()->settings()->fullScreenEnabled())
break;
-
- if (!page()->chrome()->client()->supportsFullScreenForElement(element, flags & Element::ALLOW_KEYBOARD_INPUT))
- break;
+ if (!page()->chrome()->client()->supportsFullScreenForElement(element, flags & Element::ALLOW_KEYBOARD_INPUT)) {
+ // The new full screen API does not accept a "flags" parameter, so fall back to disallowing
+ // keyboard input if the chrome client refuses to allow keyboard input.
+ if (!inLegacyMozillaMode && flags & Element::ALLOW_KEYBOARD_INPUT) {
+ flags &= ~Element::ALLOW_KEYBOARD_INPUT;
+ if (!page()->chrome()->client()->supportsFullScreenForElement(element, false))
+ break;
+ } else
+ break;
+ }
+
// 2. Let doc be element's node document. (i.e. "this")
Document* currentDoc = this;
Modified: branches/safari-536.28-branch/Source/WebKit/mac/ChangeLog (134283 => 134284)
--- branches/safari-536.28-branch/Source/WebKit/mac/ChangeLog 2012-11-12 20:37:52 UTC (rev 134283)
+++ branches/safari-536.28-branch/Source/WebKit/mac/ChangeLog 2012-11-12 20:38:10 UTC (rev 134284)
@@ -1,3 +1,20 @@
+2012-11-12 Lucas Forschler <[email protected]>
+
+ Merge r131018
+
+ 2012-10-10 Jer Noble <[email protected]>
+
+ Disallow full screen mode keyboard access by default.
+ https://bugs.webkit.org/show_bug.cgi?id=98971
+ <rdar://problem/12474226>
+
+ Reviewed by Sam Weinig.
+
+ Only support full screen if keyboard access is not requested.
+
+ * WebView/WebView.mm:
+ (-[WebView _supportsFullScreenForElement:WebCore::withKeyboard:]):
+
2012-08-06 Lucas Forschler <[email protected]>
Merge 123907
@@ -19499,3 +19516,4 @@
(WebKit::NetscapePluginInstanceProxy::loadRequest): Added an assertion.
== Rolled over to ChangeLog-2010-01-29 ==
+.
Modified: branches/safari-536.28-branch/Source/WebKit/mac/WebView/WebView.mm (134283 => 134284)
--- branches/safari-536.28-branch/Source/WebKit/mac/WebView/WebView.mm 2012-11-12 20:37:52 UTC (rev 134283)
+++ branches/safari-536.28-branch/Source/WebKit/mac/WebView/WebView.mm 2012-11-12 20:38:10 UTC (rev 134284)
@@ -6343,7 +6343,7 @@
if (![[WebPreferences standardPreferences] fullScreenEnabled])
return NO;
- return YES;
+ return !withKeyboard;
}
- (void)_enterFullScreenForElement:(WebCore::Element*)element
Modified: branches/safari-536.28-branch/Source/WebKit2/ChangeLog (134283 => 134284)
--- branches/safari-536.28-branch/Source/WebKit2/ChangeLog 2012-11-12 20:37:52 UTC (rev 134283)
+++ branches/safari-536.28-branch/Source/WebKit2/ChangeLog 2012-11-12 20:38:10 UTC (rev 134284)
@@ -1,5 +1,22 @@
2012-11-12 Lucas Forschler <[email protected]>
+ Merge r131018
+
+ 2012-10-10 Jer Noble <[email protected]>
+
+ Disallow full screen mode keyboard access by default.
+ https://bugs.webkit.org/show_bug.cgi?id=98971
+ <rdar://problem/12474226>
+
+ Reviewed by Sam Weinig.
+
+ Only support full screen if keyboard access is not requested.
+
+ * UIProcess/WebFullScreenManagerProxy.cpp:
+ (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
+
+2012-11-12 Lucas Forschler <[email protected]>
+
Merge r126903
2012-08-28 Jon Lee <[email protected]>
@@ -47841,3 +47858,4 @@
.
.
.
+.
Modified: branches/safari-536.28-branch/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp (134283 => 134284)
--- branches/safari-536.28-branch/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp 2012-11-12 20:37:52 UTC (rev 134283)
+++ branches/safari-536.28-branch/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp 2012-11-12 20:38:10 UTC (rev 134284)
@@ -96,7 +96,7 @@
void WebFullScreenManagerProxy::supportsFullScreen(bool withKeyboard, bool& supports)
{
- supports = true;
+ supports = !withKeyboard;
}
} // namespace WebKit