Remove fullscreen-auto-hide-delay
authordino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Jul 2018 00:25:14 +0000 (00:25 +0000)
committerdino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Jul 2018 00:25:14 +0000 (00:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=187493
<rdar://problem/41830852>

Reviewed by Antoine Quint.

Source/WebCore:

Remove the env() value for fullscreen-auto-hide-delay.

* dom/ConstantPropertyMap.cpp:
(WebCore::ConstantPropertyMap::nameForProperty const):
(WebCore::ConstantPropertyMap::setFullscreenAutoHideDelay): Deleted.
* dom/ConstantPropertyMap.h:
* page/Page.cpp:
(WebCore::Page::setFullscreenAutoHideDelay): Deleted.
* page/Page.h:
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): No need to reset delay.
(WebCore::Internals::setFullscreenAutoHideDelay): Deleted.
* testing/Internals.h: Remove the delay setter/getter.
* testing/Internals.idl:

Source/WebKit:

Now there is no delay, rename setFullscreenAutoHideTiming to setFullscreenAutoHideDuration,
and only send that value over to the Web Process.

* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::setFullscreenAutoHideDuration):
(WebKit::WebFullScreenManagerProxy::setFullscreenAutoHideTiming): Deleted.
* UIProcess/WebFullScreenManagerProxy.h:
* UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController viewWillAppear:]):
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::didExitFullScreen):
(WebKit::WebFullScreenManager::setFullscreenAutoHideDuration):
(WebKit::WebFullScreenManager::setFullscreenAutoHideTiming): Deleted.
* WebProcess/FullScreen/WebFullScreenManager.h:
* WebProcess/FullScreen/WebFullScreenManager.messages.in:

LayoutTests:

Update the existing test that partially used the delay, and remove the ones that
used only the delay.

* fullscreen/fullscreen-auto-hide-delay-expected.txt: Removed.
* fullscreen/fullscreen-auto-hide-delay.html: Removed.
* fullscreen/fullscreen-env-expected.txt:
* fullscreen/fullscreen-env.html:
* legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay-expected.txt: Removed.
* legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay.html: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233671 268f45cc-cd09-0410-ab3c-d52691b4dbfc

22 files changed:
LayoutTests/ChangeLog
LayoutTests/fullscreen/fullscreen-auto-hide-delay-expected.txt [deleted file]
LayoutTests/fullscreen/fullscreen-auto-hide-delay.html [deleted file]
LayoutTests/fullscreen/fullscreen-env-expected.txt
LayoutTests/fullscreen/fullscreen-env.html
LayoutTests/legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay-expected.txt [deleted file]
LayoutTests/legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay.html [deleted file]
Source/WebCore/ChangeLog
Source/WebCore/dom/ConstantPropertyMap.cpp
Source/WebCore/dom/ConstantPropertyMap.h
Source/WebCore/page/Page.cpp
Source/WebCore/page/Page.h
Source/WebCore/testing/Internals.cpp
Source/WebCore/testing/Internals.h
Source/WebCore/testing/Internals.idl
Source/WebKit/ChangeLog
Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp
Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm
Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.messages.in

index e12f989..ad39761 100644 (file)
@@ -1,3 +1,21 @@
+2018-07-09  Dean Jackson  <dino@apple.com>
+
+        Remove fullscreen-auto-hide-delay
+        https://bugs.webkit.org/show_bug.cgi?id=187493
+        <rdar://problem/41830852>
+
+        Reviewed by Antoine Quint.
+
+        Update the existing test that partially used the delay, and remove the ones that
+        used only the delay.
+
+        * fullscreen/fullscreen-auto-hide-delay-expected.txt: Removed.
+        * fullscreen/fullscreen-auto-hide-delay.html: Removed.
+        * fullscreen/fullscreen-env-expected.txt:
+        * fullscreen/fullscreen-env.html:
+        * legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay-expected.txt: Removed.
+        * legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay.html: Removed.
+
 2018-07-09  Truitt Savell  <tsavell@apple.com>
 
         Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/update-after-navigation-fetch-event.https.html is flaky
