[mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 22 May 2017 19:44:54 +0000 (19:44 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 22 May 2017 19:44:54 +0000 (19:44 +0000)
https://bugs.webkit.org/show_bug.cgi?id=168409

Patch by Antoine Quint <graouts@apple.com> on 2017-05-22
Reviewed by Simon Fraser.

Remove all the custom logging code we wrote to diagnose why this specific test failed and instead
log the backtrace when the ScriptedAnimationController gets suspended, which should allow us to
identify which test actually leads to suspension and affects this particular test.

* Modules/modern-media-controls/controls/scheduler.js:
(const.scheduler.new.prototype.scheduleLayout):
(const.scheduler.new.prototype.unscheduleLayout):
(const.scheduler.new.prototype._requestFrameIfNeeded):
(const.scheduler.new.prototype._frameDidFire):
(const.scheduler.new.prototype._layout):
* dom/Document.cpp:
(WebCore::Document::requestAnimationFrame):
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::suspend):
(WebCore::ScriptedAnimationController::resume):
(WebCore::ScriptedAnimationController::addThrottlingReason):
(WebCore::ScriptedAnimationController::removeThrottlingReason):
(WebCore::ScriptedAnimationController::registerCallback):
(WebCore::ScriptedAnimationController::cancelCallback):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::dispatchLoggingEventIfRequired): Deleted.
* dom/ScriptedAnimationController.h:
* page/Page.cpp:
(WebCore::Page::suspendScriptedAnimations):
* page/Settings.in:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::resetToConsistentState):
(WebCore::InternalSettings::shouldDispatchRequestAnimationFrameEvents): Deleted.
(WebCore::InternalSettings::setShouldDispatchRequestAnimationFrameEvents): Deleted.
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

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

12 files changed:
LayoutTests/media/modern-media-controls/airplay-button/airplay-button-expected.txt
LayoutTests/media/modern-media-controls/airplay-button/airplay-button.html
Source/WebCore/ChangeLog
Source/WebCore/Modules/modern-media-controls/controls/scheduler.js
Source/WebCore/dom/Document.cpp
Source/WebCore/dom/ScriptedAnimationController.cpp
Source/WebCore/dom/ScriptedAnimationController.h
Source/WebCore/page/Page.cpp
Source/WebCore/page/Settings.in
Source/WebCore/testing/InternalSettings.cpp
Source/WebCore/testing/InternalSettings.h
Source/WebCore/testing/InternalSettings.idl

index aa679a1..f9b5e31 100644 (file)
@@ -7,53 +7,9 @@ PASS airplayButton.element.localName is "button"
 PASS airplayButton.element.classList.contains("icon") is true
 PASS airplayButton.element.classList.contains("airplay") is true
 PASS airplayButton.iconName is Icons.Airplay
-PASS airplayButton.width is 0
-PASS airplayButton.height is 0
-PASS airplayButton._image is iconService.imageForIconNameAndLayoutTraits(Icons.Airplay.name, LayoutTraits.macOS)
-PASS airplayButton._image.src is not ""
-PASS airplayButton._image.complete is false
-scheduleLayout() - start
-_requestFrameIfNeeded()
-[ScriptedAnimationController] raf-register-callback
-[ScriptedAnimationController] raf-schedule-animation
-_requestFrameIfNeeded() - registered rAF, _frameID = 1
-scheduleLayout() - _layoutCallbacks.size = 1
-scheduleLayout() - end
-scheduleLayout() - start
-_requestFrameIfNeeded()
-_requestFrameIfNeeded() - failed to register rAF call, _frameID = 1, _layoutCallbacks.size = 1
-scheduleLayout() - _layoutCallbacks.size = 1
-scheduleLayout() - end
-scheduleLayout() - start
-_requestFrameIfNeeded()
-_requestFrameIfNeeded() - failed to register rAF call, _frameID = 1, _layoutCallbacks.size = 1
-scheduleLayout() - _layoutCallbacks.size = 1
-scheduleLayout() - end
-PASS airplayButton.width is not 0
-PASS airplayButton.height is not 0
-PASS airplayButton.needsLayout is true
-PASS scheduler.hasScheduledLayoutCallbacks is true
-PASS scheduler._layoutCallbacks.size is 1
-PASS scheduler._frameID is not -1
-PASS dirtyNodes.has(airplayButton) is true
 PASS airplayButton.element.style.webkitMaskImage.includes("macOS/airplay@") became true
