Index: Source/core/dom/FullscreenElementStack.cpp |
diff --git a/Source/core/dom/FullscreenElementStack.cpp b/Source/core/dom/FullscreenElementStack.cpp |
index b499a8f0ac1e7071c88014395c9cff04cf28faa0..239fe6a6a818725700a660821d6efb5922a8b9b2 100644 |
--- a/Source/core/dom/FullscreenElementStack.cpp |
+++ b/Source/core/dom/FullscreenElementStack.cpp |
@@ -145,7 +145,7 @@ void FullscreenElementStack::documentWasDisposed() |
} |
#endif |
-void FullscreenElementStack::requestFullScreenForElement(Element& element, unsigned short flags, FullScreenCheckType checkType) |
+void FullscreenElementStack::requestFullScreenForElement(Element& element, RequestType requestType) |
{ |
// Ignore this request if the document is not in a live frame. |
if (!document()->isActive()) |
@@ -153,7 +153,7 @@ void FullscreenElementStack::requestFullScreenForElement(Element& element, unsig |
// The Mozilla Full Screen API <https://wiki.mozilla.org/Gecko:FullScreenAPI> has different requirements |
// for full screen mode, and do not have the concept of a full screen element stack. |
- bool inLegacyMozillaMode = (flags & Element::LEGACY_MOZILLA_REQUEST); |
+ bool inLegacyMozillaMode = requestType == PrefixedMozillaRequest || requestType == PrefixedMozillaAllowKeyboardInputRequest; |
do { |
// 1. If any of the following conditions are true, terminate these steps and queue a task to fire |
@@ -166,7 +166,7 @@ void FullscreenElementStack::requestFullScreenForElement(Element& element, unsig |
// The context object's node document, or an ancestor browsing context's document does not have |
// the fullscreen enabled flag set. |
- if (checkType == EnforceIFrameAllowFullScreenRequirement && !fullscreenIsAllowedForAllOwners(element.document())) |
+ if (requestType != PrefixedVideoRequest && !fullscreenIsAllowedForAllOwners(element.document())) |
break; |
// The context object's node document fullscreen element stack is not empty and its top element |
@@ -249,7 +249,7 @@ void FullscreenElementStack::requestFullScreenForElement(Element& element, unsig |
// 5. Return, and run the remaining steps asynchronously. |
// 6. Optionally, perform some animation. |
- m_areKeysEnabledInFullScreen = flags & Element::ALLOW_KEYBOARD_INPUT; |
+ m_areKeysEnabledInFullScreen = requestType != PrefixedMozillaRequest && requestType != PrefixedVideoRequest; |
document()->frameHost()->chrome().client().enterFullScreenForElement(&element); |
// 7. Optionally, display a message indicating how the user can exit displaying the context object fullscreen. |