diff --git a/LayoutTests/fullscreen/fullscreen-auto-hide-delay-expected.txt b/LayoutTests/fullscreen/fullscreen-auto-hide-delay-expected.txt
deleted file mode 100644 (file)
index 3615a01..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-RUN(internals.setFullscreenAutoHideDelay(1))
-EXPECTED (window.getComputedStyle(target).transitionDuration == '1s') OK
-RUN(internals.setFullscreenAutoHideDelay(20))
-EXPECTED (window.getComputedStyle(target).transitionDuration == '20s') OK
-RUN(internals.setFullscreenAutoHideDelay(0))
-EXPECTED (window.getComputedStyle(target).transitionDuration == '0s') OK
-END OF TEST
-
diff --git a/LayoutTests/fullscreen/fullscreen-auto-hide-delay.html b/LayoutTests/fullscreen/fullscreen-auto-hide-delay.html
deleted file mode 100644 (file)
index f74595f..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <script src="full-screen-test.js"></script>
-    <script>
-        window.addEventListener('load', event => {
-            window.target = document.querySelector('#target');
-            run('internals.setFullscreenAutoHideDelay(1)');
-            testExpected('window.getComputedStyle(target).transitionDuration', '1s');
-            run('internals.setFullscreenAutoHideDelay(20)');
-            testExpected('window.getComputedStyle(target).transitionDuration', '20s');
-            run('internals.setFullscreenAutoHideDelay(0)');
-            testExpected('window.getComputedStyle(target).transitionDuration', '0s');
-            endTest();
-        });
-    </script>
-    <style>
-        #target {
-            position: relative;
-            transition-property: opacity;
-            transition-duration: env(fullscreen-auto-hide-delay);
-        }
-    </style>
-</head>
-<body>
-    <div id="target">&nbsp;</div>
-</body>
-</html>
\ No newline at end of file
index ae4fac8..3f4b2fe 100644 (file)
@@ -14,17 +14,11 @@ EXPECTED (window.getComputedStyle(target).top == '0px') OK
 EXPECTED (window.getComputedStyle(target).left == '0px') OK
 EXPECTED (window.getComputedStyle(target).bottom == '0px') OK
 EXPECTED (window.getComputedStyle(target).right == '0px') OK
-RUN(internals.setFullscreenAutoHideDelay(1))
 RUN(internals.setFullscreenAutoHideDuration(2))
-EXPECTED (window.getComputedStyle(target).transitionDelay == '1s') OK
 EXPECTED (window.getComputedStyle(target).transitionDuration == '2s') OK
-RUN(internals.setFullscreenAutoHideDelay(20))
 RUN(internals.setFullscreenAutoHideDuration(30))
-EXPECTED (window.getComputedStyle(target).transitionDelay == '20s') OK
 EXPECTED (window.getComputedStyle(target).transitionDuration == '30s') OK
-RUN(internals.setFullscreenAutoHideDelay(0))
 RUN(internals.setFullscreenAutoHideDuration(0))
-EXPECTED (window.getComputedStyle(target).transitionDelay == '0s') OK
 EXPECTED (window.getComputedStyle(target).transitionDuration == '0s') OK
 EVENT(webkitfullscreenchange)
 RUN(internals.setFullscreenControlsHidden(true))
index acf7adf..03b209b 100644 (file)
             testExpected('window.getComputedStyle(target).left', '0px');
             testExpected('window.getComputedStyle(target).bottom', '0px');
             testExpected('window.getComputedStyle(target).right', '0px');
-            run('internals.setFullscreenAutoHideDelay(1)');
             run('internals.setFullscreenAutoHideDuration(2)');
