Title: [199733] trunk/Source/WebCore
Revision
199733
Author
adac...@apple.com
Date
2016-04-19 10:58:57 -0700 (Tue, 19 Apr 2016)

Log Message

Context menu items related to fullscreen should be specific to standard fullscreen
https://bugs.webkit.org/show_bug.cgi?id=156723
<rdar://problem/25452632>

Reviewed by Darin Adler.

Introduce HTMLMediaElement::isStandardFullscreen() that the HitTestResult code can use
when handling the validation and selection of fullscreen-related context menu items.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isStandardFullscreen):
(WebCore::HTMLMediaElement::toggleStandardFullscreenState):
Renamed to make it clear that it's for toggling standard fullscreen. Call the new
HTMLMediaElement::isStandardFullscreen().
* html/HTMLMediaElement.h:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::mediaIsInFullscreen):
Use HTMLMediaElement::isStandardFullscreen().
(WebCore::HitTestResult::toggleMediaFullscreenState):
Call the renamed HTMLMediaElement::toggleStandardFullscreenState().

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (199732 => 199733)


--- trunk/Source/WebCore/ChangeLog	2016-04-19 17:46:48 UTC (rev 199732)
+++ trunk/Source/WebCore/ChangeLog	2016-04-19 17:58:57 UTC (rev 199733)
@@ -1,3 +1,26 @@
+2016-04-18  Ada Chan  <adac...@apple.com>
+
+        Context menu items related to fullscreen should be specific to standard fullscreen
+        https://bugs.webkit.org/show_bug.cgi?id=156723
+        <rdar://problem/25452632>
+
+        Reviewed by Darin Adler.
+
+        Introduce HTMLMediaElement::isStandardFullscreen() that the HitTestResult code can use
+        when handling the validation and selection of fullscreen-related context menu items.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::isStandardFullscreen):
+        (WebCore::HTMLMediaElement::toggleStandardFullscreenState):
+        Renamed to make it clear that it's for toggling standard fullscreen. Call the new
+        HTMLMediaElement::isStandardFullscreen().
+        * html/HTMLMediaElement.h:
+        * rendering/HitTestResult.cpp:
+        (WebCore::HitTestResult::mediaIsInFullscreen):
+        Use HTMLMediaElement::isStandardFullscreen().
+        (WebCore::HitTestResult::toggleMediaFullscreenState):
+        Call the renamed HTMLMediaElement::toggleStandardFullscreenState().
+
 2016-04-19  Brady Eidson  <beid...@apple.com>
 
         Modern IDB: ObjectStore Blob Support.

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (199732 => 199733)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2016-04-19 17:46:48 UTC (rev 199732)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2016-04-19 17:58:57 UTC (rev 199733)
@@ -5312,11 +5312,21 @@
     return false;
 }
 
-void HTMLMediaElement::toggleFullscreenState()
+bool HTMLMediaElement::isStandardFullscreen() const
 {
-    LOG(Media, "HTMLMediaElement::toggleFullscreenState(%p) - isFullscreen() is %s", this, boolString(isFullscreen()));
+#if ENABLE(FULLSCREEN_API)
+    if (document().webkitIsFullScreen() && document().webkitCurrentFullScreenElement() == this)
+        return true;
+#endif
+
+    return m_videoFullscreenMode == VideoFullscreenModeStandard;
+}
+
+void HTMLMediaElement::toggleStandardFullscreenState()
+{
+    LOG(Media, "HTMLMediaElement::toggleStandardFullscreenState(%p) - isStandardFullscreen() is %s", this, boolString(isStandardFullscreen()));
     
-    if (isFullscreen())
+    if (isStandardFullscreen())
         exitFullscreen();
     else
         enterFullscreen();

Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (199732 => 199733)


--- trunk/Source/WebCore/html/HTMLMediaElement.h	2016-04-19 17:46:48 UTC (rev 199732)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h	2016-04-19 17:58:57 UTC (rev 199733)
@@ -358,7 +358,8 @@
     bool hasSingleSecurityOrigin() const { return !m_player || m_player->hasSingleSecurityOrigin(); }
     
     WEBCORE_EXPORT bool isFullscreen() const override;
-    void toggleFullscreenState();
+    bool isStandardFullscreen() const;
+    void toggleStandardFullscreenState();
 
     using MediaPlayerEnums::VideoFullscreenMode;
     VideoFullscreenMode fullscreenMode() const { return m_videoFullscreenMode; }

Modified: trunk/Source/WebCore/rendering/HitTestResult.cpp (199732 => 199733)


--- trunk/Source/WebCore/rendering/HitTestResult.cpp	2016-04-19 17:46:48 UTC (rev 199732)
+++ trunk/Source/WebCore/rendering/HitTestResult.cpp	2016-04-19 17:58:57 UTC (rev 199733)
@@ -447,7 +447,7 @@
 {
 #if ENABLE(VIDEO)
     if (HTMLMediaElement* mediaElement = this->mediaElement())
-        return mediaElement->isVideo() && mediaElement->isFullscreen();
+        return mediaElement->isVideo() && mediaElement->isStandardFullscreen();
 #endif
     return false;
 }
@@ -458,7 +458,7 @@
     if (HTMLMediaElement* mediaElement = this->mediaElement()) {
         if (mediaElement->isVideo() && mediaElement->supportsFullscreen(HTMLMediaElementEnums::VideoFullscreenModeStandard)) {
             UserGestureIndicator indicator(DefinitelyProcessingUserGesture, &mediaElement->document());
-            mediaElement->toggleFullscreenState();
+            mediaElement->toggleStandardFullscreenState();
         }
     }
 #endif
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to