-[ScriptedAnimationController] raf-service-scripted-animations
-[ScriptedAnimationController] raf-will-fire
-_frameDidFire() - start
-frameWillFire()
-PASS dirtyNodes.has(airplayButton) is true
-PASS airplayButton.needsLayout is true
-_layout() - start
-_layout() - layoutCallbacks.size = 1
-_layout() - end
-_requestFrameIfNeeded()
-_requestFrameIfNeeded() - failed to register rAF call, _frameID = -1, _layoutCallbacks.size = 0
-frameDidFire()
-PASS dirtyNodes.has(airplayButton) is false
-PASS airplayButton.needsLayout is false
-PASS airplayButton.element.getAttribute('aria-label') is "AirPlay"
-_frameDidFire() - end
-[ScriptedAnimationController] raf-did-fire
+PASS macOSFullscreenAirplayButton.element.style.webkitMaskImage.includes("macOS/airplay-fullscreen@") became true
+PASS iOSAirplayButton.element.style.webkitMaskImage.includes("iOS/airplay@") became true
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 240e0df..d112c88 100644 (file)
@@ -5,91 +5,24 @@
 <body>
 <script type="text/javascript">
 
-let reachedEndOfTest = false;
-let receivedRAFDidFireEvent = false;
-
 window.jsTestIsAsync = true;
-scheduler.debug = debug;
 
 description("Testing the <code>AirplayButton</code> class.");
 
-document.addEventListener("visibilitychange", (event) => {
-    debug("visibilitychange");
-    dumpVisibility();
-});
-
-function dumpVisibility()
-{
-    debug(`document.hidden = ${document.hidden}`);
-    debug(`document.visibilityState = ${document.visibilityState}`);
-}
-
-dumpVisibility();
-
-if (window.internals) {
-    ["raf-suspend", "raf-resume", "raf-add-throttling-reason", "raf-remove-throttling-reason", "raf-register-callback", "raf-cancel-callback", "raf-did-cancel-callback", "raf-service-scripted-animations", "raf-will-fire", "raf-did-fire", "raf-schedule-animation", "raf-schedule-animation-display-refresh-monitor", "raf-schedule-animation-timer", "raf-schedule-animation-frame-view", "raf-no-page", "raf-scripted-animations-suspended-on-page"].forEach(eventType => document.addEventListener(eventType, handleRAFEvent));
-    window.internals.settings.setShouldDispatchRequestAnimationFrameEvents(true);
-}
-
-function handleRAFEvent(event)
-{
-    debug(`[ScriptedAnimationController] ${event.type}`);
-    if (event.type === "raf-did-fire") {
-        receivedRAFDidFireEvent = true;
-        considerFinishingTest();
-    } else if (event.type === "raf-suspend")
-    dumpVisibility();
-}
-
-function considerFinishingTest()
-{
-    if (reachedEndOfTest && receivedRAFDidFireEvent)
-        finishJSTest();
-}
-
 const airplayButton = new AirplayButton({ layoutTraits: LayoutTraits.macOS });
 
 shouldBeEqualToString("airplayButton.element.localName", "button");
 shouldBeTrue('airplayButton.element.classList.contains("icon")');
 shouldBeTrue('airplayButton.element.classList.contains("airplay")');
 shouldBe("airplayButton.iconName", "Icons.Airplay");
-shouldBe("airplayButton.width", "0");
-shouldBe("airplayButton.height", "0");
-shouldBe("airplayButton._image", "iconService.imageForIconNameAndLayoutTraits(Icons.Airplay.name, LayoutTraits.macOS)");
-shouldNotBeEqualToString("airplayButton._image.src", "");
-shouldBeFalse("airplayButton._image.complete");
 
-// const macOSFullscreenAirplayButton = new AirplayButton({ layoutTraits: LayoutTraits.macOS | LayoutTraits.Fullscreen });
-// const iOSAirplayButton = new AirplayButton({ layoutTraits: LayoutTraits.iOS });
+const macOSFullscreenAirplayButton = new AirplayButton({ layoutTraits: LayoutTraits.macOS | LayoutTraits.Fullscreen });
+const iOSAirplayButton = new AirplayButton({ layoutTraits: LayoutTraits.iOS });
 