-            testExpected('window.getComputedStyle(target).transitionDelay', '1s');
             testExpected('window.getComputedStyle(target).transitionDuration', '2s');
-            run('internals.setFullscreenAutoHideDelay(20)');
             run('internals.setFullscreenAutoHideDuration(30)');
-            testExpected('window.getComputedStyle(target).transitionDelay', '20s');
             testExpected('window.getComputedStyle(target).transitionDuration', '30s');
-            run('internals.setFullscreenAutoHideDelay(0)');
             run('internals.setFullscreenAutoHideDuration(0)');
-            testExpected('window.getComputedStyle(target).transitionDelay', '0s');
             testExpected('window.getComputedStyle(target).transitionDuration', '0s');
             runWithKeyDown(() => {target.webkitRequestFullscreen() });
             waitForEventOnce(document, 'webkitfullscreenchange', event => {
@@ -50,7 +44,6 @@
             bottom: env(fullscreen-inset-bottom);
             right: env(fullscreen-inset-right);
             transition-duration: env(fullscreen-auto-hide-duration);
-            transition-delay: env(fullscreen-auto-hide-delay);
         }
     </style>
 </head>
diff --git a/LayoutTests/legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay-expected.txt b/LayoutTests/legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay-expected.txt
deleted file mode 100644 (file)
index 3615a01..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-RUN(internals.setFullscreenAutoHideDelay(1))
-EXPECTED (window.getComputedStyle(target).transitionDuration == '1s') OK
-RUN(internals.setFullscreenAutoHideDelay(20))
-EXPECTED (window.getComputedStyle(target).transitionDuration == '20s') OK
-RUN(internals.setFullscreenAutoHideDelay(0))
-EXPECTED (window.getComputedStyle(target).transitionDuration == '0s') OK
-END OF TEST
-
diff --git a/LayoutTests/legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay.html b/LayoutTests/legacy-animation-engine/fullscreen/fullscreen-auto-hide-delay.html
deleted file mode 100644 (file)
index bfb3689..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <script src="../../fullscreen/full-screen-test.js"></script>
-    <script>
-        window.addEventListener('load', event => {
-            window.target = document.querySelector('#target');
-            run('internals.setFullscreenAutoHideDelay(1)');
-            testExpected('window.getComputedStyle(target).transitionDuration', '1s');
-            run('internals.setFullscreenAutoHideDelay(20)');
-            testExpected('window.getComputedStyle(target).transitionDuration', '20s');
-            run('internals.setFullscreenAutoHideDelay(0)');
-            testExpected('window.getComputedStyle(target).transitionDuration', '0s');
-            endTest();
-        });
-    </script>
-    <style>
-        #target {
-            position: relative;
-            transition-property: opacity;
-            transition-duration: env(fullscreen-auto-hide-delay);
-        }
-    </style>
-</head>
-<body>
-    <div id="target">&nbsp;</div>
-</body>
-</html>
\ No newline at end of file
index 256e705..24cd295 100644 (file)
@@ -1,3 +1,26 @@
+2018-07-09  Dean Jackson  <dino@apple.com>
+
+        Remove fullscreen-auto-hide-delay
+        https://bugs.webkit.org/show_bug.cgi?id=187493
+        <rdar://problem/41830852>
+
+        Reviewed by Antoine Quint.
+
+        Remove the env() value for fullscreen-auto-hide-delay.
+
+        * dom/ConstantPropertyMap.cpp:
+        (WebCore::ConstantPropertyMap::nameForProperty const):
+        (WebCore::ConstantPropertyMap::setFullscreenAutoHideDelay): Deleted.
+        * dom/ConstantPropertyMap.h:
+        * page/Page.cpp:
+        (WebCore::Page::setFullscreenAutoHideDelay): Deleted.
+        * page/Page.h:
+        * testing/Internals.cpp:
+        (WebCore::Internals::resetToConsistentState): No need to reset delay.
+        (WebCore::Internals::setFullscreenAutoHideDelay): Deleted.
+        * testing/Internals.h: Remove the delay setter/getter.
+        * testing/Internals.idl:
+
 2018-07-09  Timothy Hatcher  <timothy@apple.com>
 
         Semantic colors don't update when accessibility Increase Contrast mode is enabled.
