Title: [233611] trunk/Source/WebCore
Revision
233611
Author
[email protected]
Date
2018-07-06 19:56:20 -0700 (Fri, 06 Jul 2018)

Log Message

Make ReasonForSuspension enum class
https://bugs.webkit.org/show_bug.cgi?id=187405

Reviewed by Zalan Bujtas.

Made ReasonForSuspension an enum class instead of enum and moved out of ActiveDOMObject.

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::suspend):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::suspend):
* dom/ActiveDOMObject.h:
* dom/Document.cpp:
(WebCore::Document::didBecomeCurrentDocumentInFrame):
(WebCore::Document::suspendActiveDOMObjects):
(WebCore::Document::resumeActiveDOMObjects):
(WebCore::Document::suspend):
(WebCore::Document::resume):
(WebCore::Document::suspendScheduledTasks):
(WebCore::Document::resumeScheduledTasks):
* dom/Document.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::reasonForSuspendingActiveDOMObjects const):
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::CachedFrame):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::suspend):
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::suspend):
* inspector/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::setJavaScriptPaused):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
* page/Frame.cpp:
(WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
(WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
(WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::suspend):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (233610 => 233611)


--- trunk/Source/WebCore/ChangeLog	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/ChangeLog	2018-07-07 02:56:20 UTC (rev 233611)
@@ -1,3 +1,51 @@
+2018-07-06  Ryosuke Niwa  <[email protected]>
+
+        Make ReasonForSuspension enum class
+        https://bugs.webkit.org/show_bug.cgi?id=187405
+
+        Reviewed by Zalan Bujtas.
+
+        Made ReasonForSuspension an enum class instead of enum and moved out of ActiveDOMObject.
+
+        * Modules/geolocation/Geolocation.cpp:
+        (WebCore::Geolocation::suspend):
+        * Modules/websockets/WebSocket.cpp:
+        (WebCore::WebSocket::suspend):
+        * dom/ActiveDOMObject.h:
+        * dom/Document.cpp:
+        (WebCore::Document::didBecomeCurrentDocumentInFrame):
+        (WebCore::Document::suspendActiveDOMObjects):
+        (WebCore::Document::resumeActiveDOMObjects):
+        (WebCore::Document::suspend):
+        (WebCore::Document::resume):
+        (WebCore::Document::suspendScheduledTasks):
+        (WebCore::Document::resumeScheduledTasks):
+        * dom/Document.h:
+        * dom/ScriptExecutionContext.cpp:
+        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
+        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
+        * dom/ScriptExecutionContext.h:
+        (WebCore::ScriptExecutionContext::reasonForSuspendingActiveDOMObjects const):
+        * history/CachedFrame.cpp:
+        (WebCore::CachedFrameBase::restore):
+        (WebCore::CachedFrame::CachedFrame):
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::suspend):
+        * html/HTMLSourceElement.cpp:
+        (WebCore::HTMLSourceElement::suspend):
+        * inspector/PageScriptDebugServer.cpp:
+        (WebCore::PageScriptDebugServer::setJavaScriptPaused):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::commitProvisionalLoad):
+        * page/Frame.cpp:
+        (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
+        (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
+        * page/PageGroupLoadDeferrer.cpp:
+        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
+        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
+        * xml/XMLHttpRequest.cpp:
+        (WebCore::XMLHttpRequest::suspend):
+
 2018-07-06  Nan Wang  <[email protected]>
 
         AX: add a subrole for meter elements on macOS

Modified: trunk/Source/WebCore/Modules/geolocation/Geolocation.cpp (233610 => 233611)


--- trunk/Source/WebCore/Modules/geolocation/Geolocation.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/Modules/geolocation/Geolocation.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -164,7 +164,7 @@
     
 void Geolocation::suspend(ReasonForSuspension reason)
 {
-    if (reason == ActiveDOMObject::PageCache) {
+    if (reason == ReasonForSuspension::PageCache) {
         stop();
         m_resetOnResume = true;
     }

Modified: trunk/Source/WebCore/Modules/websockets/WebSocket.cpp (233610 => 233611)


--- trunk/Source/WebCore/Modules/websockets/WebSocket.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/Modules/websockets/WebSocket.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -502,7 +502,7 @@
     m_shouldDelayEventFiring = true;
 
     if (m_channel) {
-        if (reason == ActiveDOMObject::PageCache) {
+        if (reason == ReasonForSuspension::PageCache) {
             // This will cause didClose() to be called.
             m_channel->fail("WebSocket is closed due to suspension.");
         } else

Modified: trunk/Source/WebCore/dom/ActiveDOMObject.h (233610 => 233611)


--- trunk/Source/WebCore/dom/ActiveDOMObject.h	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/dom/ActiveDOMObject.h	2018-07-07 02:56:20 UTC (rev 233611)
@@ -34,6 +34,13 @@
 
 namespace WebCore {
 
+enum class ReasonForSuspension {
+    _javascript_DebuggerPaused,
+    WillDeferLoading,
+    PageCache,
+    PageWillBeSuspended,
+};
+
 class ActiveDOMObject : public ContextDestructionObserver {
 public:
     // The suspendIfNeeded must be called exactly once after object construction to update
@@ -51,13 +58,6 @@
     // That happens in step-by-step JS debugging for example - in this case it would be incorrect
     // to stop the object. Exact semantics of suspend is up to the object in cases like that.
 
-    enum ReasonForSuspension {
-        _javascript_DebuggerPaused,
-        WillDeferLoading,
-        PageCache,
-        PageWillBeSuspended,
-    };
-
     virtual const char* activeDOMObjectName() const = 0;
 
     // These three functions must not have a side effect of creating or destroying

Modified: trunk/Source/WebCore/dom/Document.cpp (233610 => 233611)


--- trunk/Source/WebCore/dom/Document.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/dom/Document.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -2261,9 +2261,9 @@
             timeline().suspendAnimations();
         else
             m_frame->animation().suspendAnimationsForDocument(this);
-        suspendScheduledTasks(ActiveDOMObject::PageWillBeSuspended);
+        suspendScheduledTasks(ReasonForSuspension::PageWillBeSuspended);
     } else {
-        resumeScheduledTasks(ActiveDOMObject::PageWillBeSuspended);
+        resumeScheduledTasks(ReasonForSuspension::PageWillBeSuspended);
         if (RuntimeEnabledFeatures::sharedFeatures().webAnimationsCSSIntegrationEnabled())
             timeline().resumeAnimations();
         else
@@ -2523,7 +2523,7 @@
 #endif
 }
 
-void Document::suspendActiveDOMObjects(ActiveDOMObject::ReasonForSuspension why)
+void Document::suspendActiveDOMObjects(ReasonForSuspension why)
 {
     ScriptExecutionContext::suspendActiveDOMObjects(why);
     suspendDeviceMotionAndOrientationUpdates();
@@ -2530,7 +2530,7 @@
     platformSuspendOrStopActiveDOMObjects();
 }
 
-void Document::resumeActiveDOMObjects(ActiveDOMObject::ReasonForSuspension why)
+void Document::resumeActiveDOMObjects(ReasonForSuspension why)
 {
     ScriptExecutionContext::resumeActiveDOMObjects(why);
     resumeDeviceMotionAndOrientationUpdates();
@@ -4897,7 +4897,7 @@
         renderView()->setIsInWindow(false);
 }
 
-void Document::suspend(ActiveDOMObject::ReasonForSuspension reason)
+void Document::suspend(ReasonForSuspension reason)
 {
     if (m_isSuspended)
         return;
@@ -4930,7 +4930,7 @@
 #endif
 
 #if ENABLE(SERVICE_WORKER)
-    if (RuntimeEnabledFeatures::sharedFeatures().serviceWorkerEnabled() && reason == ActiveDOMObject::ReasonForSuspension::PageCache) {
+    if (RuntimeEnabledFeatures::sharedFeatures().serviceWorkerEnabled() && reason == ReasonForSuspension::PageCache) {
         ASSERT_WITH_MESSAGE(!activeServiceWorker(), "Documents with an active service worker should not go into PageCache in the first place");
         setServiceWorkerConnection(nullptr);
     }
@@ -4947,7 +4947,7 @@
     m_isSuspended = true;
 }
 
-void Document::resume(ActiveDOMObject::ReasonForSuspension reason)
+void Document::resume(ReasonForSuspension reason)
 {
     if (!m_isSuspended)
         return;
@@ -4976,7 +4976,7 @@
     m_isSuspended = false;
 
 #if ENABLE(SERVICE_WORKER)
-    if (RuntimeEnabledFeatures::sharedFeatures().serviceWorkerEnabled() && reason == ActiveDOMObject::ReasonForSuspension::PageCache) {
+    if (RuntimeEnabledFeatures::sharedFeatures().serviceWorkerEnabled() && reason == ReasonForSuspension::PageCache) {
         ASSERT_WITH_MESSAGE(!activeServiceWorker(), "Documents with an active service worker should not go into PageCache in the first place");
         setServiceWorkerConnection(ServiceWorkerProvider::singleton().existingServiceWorkerConnectionForSession(sessionID()));
     }
@@ -5864,13 +5864,13 @@
         task.performTask(*this);
 }
 
-void Document::suspendScheduledTasks(ActiveDOMObject::ReasonForSuspension reason)
+void Document::suspendScheduledTasks(ReasonForSuspension reason)
 {
     if (m_scheduledTasksAreSuspended) {
         // A page may subsequently suspend DOM objects, say as part of handling a scroll or zoom gesture, after the
         // embedding client requested the page be suspended. We ignore such requests so long as the embedding client
         // requested the suspension first. See <rdar://problem/13754896> for more details.
-        ASSERT(reasonForSuspendingActiveDOMObjects() == ActiveDOMObject::PageWillBeSuspended);
+        ASSERT(reasonForSuspendingActiveDOMObjects() == ReasonForSuspension::PageWillBeSuspended);
         return;
     }
 
@@ -5887,13 +5887,13 @@
     // (e.g. while displaying an alert).
     // It is not currently possible to suspend parser unless loading is deferred, because new data arriving from network
     // will trigger parsing, and leave the scheduler in an inconsistent state where it doesn't know whether it's suspended or not.
-    if (reason == ActiveDOMObject::WillDeferLoading && m_parser)
+    if (reason == ReasonForSuspension::WillDeferLoading && m_parser)
         m_parser->suspendScheduledTasks();
 
     m_scheduledTasksAreSuspended = true;
 }
 
-void Document::resumeScheduledTasks(ActiveDOMObject::ReasonForSuspension reason)
+void Document::resumeScheduledTasks(ReasonForSuspension reason)
 {
     if (reasonForSuspendingActiveDOMObjects() != reason)
         return;
@@ -5900,7 +5900,7 @@
 
     ASSERT(m_scheduledTasksAreSuspended);
 
-    if (reason == ActiveDOMObject::WillDeferLoading && m_parser)
+    if (reason == ReasonForSuspension::WillDeferLoading && m_parser)
         m_parser->resumeScheduledTasks();
 
 #if ENABLE(XSLT)

Modified: trunk/Source/WebCore/dom/Document.h (233610 => 233611)


--- trunk/Source/WebCore/dom/Document.h	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/dom/Document.h	2018-07-07 02:56:20 UTC (rev 233611)
@@ -604,8 +604,8 @@
 
     // Override ScriptExecutionContext methods to do additional work
     WEBCORE_EXPORT bool shouldBypassMainWorldContentSecurityPolicy() const final;
-    void suspendActiveDOMObjects(ActiveDOMObject::ReasonForSuspension) final;
-    void resumeActiveDOMObjects(ActiveDOMObject::ReasonForSuspension) final;
+    void suspendActiveDOMObjects(ReasonForSuspension) final;
+    void resumeActiveDOMObjects(ReasonForSuspension) final;
     void stopActiveDOMObjects() final;
 
     void suspendDeviceMotionAndOrientationUpdates();
@@ -1036,8 +1036,8 @@
     void unregisterForDocumentSuspensionCallbacks(Element*);
 
     void documentWillBecomeInactive();
-    void suspend(ActiveDOMObject::ReasonForSuspension);
-    void resume(ActiveDOMObject::ReasonForSuspension);
+    void suspend(ReasonForSuspension);
+    void resume(ReasonForSuspension);
 
     void registerForMediaVolumeCallbacks(Element*);
     void unregisterForMediaVolumeCallbacks(Element*);
@@ -1251,8 +1251,8 @@
 
     bool isInDocumentWrite() { return m_writeRecursionDepth > 0; }
 
-    void suspendScheduledTasks(ActiveDOMObject::ReasonForSuspension);
-    void resumeScheduledTasks(ActiveDOMObject::ReasonForSuspension);
+    void suspendScheduledTasks(ReasonForSuspension);
+    void resumeScheduledTasks(ReasonForSuspension);
 
 #if ENABLE(CSS_DEVICE_ADAPTATION)
     IntSize initialViewportSize() const;

Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.cpp (233610 => 233611)


--- trunk/Source/WebCore/dom/ScriptExecutionContext.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -256,7 +256,7 @@
     return canSuspend;
 }
 
-void ScriptExecutionContext::suspendActiveDOMObjects(ActiveDOMObject::ReasonForSuspension why)
+void ScriptExecutionContext::suspendActiveDOMObjects(ReasonForSuspension why)
 {
     checkConsistency();
 
@@ -264,7 +264,7 @@
         // A page may subsequently suspend DOM objects, say as part of entering the page cache, after the embedding
         // client requested the page be suspended. We ignore such requests so long as the embedding client requested
         // the suspension first. See <rdar://problem/13754896> for more details.
-        ASSERT(m_reasonForSuspendingActiveDOMObjects == ActiveDOMObject::PageWillBeSuspended);
+        ASSERT(m_reasonForSuspendingActiveDOMObjects == ReasonForSuspension::PageWillBeSuspended);
         return;
     }
 
@@ -291,7 +291,7 @@
     m_reasonForSuspendingActiveDOMObjects = why;
 }
 
-void ScriptExecutionContext::resumeActiveDOMObjects(ActiveDOMObject::ReasonForSuspension why)
+void ScriptExecutionContext::resumeActiveDOMObjects(ReasonForSuspension why)
 {
     checkConsistency();
 

Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.h (233610 => 233611)


--- trunk/Source/WebCore/dom/ScriptExecutionContext.h	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.h	2018-07-07 02:56:20 UTC (rev 233611)
@@ -132,8 +132,8 @@
 
     // Active objects can be asked to suspend even if canSuspendActiveDOMObjectsForDocumentSuspension() returns 'false' -
     // step-by-step JS debugging is one example.
-    virtual void suspendActiveDOMObjects(ActiveDOMObject::ReasonForSuspension);
-    virtual void resumeActiveDOMObjects(ActiveDOMObject::ReasonForSuspension);
+    virtual void suspendActiveDOMObjects(ReasonForSuspension);
+    virtual void resumeActiveDOMObjects(ReasonForSuspension);
     virtual void stopActiveDOMObjects();
 
     bool activeDOMObjectsAreSuspended() const { return m_activeDOMObjectsAreSuspended; }
@@ -279,7 +279,7 @@
         }
     };
 
-    ActiveDOMObject::ReasonForSuspension reasonForSuspendingActiveDOMObjects() const { return m_reasonForSuspendingActiveDOMObjects; }
+    ReasonForSuspension reasonForSuspendingActiveDOMObjects() const { return m_reasonForSuspendingActiveDOMObjects; }
 
     bool hasPendingActivity() const;
     void removeFromContextsMap();
@@ -308,7 +308,7 @@
     std::unique_ptr<Vector<std::unique_ptr<PendingException>>> m_pendingExceptions;
     std::unique_ptr<RejectedPromiseTracker> m_rejectedPromiseTracker;
 
-    ActiveDOMObject::ReasonForSuspension m_reasonForSuspendingActiveDOMObjects { static_cast<ActiveDOMObject::ReasonForSuspension>(-1) };
+    ReasonForSuspension m_reasonForSuspendingActiveDOMObjects { static_cast<ReasonForSuspension>(-1) };
 
     std::unique_ptr<PublicURLManager> m_publicURLManager;
 

Modified: trunk/Source/WebCore/history/CachedFrame.cpp (233610 => 233611)


--- trunk/Source/WebCore/history/CachedFrame.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/history/CachedFrame.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -103,7 +103,7 @@
     else
         frame.animation().resumeAnimationsForDocument(m_document.get());
 
-    m_document->resume(ActiveDOMObject::PageCache);
+    m_document->resume(ReasonForSuspension::PageCache);
 
     // It is necessary to update any platform script objects after restoring the
     // cached page.
@@ -153,7 +153,7 @@
         m_childFrames.append(std::make_unique<CachedFrame>(*child));
 
     // Active DOM objects must be suspended before we cache the frame script data.
-    m_document->suspend(ActiveDOMObject::PageCache);
+    m_document->suspend(ReasonForSuspension::PageCache);
 
     m_cachedFrameScriptData = std::make_unique<ScriptCachedFrameData>(frame);
 

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (233610 => 233611)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -5615,29 +5615,28 @@
     m_mediaSession->stopSession();
 }
 
-void HTMLMediaElement::suspend(ReasonForSuspension why)
+void HTMLMediaElement::suspend(ReasonForSuspension reason)
 {
     INFO_LOG(LOGIDENTIFIER);
     Ref<HTMLMediaElement> protectedThis(*this);
 
-    switch (why)
-    {
-        case PageCache:
-            stopWithoutDestroyingMediaPlayer();
-            m_asyncEventQueue.suspend();
-            setShouldBufferData(false);
-            m_mediaSession->addBehaviorRestriction(MediaElementSession::RequirePageConsentToResumeMedia);
-            break;
-        case PageWillBeSuspended:
-            if (!m_pausedInternal) {
-                m_shouldUnpauseInternalOnResume = true;
-                setPausedInternal(true);
-            }
-            break;
-        case _javascript_DebuggerPaused:
-        case WillDeferLoading:
-            // Do nothing, we don't pause media playback in these cases.
-            break;
+    switch (reason) {
+    case ReasonForSuspension::PageCache:
+        stopWithoutDestroyingMediaPlayer();
+        m_asyncEventQueue.suspend();
+        setShouldBufferData(false);
+        m_mediaSession->addBehaviorRestriction(MediaElementSession::RequirePageConsentToResumeMedia);
+        break;
+    case ReasonForSuspension::PageWillBeSuspended:
+        if (!m_pausedInternal) {
+            m_shouldUnpauseInternalOnResume = true;
+            setPausedInternal(true);
+        }
+        break;
+    case ReasonForSuspension::_javascript_DebuggerPaused:
+    case ReasonForSuspension::WillDeferLoading:
+        // Do nothing, we don't pause media playback in these cases.
+        break;
     }
 }
 

Modified: trunk/Source/WebCore/html/HTMLSourceElement.cpp (233610 => 233611)


--- trunk/Source/WebCore/html/HTMLSourceElement.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/html/HTMLSourceElement.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -133,9 +133,10 @@
     return true;
 }
 
-void HTMLSourceElement::suspend(ReasonForSuspension why)
+void HTMLSourceElement::suspend(ReasonForSuspension reason)
 {
-    if (why == PageCache) {
+    // FIXME: Shouldn't this also stop the timer for PageWillBeSuspended?
+    if (reason == ReasonForSuspension::PageCache) {
         m_shouldRescheduleErrorEventOnResume = m_errorEventTimer.isActive();
         m_errorEventTimer.stop();
     }

Modified: trunk/Source/WebCore/inspector/PageScriptDebugServer.cpp (233610 => 233611)


--- trunk/Source/WebCore/inspector/PageScriptDebugServer.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/inspector/PageScriptDebugServer.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -163,9 +163,9 @@
     auto& document = *frame.document();
     if (paused) {
         document.suspendScriptedAnimationControllerCallbacks();
-        document.suspendActiveDOMObjects(ActiveDOMObject::_javascript_DebuggerPaused);
+        document.suspendActiveDOMObjects(ReasonForSuspension::_javascript_DebuggerPaused);
     } else {
-        document.resumeActiveDOMObjects(ActiveDOMObject::_javascript_DebuggerPaused);
+        document.resumeActiveDOMObjects(ReasonForSuspension::_javascript_DebuggerPaused);
         document.resumeScriptedAnimationControllerCallbacks();
     }
 

Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (233610 => 233611)


--- trunk/Source/WebCore/loader/FrameLoader.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -2018,7 +2018,7 @@
         // Note, didReceiveDocType is expected to be called for cached pages. See <rdar://problem/5906758> for more details.
         if (auto* page = m_frame.page())
             page->chrome().didReceiveDocType(m_frame);
-        m_frame.document()->resume(ActiveDOMObject::PageCache);
+        m_frame.document()->resume(ReasonForSuspension::PageCache);
 
         // Force a layout to update view size and thereby update scrollbars.
 #if PLATFORM(IOS)

Modified: trunk/Source/WebCore/page/Frame.cpp (233610 => 233611)


--- trunk/Source/WebCore/page/Frame.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/page/Frame.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -1050,7 +1050,7 @@
     // FIXME: Suspend/resume calls will not match if the frame is navigated, and gets a new document.
     clearTimers(); // Suspends animations and pending relayouts.
     if (m_doc)
-        m_doc->suspendScheduledTasks(ActiveDOMObject::PageWillBeSuspended);
+        m_doc->suspendScheduledTasks(ReasonForSuspension::PageWillBeSuspended);
 }
 
 void Frame::resumeActiveDOMObjectsAndAnimations()
@@ -1067,7 +1067,7 @@
         return;
 
     // FIXME: Suspend/resume calls will not match if the frame is navigated, and gets a new document.
-    m_doc->resumeScheduledTasks(ActiveDOMObject::PageWillBeSuspended);
+    m_doc->resumeScheduledTasks(ReasonForSuspension::PageWillBeSuspended);
 
     // Frame::clearTimers() suspended animations and pending relayouts.
     animation().resumeAnimationsForDocument(m_doc.get());

Modified: trunk/Source/WebCore/page/PageGroupLoadDeferrer.cpp (233610 => 233611)


--- trunk/Source/WebCore/page/PageGroupLoadDeferrer.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/page/PageGroupLoadDeferrer.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -40,7 +40,7 @@
                 // This code is not logically part of load deferring, but we do not want JS code executed beneath modal
                 // windows or sheets, which is exactly when PageGroupLoadDeferrer is used.
                 for (Frame* frame = &otherPage->mainFrame(); frame; frame = frame->tree().traverseNext())
-                    frame->document()->suspendScheduledTasks(ActiveDOMObject::WillDeferLoading);
+                    frame->document()->suspendScheduledTasks(ReasonForSuspension::WillDeferLoading);
             }
         }
     }
@@ -58,7 +58,7 @@
             page->setDefersLoading(false);
 
             for (Frame* frame = &page->mainFrame(); frame; frame = frame->tree().traverseNext())
-                frame->document()->resumeScheduledTasks(ActiveDOMObject::WillDeferLoading);
+                frame->document()->resumeScheduledTasks(ReasonForSuspension::WillDeferLoading);
         }
     }
 }

Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (233610 => 233611)


--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp	2018-07-07 02:24:35 UTC (rev 233610)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp	2018-07-07 02:56:20 UTC (rev 233611)
@@ -1115,7 +1115,7 @@
         m_dispatchErrorOnResuming = true;
     }
 
-    if (reason == ActiveDOMObject::PageCache && m_loader) {
+    if (reason == ReasonForSuspension::PageCache && m_loader) {
         // Going into PageCache, abort the request and dispatch a network error on resuming.
         genericError();
         m_dispatchErrorOnResuming = true;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to