-airplayButton._image.addEventListener("load", event => {
-    shouldNotBe("airplayButton.width", "0");
-    shouldNotBe("airplayButton.height", "0");
-    shouldBeTrue("airplayButton.needsLayout");
-    shouldBeTrue("scheduler.hasScheduledLayoutCallbacks");
-    shouldBe("scheduler._layoutCallbacks.size", "1");
-    shouldNotBe("scheduler._frameID", "-1");
-    shouldBeTrue("dirtyNodes.has(airplayButton)");
-    scheduler.frameWillFire = function() {
-        debug("frameWillFire()");
-        shouldBeTrue("dirtyNodes.has(airplayButton)");
-        shouldBeTrue("airplayButton.needsLayout");
-    }
-    scheduler.frameDidFire = function() {
-        debug("frameDidFire()");
-        shouldBeFalse("dirtyNodes.has(airplayButton)");
-        shouldBeFalse("airplayButton.needsLayout");
-        shouldBeEqualToString("airplayButton.element.getAttribute('aria-label')", "AirPlay");
-    }
-    shouldBecomeEqual('airplayButton.element.style.webkitMaskImage.includes("macOS/airplay@")', "true", () => {
-        reachedEndOfTest = true;
-        considerFinishingTest();
+shouldBecomeEqual('airplayButton.element.style.webkitMaskImage.includes("macOS/airplay@")', "true", () => {
+    shouldBecomeEqual('macOSFullscreenAirplayButton.element.style.webkitMaskImage.includes("macOS/airplay-fullscreen@")', "true", () => {
+        shouldBecomeEqual('iOSAirplayButton.element.style.webkitMaskImage.includes("iOS/airplay@")', "true", finishJSTest);
     });
-    // shouldBecomeEqual('airplayButton.element.style.webkitMaskImage.includes("macOS/airplay@")', "true", () => {
-    //     shouldBecomeEqual('macOSFullscreenAirplayButton.element.style.webkitMaskImage.includes("macOS/airplay-fullscreen@")', "true", () => {
-    //         shouldBecomeEqual('iOSAirplayButton.element.style.webkitMaskImage.includes("iOS/airplay@")', "true", finishJSTest);
-    //     });
-    // });
 });
 
 </script>
index e05d81e..095544b 100644 (file)
@@ -1,3 +1,43 @@
+2017-05-22  Antoine Quint  <graouts@apple.com>
+
+        [mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html is a flaky timeout
+        https://bugs.webkit.org/show_bug.cgi?id=168409
+
+        Reviewed by Simon Fraser.
+
+        Remove all the custom logging code we wrote to diagnose why this specific test failed and instead
+        log the backtrace when the ScriptedAnimationController gets suspended, which should allow us to
+        identify which test actually leads to suspension and affects this particular test.
+
+        * Modules/modern-media-controls/controls/scheduler.js:
+        (const.scheduler.new.prototype.scheduleLayout):
+        (const.scheduler.new.prototype.unscheduleLayout):
+        (const.scheduler.new.prototype._requestFrameIfNeeded):
+        (const.scheduler.new.prototype._frameDidFire):
+        (const.scheduler.new.prototype._layout):
+        * dom/Document.cpp:
+        (WebCore::Document::requestAnimationFrame):
+        * dom/ScriptedAnimationController.cpp:
+        (WebCore::ScriptedAnimationController::suspend):
+        (WebCore::ScriptedAnimationController::resume):
+        (WebCore::ScriptedAnimationController::addThrottlingReason):
+        (WebCore::ScriptedAnimationController::removeThrottlingReason):
+        (WebCore::ScriptedAnimationController::registerCallback):
+        (WebCore::ScriptedAnimationController::cancelCallback):
+        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
+        (WebCore::ScriptedAnimationController::scheduleAnimation):
+        (WebCore::ScriptedAnimationController::dispatchLoggingEventIfRequired): Deleted.
+        * dom/ScriptedAnimationController.h:
+        * page/Page.cpp:
+        (WebCore::Page::suspendScriptedAnimations):
+        * page/Settings.in:
+        * testing/InternalSettings.cpp:
+        (WebCore::InternalSettings::resetToConsistentState):
+        (WebCore::InternalSettings::shouldDispatchRequestAnimationFrameEvents): Deleted.
+        (WebCore::InternalSettings::setShouldDispatchRequestAnimationFrameEvents): Deleted.
+        * testing/InternalSettings.h:
+        * testing/InternalSettings.idl:
+
 2017-05-22  Emilio Cobos Álvarez  <ecobos@igalia.com>
 
         Don't unconditionally reset TextIterator::m_handledChildren for display: contents nodes.
index b88da89..25aca45 100644 (file)
@@ -6,7 +6,6 @@ const scheduler = new class
     {
         this._frameID = -1;
         this._layoutCallbacks = new Set;
-        this.debug = new Function;
     }
 
     // Public
@@ -18,29 +17,19 @@ const scheduler = new class
 
     scheduleLayout(callback)
     {
-        this.debug("scheduleLayout() - start");
-        if (typeof callback !== "function") {
-            this.debug("scheduleLayout() - end - callback was not a function");
+        if (typeof callback !== "function")
             return;
-        }
 
         this._layoutCallbacks.add(callback);
         this._requestFrameIfNeeded();
-        this.debug(`scheduleLayout() - _layoutCallbacks.size = ${this._layoutCallbacks.size}`);
-        this.debug("scheduleLayout() - end");
     }
 
     unscheduleLayout(callback)
     {
-        this.debug("unscheduleLayout() - start");
-        if (typeof callback !== "function") {
-            this.debug("unscheduleLayout() - end - callback was not a function");
+        if (typeof callback !== "function")
             return;
-        }
 
         this._layoutCallbacks.delete(callback);
-        this.debug(`unscheduleLayout() - this._layoutCallbacks.size = ${this._layoutCallbacks.size}`);
-        this.debug("unscheduleLayout() - end");
     }
 
     flushScheduledLayoutCallbacks()
@@ -52,17 +41,12 @@ const scheduler = new class
 
     _requestFrameIfNeeded()
     {
-        this.debug("_requestFrameIfNeeded()");
-        if (this._frameID === -1 && this._layoutCallbacks.size > 0) {
+        if (this._frameID === -1 && this._layoutCallbacks.size > 0)
             this._frameID = window.requestAnimationFrame(this._frameDidFire.bind(this));
-            this.debug(`_requestFrameIfNeeded() - registered rAF, _frameID = ${this._frameID}`);
-        } else
-            this.debug(`_requestFrameIfNeeded() - failed to register rAF call, _frameID = ${this._frameID}, _layoutCallbacks.size = ${this._layoutCallbacks.size}`);
     }
 
     _frameDidFire()
     {
-        this.debug("_frameDidFire() - start");
         if (typeof scheduler.frameWillFire === "function")
             scheduler.frameWillFire();
 
@@ -72,21 +56,16 @@ const scheduler = new class
 
         if (typeof scheduler.frameDidFire === "function")
             scheduler.frameDidFire();
-        this.debug("_frameDidFire() - end");
     }
 
     _layout()
     {
-        this.debug("_layout() - start");
         // Layouts are not re-entrant.
         const layoutCallbacks = this._layoutCallbacks;
         this._layoutCallbacks = new Set;
 
-        this.debug(`_layout() - layoutCallbacks.size = ${layoutCallbacks.size}`);
-
         for (let callback of layoutCallbacks)
             callback();
-        this.debug("_layout() - end");
     }
 
 };
index 3ee59e7..3d1d7e9 100644 (file)
@@ -6065,13 +6065,6 @@ int Document::requestAnimationFrame(Ref<RequestAnimationFrameCallback>&& callbac
 
         if (!topOrigin().canAccess(securityOrigin()) && !hasHadUserInteraction())
             m_scriptedAnimationController->addThrottlingReason(ScriptedAnimationController::ThrottlingReason::NonInteractedCrossOriginFrame);
-
-        if (settings().shouldDispatchRequestAnimationFrameEvents()) {
-            if (!page())
-                dispatchEvent(Event::create("raf-no-page", false, false));
-            else if (page()->scriptedAnimationsSuspended())
-                dispatchEvent(Event::create("raf-scripted-animations-suspended-on-page", false, false));
-        }
     }
 
     return m_scriptedAnimationController->registerCallback(WTFMove(callback));
index fab8b99..efa4d0b 100644 (file)
@@ -77,15 +77,11 @@ bool ScriptedAnimationController::requestAnimationFrameEnabled() const
 
 void ScriptedAnimationController::suspend()
 {
-    dispatchLoggingEventIfRequired("raf-suspend");
-    if (m_document && m_document->frame() && m_document->frame()->settings().shouldDispatchRequestAnimationFrameEvents())
-        WTFReportBacktrace();
     ++m_suspendCount;
 }
 
 void ScriptedAnimationController::resume()
 {
-    dispatchLoggingEventIfRequired("raf-resume");
     // It would be nice to put an ASSERT(m_suspendCount > 0) here, but in WK1 resume() can be called
     // even when suspend hasn't (if a tab was created in the background).
     if (m_suspendCount > 0)
@@ -136,7 +132,6 @@ void ScriptedAnimationController::addThrottlingReason(ThrottlingReason reason)
     m_throttlingReasons |= reason;
 
     RELEASE_LOG_IF_ALLOWED("addThrottlingReason(%s) -> %s", throttlingReasonToString(reason), throttlingReasonsToString(m_throttlingReasons).utf8().data());
-    dispatchLoggingEventIfRequired("raf-add-throttling-reason");
 
     if (m_animationTimer.isActive()) {
         m_animationTimer.stop();
@@ -156,7 +151,6 @@ void ScriptedAnimationController::removeThrottlingReason(ThrottlingReason reason
     m_throttlingReasons -= reason;
 
     RELEASE_LOG_IF_ALLOWED("removeThrottlingReason(%s) -> %s", throttlingReasonToString(reason), throttlingReasonsToString(m_throttlingReasons).utf8().data());
-    dispatchLoggingEventIfRequired("raf-remove-throttling-reason");
 
     if (m_animationTimer.isActive()) {
         m_animationTimer.stop();
@@ -184,7 +178,6 @@ ScriptedAnimationController::CallbackId ScriptedAnimationController::registerCal
     m_callbacks.append(WTFMove(callback));
 
     InspectorInstrumentation::didRequestAnimationFrame(m_document, id);
-    dispatchLoggingEventIfRequired("raf-register-callback");
 
     if (!m_suspendCount)
         scheduleAnimation();
@@ -193,13 +186,11 @@ ScriptedAnimationController::CallbackId ScriptedAnimationController::registerCal
 
 void ScriptedAnimationController::cancelCallback(CallbackId id)
 {
-    dispatchLoggingEventIfRequired("raf-cancel-callback");
     for (size_t i = 0; i < m_callbacks.size(); ++i) {
         if (m_callbacks[i]->m_id == id) {
             m_callbacks[i]->m_firedOrCancelled = true;
             InspectorInstrumentation::didCancelAnimationFrame(m_document, id);
             m_callbacks.remove(i);
-            dispatchLoggingEventIfRequired("raf-did-cancel-callback");
             return;
         }
     }
@@ -207,7 +198,6 @@ void ScriptedAnimationController::cancelCallback(CallbackId id)
 
 void ScriptedAnimationController::serviceScriptedAnimations(double timestamp)
 {
-    dispatchLoggingEventIfRequired("raf-service-scripted-animations");
     if (!m_callbacks.size() || m_suspendCount || !requestAnimationFrameEnabled())
         return;
 
@@ -228,13 +218,11 @@ void ScriptedAnimationController::serviceScriptedAnimations(double timestamp)
         if (!callback->m_firedOrCancelled) {
             callback->m_firedOrCancelled = true;
             InspectorInstrumentationCookie cookie = InspectorInstrumentation::willFireAnimationFrame(m_document, callback->m_id);
-            dispatchLoggingEventIfRequired("raf-will-fire");
             if (callback->m_useLegacyTimeBase)
                 callback->handleEvent(legacyHighResNowMs);
             else
                 callback->handleEvent(highResNowMs);
             InspectorInstrumentation::didFireAnimationFrame(cookie);
-            dispatchLoggingEventIfRequired("raf-did-fire");
         }
     }
 
@@ -285,7 +273,6 @@ Page* ScriptedAnimationController::page() const
 
 void ScriptedAnimationController::scheduleAnimation()
 {
-    dispatchLoggingEventIfRequired("raf-schedule-animation");
     if (!requestAnimationFrameEnabled())
         return;
 
@@ -296,7 +283,6 @@ void ScriptedAnimationController::scheduleAnimation()
             return;
 
         m_isUsingTimer = true;
-        dispatchLoggingEventIfRequired("raf-schedule-animation-display-refresh-monitor");
     }
 #endif
     if (m_animationTimer.isActive())
@@ -319,11 +305,9 @@ void ScriptedAnimationController::scheduleAnimation()
 
     m_animationTimer.startOneShot(scheduleDelay);
 
-    dispatchLoggingEventIfRequired("raf-schedule-animation-timer");
 #else
     if (FrameView* frameView = m_document->view())
         frameView->scheduleAnimation();
-    dispatchLoggingEventIfRequired("raf-schedule-animation-frame-view");
 #endif
 }
 
@@ -355,10 +339,4 @@ RefPtr<DisplayRefreshMonitor> ScriptedAnimationController::createDisplayRefreshM
 }
 #endif
 
-void ScriptedAnimationController::dispatchLoggingEventIfRequired(const AtomicString& type)
-{
-    if (m_document && m_document->frame() && m_document->frame()->settings().shouldDispatchRequestAnimationFrameEvents())
-        m_document->dispatchEvent(Event::create(type, false, false));
-}
-
 }
index 92eef93..6f6a40c 100644 (file)
@@ -98,7 +98,6 @@ private:
     int m_suspendCount { 0 };
 
     void scheduleAnimation();
-    void dispatchLoggingEventIfRequired(const AtomicString&);
 
 #if USE(REQUEST_ANIMATION_FRAME_TIMER)
     void animationTimerFired();
index 6c95d13..93c6d87 100644 (file)
@@ -1141,8 +1141,10 @@ void Page::removeActivityStateChangeObserver(ActivityStateChangeObserver& observ
 
 void Page::suspendScriptedAnimations()
 {
-    if (settings().shouldDispatchRequestAnimationFrameEvents())
-        WTFReportBacktrace();
+    // Temporarily report the backtrace so we might gather insight as to why
+    // some tests fail due to rAF callbacks not being serviced (webkit.org/b/168409).
+    WTFLogAlways("Page::suspendScriptedAnimations() – webkit.org/b/168409");
+    WTFReportBacktrace();
     m_scriptedAnimationsSuspended = true;
     for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
         if (frame->document())
index e40caa8..0c657d0 100644 (file)
@@ -275,8 +275,6 @@ visualViewportEnabled initial=false, setNeedsStyleRecalcInAllFrames=1
 
 inputEventsEnabled initial=true
 
-shouldDispatchRequestAnimationFrameEvents initial=false
-
 quickTimePluginReplacementEnabled initial=defaultQuickTimePluginReplacementEnabled
 youTubeFlashPluginReplacementEnabled initial=defaultYouTubeFlashPluginReplacementEnabled
 
index 7acf505..923e4f5 100644 (file)
@@ -253,8 +253,6 @@ void InternalSettings::resetToConsistentState()
     m_page->mainFrame().setPageAndTextZoomFactors(1, 1);
     m_page->setCanStartMedia(true);
 
-    settings().setShouldDispatchRequestAnimationFrameEvents(false);
-
     settings().setForcePendingWebGLPolicy(false);
 #if ENABLE(WIRELESS_PLAYBACK_TARGET)
     settings().setAllowsAirPlayForMediaPlayback(false);
@@ -711,16 +709,6 @@ void InternalSettings::setWebGPUEnabled(bool enabled)
 #endif
 }
 
-bool InternalSettings::shouldDispatchRequestAnimationFrameEvents()
-{
-    return settings().shouldDispatchRequestAnimationFrameEvents();
-}
-
-void InternalSettings::setShouldDispatchRequestAnimationFrameEvents(bool shouldDispatchRequestAnimationFrameEvents)
-{
-    settings().setShouldDispatchRequestAnimationFrameEvents(shouldDispatchRequestAnimationFrameEvents);
-}
-
 ExceptionOr<String> InternalSettings::userInterfaceDirectionPolicy()
 {
     if (!m_page)
index 19e5bde..0664ef0 100644 (file)
@@ -109,9 +109,6 @@ public:
     ForcedAccessibilityValue forcedPrefersReducedMotionAccessibilityValue() const;
     void setForcedPrefersReducedMotionAccessibilityValue(ForcedAccessibilityValue);
 
-    bool shouldDispatchRequestAnimationFrameEvents();
-    void setShouldDispatchRequestAnimationFrameEvents(bool);
-
     // RuntimeEnabledFeatures.
     static void setIndexedDBWorkersEnabled(bool);
     static void setCSSGridLayoutEnabled(bool);
index ef53d9f..5780888 100644 (file)
@@ -96,9 +96,6 @@ enum ForcedAccessibilityValue { "system", "on", "off" };
     [MayThrowException] boolean deferredCSSParserEnabled();
     [MayThrowException] void setDeferredCSSParserEnabled(boolean enabled);
 
-    boolean shouldDispatchRequestAnimationFrameEvents();
-    void setShouldDispatchRequestAnimationFrameEvents(boolean shouldDispatchRequestAnimationFrameEvents);
-
     attribute ForcedAccessibilityValue forcedColorsAreInvertedAccessibilityValue;
     attribute ForcedAccessibilityValue forcedDisplayIsMonochromeAccessibilityValue;
     attribute ForcedAccessibilityValue forcedPrefersReducedMotionAccessibilityValue;