index 04d991e..84bdfe8 100644 (file)
@@ -58,7 +58,6 @@ const AtomicString& ConstantPropertyMap::nameForProperty(ConstantProperty proper
     static NeverDestroyed<AtomicString> fullscreenInsetLeftName("fullscreen-inset-left", AtomicString::ConstructFromLiteral);
     static NeverDestroyed<AtomicString> fullscreenInsetBottomName("fullscreen-inset-bottom", AtomicString::ConstructFromLiteral);
     static NeverDestroyed<AtomicString> fullscreenInsetRightName("fullscreen-inset-right", AtomicString::ConstructFromLiteral);
-    static NeverDestroyed<AtomicString> fullscreenAutoHideDelayName("fullscreen-auto-hide-delay", AtomicString::ConstructFromLiteral);
     static NeverDestroyed<AtomicString> fullscreenAutoHideDurationName("fullscreen-auto-hide-duration", AtomicString::ConstructFromLiteral);
 
     switch (property) {
@@ -78,8 +77,6 @@ const AtomicString& ConstantPropertyMap::nameForProperty(ConstantProperty proper
         return fullscreenInsetBottomName;
     case ConstantProperty::FullscreenInsetRight:
         return fullscreenInsetRightName;
-    case ConstantProperty::FullscreenAutoHideDelay:
-        return fullscreenAutoHideDelayName;
     case ConstantProperty::FullscreenAutoHideDuration:
         return fullscreenAutoHideDurationName;
     }
@@ -157,12 +154,6 @@ void ConstantPropertyMap::didChangeFullscreenInsets()
     m_document.invalidateMatchedPropertiesCacheAndForceStyleRecalc();
 }
 
-void ConstantPropertyMap::setFullscreenAutoHideDelay(Seconds delay)
-{
-    setValueForProperty(ConstantProperty::FullscreenAutoHideDelay, variableDataForPositiveDuration(delay));
-    m_document.invalidateMatchedPropertiesCacheAndForceStyleRecalc();
-}
-
 void ConstantPropertyMap::setFullscreenAutoHideDuration(Seconds duration)
 {
     setValueForProperty(ConstantProperty::FullscreenAutoHideDuration, variableDataForPositiveDuration(duration));
index 1d5eb7c..8d3239b 100644 (file)
@@ -47,7 +47,6 @@ enum class ConstantProperty {
     FullscreenInsetRight,
     FullscreenInsetBottom,
     FullscreenInsetLeft,
-    FullscreenAutoHideDelay,
     FullscreenAutoHideDuration,
 };
 
@@ -60,7 +59,6 @@ public:
 
     void didChangeSafeAreaInsets();
     void didChangeFullscreenInsets();
-    void setFullscreenAutoHideDelay(Seconds);
     void setFullscreenAutoHideDuration(Seconds);
 
 private:
index 5295221..61e2f63 100644 (file)
@@ -2452,15 +2452,6 @@ void Page::setFullscreenInsets(const FloatBoxExtent& insets)
     }
 }
 
-void Page::setFullscreenAutoHideDelay(Seconds delay)
-{
-    for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
-        if (!frame->document())
-            continue;
-        frame->document()->constantProperties().setFullscreenAutoHideDelay(delay);
-    }
-}
-
 void Page::setFullscreenAutoHideDuration(Seconds duration)
 {
     for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
index c27bd29..b194a85 100644 (file)
@@ -355,7 +355,6 @@ public:
     WEBCORE_EXPORT void setFullscreenInsets(const FloatBoxExtent&);
     const FloatBoxExtent& fullscreenInsets() const { return m_fullscreenInsets; }
 
-    WEBCORE_EXPORT void setFullscreenAutoHideDelay(Seconds);
     WEBCORE_EXPORT void setFullscreenAutoHideDuration(Seconds);
     WEBCORE_EXPORT void setFullscreenControlsHidden(bool);
 
index aea2d34..75962a7 100644 (file)
@@ -504,7 +504,6 @@ void Internals::resetToConsistentState(Page& page)
 #endif
 
     page.settings().setStorageAccessAPIEnabled(false);
-    page.setFullscreenAutoHideDelay(0_s);
     page.setFullscreenAutoHideDuration(0_s);
     page.setFullscreenInsets({ });
     page.setFullscreenControlsHidden(false);
@@ -2857,14 +2856,6 @@ void Internals::setFullscreenInsets(FullscreenInsets insets)
     page->setFullscreenInsets(FloatBoxExtent(insets.top, insets.right, insets.bottom, insets.left));
 }
 
-void Internals::setFullscreenAutoHideDelay(double delay)
-{
-    Page* page = contextDocument()->frame()->page();
-    ASSERT(page);
-
-    page->setFullscreenAutoHideDelay(Seconds(delay));
-}
-
 void Internals::setFullscreenAutoHideDuration(double duration)
 {
     Page* page = contextDocument()->frame()->page();
index 947732c..60f9189 100644 (file)
@@ -411,7 +411,6 @@ public:
         float right { 0 };
     };
     void setFullscreenInsets(FullscreenInsets);
-    void setFullscreenAutoHideDelay(double);
     void setFullscreenAutoHideDuration(double);
     void setFullscreenControlsHidden(bool);
 
index 6062f48..b3e08d4 100644 (file)
@@ -389,7 +389,6 @@ enum EventThrottlingBehavior {
     [Conditional=FULLSCREEN_API] readonly attribute boolean isAnimatingFullScreen;
 
     void setFullscreenInsets(FullscreenInsets insets);
-    void setFullscreenAutoHideDelay(double delay);
     void setFullscreenAutoHideDuration(double duration);
     void setFullscreenControlsHidden(boolean hidden);
 
index 9495af5..903fcaa 100644 (file)
@@ -1,3 +1,27 @@
+2018-07-09  Dean Jackson  <dino@apple.com>
+
+        Remove fullscreen-auto-hide-delay
+        https://bugs.webkit.org/show_bug.cgi?id=187493
+        <rdar://problem/41830852>
+
+        Reviewed by Antoine Quint.
+
+        Now there is no delay, rename setFullscreenAutoHideTiming to setFullscreenAutoHideDuration,
+        and only send that value over to the Web Process.
+
+        * UIProcess/WebFullScreenManagerProxy.cpp:
+        (WebKit::WebFullScreenManagerProxy::setFullscreenAutoHideDuration):
+        (WebKit::WebFullScreenManagerProxy::setFullscreenAutoHideTiming): Deleted.
+        * UIProcess/WebFullScreenManagerProxy.h:
+        * UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
+        (-[WKFullScreenViewController viewWillAppear:]):
+        * WebProcess/FullScreen/WebFullScreenManager.cpp:
+        (WebKit::WebFullScreenManager::didExitFullScreen):
+        (WebKit::WebFullScreenManager::setFullscreenAutoHideDuration):
+        (WebKit::WebFullScreenManager::setFullscreenAutoHideTiming): Deleted.
+        * WebProcess/FullScreen/WebFullScreenManager.h:
+        * WebProcess/FullScreen/WebFullScreenManager.messages.in:
+
 2018-07-09  Timothy Hatcher  <timothy@apple.com>
 
         Semantic colors don't update when accessibility Increase Contrast mode is enabled.
index 0ae141e..47ff0a6 100644 (file)
@@ -125,9 +125,9 @@ void WebFullScreenManagerProxy::setFullscreenInsets(const WebCore::FloatBoxExten
     m_page->process().send(Messages::WebFullScreenManager::SetFullscreenInsets(insets), m_page->pageID());
 }
 
-void WebFullScreenManagerProxy::setFullscreenAutoHideTiming(Seconds delay, Seconds duration)
+void WebFullScreenManagerProxy::setFullscreenAutoHideDuration(Seconds duration)
 {
-    m_page->process().send(Messages::WebFullScreenManager::SetFullscreenAutoHideTiming(delay, duration), m_page->pageID());
+    m_page->process().send(Messages::WebFullScreenManager::SetFullscreenAutoHideDuration(duration), m_page->pageID());
 }
 
 void WebFullScreenManagerProxy::setFullscreenControlsHidden(bool hidden)
index ce89030..ef32eb3 100644 (file)
@@ -74,7 +74,7 @@ public:
     void saveScrollPosition();
     void restoreScrollPosition();
     void setFullscreenInsets(const WebCore::FloatBoxExtent&);
-    void setFullscreenAutoHideTiming(Seconds delay, Seconds duration);
+    void setFullscreenAutoHideDuration(Seconds);
     void setFullscreenControlsHidden(bool);
 
 private:
index 500a81a..c68ca0d 100644 (file)
@@ -331,7 +331,7 @@ private:
     [self.view insertSubview:self._webView atIndex:0];
 
     if (auto* manager = self._manager)
-        manager->setFullscreenAutoHideTiming(Seconds(autoHideDelay), Seconds(showHideAnimationDuration));
+        manager->setFullscreenAutoHideDuration(Seconds(showHideAnimationDuration));
 
     [super viewWillAppear:animated];
 }
index 414596e..afa6973 100644 (file)
@@ -182,7 +182,7 @@ void WebFullScreenManager::didExitFullScreen()
 {
     ASSERT(m_element);
     setFullscreenInsets(FloatBoxExtent());
-    setFullscreenAutoHideTiming(0_s, 0_s);
+    setFullscreenAutoHideDuration(0_s);
     m_element->document().webkitDidExitFullScreenForElement(m_element.get());
 }
 
@@ -218,11 +218,9 @@ void WebFullScreenManager::setFullscreenInsets(const WebCore::FloatBoxExtent& in
     m_page->corePage()->setFullscreenInsets(insets);
 }
 
-void WebFullScreenManager::setFullscreenAutoHideTiming(Seconds delay, Seconds duration)
+void WebFullScreenManager::setFullscreenAutoHideDuration(Seconds duration)
 {
-    auto corePage = m_page->corePage();
-    corePage->setFullscreenAutoHideDelay(delay);
-    corePage->setFullscreenAutoHideDuration(duration);
+    m_page->corePage()->setFullscreenAutoHideDuration(duration);
 }
 
 void WebFullScreenManager::setFullscreenControlsHidden(bool hidden)
index eee706e..3c8ad02 100644 (file)
@@ -81,7 +81,7 @@ protected:
     void saveScrollPosition();
     void restoreScrollPosition();
     void setFullscreenInsets(const WebCore::FloatBoxExtent&);
-    void setFullscreenAutoHideTiming(Seconds delay, Seconds duration);
+    void setFullscreenAutoHideDuration(Seconds);
     void setFullscreenControlsHidden(bool);
 
     void didReceiveWebFullScreenManagerMessage(IPC::Connection&, IPC::Decoder&);
index 7f371f8..b69aece 100644 (file)
@@ -31,7 +31,7 @@ messages -> WebFullScreenManager LegacyReceiver {
     SaveScrollPosition()
     RestoreScrollPosition()
     SetFullscreenInsets(WebCore::RectEdges<float> insets)
-    SetFullscreenAutoHideTiming(Seconds delay, Seconds duration)
+    SetFullscreenAutoHideDuration(Seconds duration)
     SetFullscreenControlsHidden(bool hidden)
 }
 #endif