Unreviewed, rolling out r241486.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Feb 2019 17:10:13 +0000 (17:10 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Feb 2019 17:10:13 +0000 (17:10 +0000)
https://bugs.webkit.org/show_bug.cgi?id=194655

causing API failures in builds (Requested by ShawnRoberts on
#webkit).

Reverted changeset:

"[Cocoa] Media elements will restart network buffering just
before suspending"
https://bugs.webkit.org/show_bug.cgi?id=193691
https://trac.webkit.org/changeset/241486

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

21 files changed:
Source/WebCore/ChangeLog
Source/WebCore/dom/Document.cpp
Source/WebCore/dom/Document.h
Source/WebCore/html/MediaElementSession.cpp
Source/WebCore/html/MediaElementSession.h
Source/WebCore/page/Page.cpp
Source/WebCore/page/Page.h
Source/WebCore/platform/audio/PlatformMediaSession.h
Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
Source/WebCore/platform/audio/PlatformMediaSessionManager.h
Source/WebKit/ChangeLog
Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h
Source/WebKit/UIProcess/WebProcessProxy.h
Source/WebKit/WebProcess/WebPage/WebPage.cpp
Source/WebKit/WebProcess/WebPage/WebPage.h
Source/WebKit/WebProcess/WebProcess.cpp
Source/WebKit/WebProcess/WebProcess.h
Tools/ChangeLog
Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm [deleted file]

index c7d5897..bf6eae5 100644 (file)
@@ -1,3 +1,18 @@
+2019-02-14  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r241486.
+        https://bugs.webkit.org/show_bug.cgi?id=194655
+
+        causing API failures in builds (Requested by ShawnRoberts on
+        #webkit).
+
+        Reverted changeset:
+
+        "[Cocoa] Media elements will restart network buffering just
+        before suspending"
+        https://bugs.webkit.org/show_bug.cgi?id=193691
+        https://trac.webkit.org/changeset/241486
+
 2019-02-13  Brian Burg  <bburg@apple.com>
 
         Web Inspector: don't include accessibility role in DOM.Node object payloads
index 466becb..050555b 100644 (file)
@@ -1738,18 +1738,6 @@ void Document::resumeAllMediaPlayback()
     if (auto* platformMediaSessionManager = PlatformMediaSessionManager::sharedManagerIfExists())
         platformMediaSessionManager->resumeAllMediaPlaybackForDocument(*this);
 }
-
-void Document::suspendAllMediaBuffering()
-{
-    if (auto* platformMediaSessionManager = PlatformMediaSessionManager::sharedManagerIfExists())
-        platformMediaSessionManager->suspendAllMediaBufferingForDocument(*this);
-}
-
-void Document::resumeAllMediaBuffering()
-{
-    if (auto* platformMediaSessionManager = PlatformMediaSessionManager::sharedManagerIfExists())
-        platformMediaSessionManager->resumeAllMediaBufferingForDocument(*this);
-}
 #endif
 
 String Document::nodeName() const
index d0314ab..db8988d 100644 (file)
@@ -1126,8 +1126,6 @@ public:
     void stopAllMediaPlayback();
     void suspendAllMediaPlayback();
     void resumeAllMediaPlayback();
-    void suspendAllMediaBuffering();
-    void resumeAllMediaBuffering();
 #endif
 
     WEBCORE_EXPORT void setShouldCreateRenderers(bool);
index 153415a..71ac995 100644 (file)
@@ -379,9 +379,6 @@ bool MediaElementSession::dataBufferingPermitted() const
     if (isSuspended())
         return false;
 
-    if (bufferingSuspended())
-        return false;
-
     if (state() == PlatformMediaSession::Playing)
         return true;
 
@@ -788,23 +785,6 @@ void MediaElementSession::resetPlaybackSessionState()
     addBehaviorRestriction(RequireUserGestureToControlControlsManager | RequirePlaybackToControlControlsManager);
 }
 
-void MediaElementSession::suspendBuffering()
-{
-    updateClientDataBuffering();
-}
-
-void MediaElementSession::resumeBuffering()
-{
-    updateClientDataBuffering();
-}
-
-bool MediaElementSession::bufferingSuspended() const
-{
-    if (auto* page = m_element.document().page())
-        return page->mediaBufferingIsSuspended();
-    return true;
-}
-
 bool MediaElementSession::allowsPictureInPicture() const
 {
     return m_element.document().settings().allowsPictureInPictureMediaPlayback();
index ce058c6..597ba27 100644 (file)
@@ -101,10 +101,6 @@ public:
 
     void resetPlaybackSessionState() override;
 
-    void suspendBuffering() override;
-    void resumeBuffering() override;
-    bool bufferingSuspended() const;
-
     // Restrictions to modify default behaviors.
     enum BehaviorRestrictionFlags : unsigned {
         NoRestrictions = 0,
index a40fb87..690735d 100644 (file)
@@ -1764,36 +1764,6 @@ void Page::resumeAllMediaPlayback()
 #endif
 }
 
-void Page::suspendAllMediaBuffering()
-{
-#if ENABLE(VIDEO)
-    ASSERT(!m_mediaBufferingIsSuspended);
-    if (m_mediaBufferingIsSuspended)
-        return;
-    m_mediaBufferingIsSuspended = true;
-
-    for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
-        if (auto* document = frame->document())
-            document->suspendAllMediaBuffering();
-    }
-#endif
-}
-
-void Page::resumeAllMediaBuffering()
-{
-#if ENABLE(VIDEO)
-    ASSERT(m_mediaBufferingIsSuspended);
-    if (!m_mediaBufferingIsSuspended)
-        return;
-    m_mediaBufferingIsSuspended = false;
-
-    for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
-        if (auto* document = frame->document())
-            document->resumeAllMediaBuffering();
-    }
-#endif
-}
-
 #if ENABLE(MEDIA_SESSION)
 void Page::handleMediaEvent(MediaEventType eventType)
 {
index ff92753..9464a8d 100644 (file)
@@ -614,10 +614,7 @@ public:
     WEBCORE_EXPORT void stopAllMediaPlayback();
     WEBCORE_EXPORT void suspendAllMediaPlayback();
     WEBCORE_EXPORT void resumeAllMediaPlayback();
-    bool mediaPlaybackIsSuspended() const { return m_mediaPlaybackIsSuspended; }
-    WEBCORE_EXPORT void suspendAllMediaBuffering();
-    WEBCORE_EXPORT void resumeAllMediaBuffering();
-    bool mediaBufferingIsSuspended() const { return m_mediaBufferingIsSuspended; }
+    bool mediaPlaybackIsSuspended() { return m_mediaPlaybackIsSuspended; }
 
 #if ENABLE(MEDIA_SESSION)
     WEBCORE_EXPORT void handleMediaEvent(MediaEventType);
@@ -970,7 +967,6 @@ private:
 
     bool m_shouldEnableICECandidateFilteringByDefault { true };
     bool m_mediaPlaybackIsSuspended { false };
-    bool m_mediaBufferingIsSuspended { false };
 };
 
 inline PageGroup& Page::group()
index 87e192f..25c1779 100644 (file)
@@ -113,9 +113,6 @@ public:
 
     void pauseSession();
     void stopSession();
-
-    virtual void suspendBuffering() { }
-    virtual void resumeBuffering() { }
     
 #if ENABLE(VIDEO)
     uint64_t uniqueIdentifier() const;
index b9b079d..2050c5e 100644 (file)
@@ -437,22 +437,6 @@ void PlatformMediaSessionManager::resumeAllMediaPlaybackForDocument(const Docume
     });
 }
 
-void PlatformMediaSessionManager::suspendAllMediaBufferingForDocument(const Document& document)
-{
-    forEachSession([&] (PlatformMediaSession& session, size_t) {
-        if (session.client().hostingDocument() == &document)
-            session.suspendBuffering();
-    });
-}
-
-void PlatformMediaSessionManager::resumeAllMediaBufferingForDocument(const Document& document)
-{
-    forEachSession([&] (PlatformMediaSession& session, size_t) {
-        if (session.client().hostingDocument() == &document)
-            session.resumeBuffering();
-    });
-}
-
 void PlatformMediaSessionManager::forEachSession(const Function<void(PlatformMediaSession&, size_t)>& predicate) const
 {
     ++m_iteratingOverSessions;
index b795ff2..45c7052 100644 (file)
@@ -82,8 +82,6 @@ public:
 
     void suspendAllMediaPlaybackForDocument(const Document&);
     void resumeAllMediaPlaybackForDocument(const Document&);
-    void suspendAllMediaBufferingForDocument(const Document&);
-    void resumeAllMediaBufferingForDocument(const Document&);
 
     enum SessionRestrictionFlags {
         NoRestrictions = 0,
index 7c09d7d..6fd94b3 100644 (file)
@@ -1,3 +1,18 @@
+2019-02-14  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r241486.
+        https://bugs.webkit.org/show_bug.cgi?id=194655
+
+        causing API failures in builds (Requested by ShawnRoberts on
+        #webkit).
+
+        Reverted changeset:
+
+        "[Cocoa] Media elements will restart network buffering just
+        before suspending"
+        https://bugs.webkit.org/show_bug.cgi?id=193691
+        https://trac.webkit.org/changeset/241486
+
 2019-02-14  Youenn Fablet  <youenn@apple.com>
 
         Do not add a caches to its engine if the salt cannot be initialized
index b63efb1..752a3a4 100644 (file)
@@ -7146,18 +7146,6 @@ static WebCore::UserInterfaceLayoutDirection toUserInterfaceLayoutDirection(UISe
     return nil;
 }
 
-- (void)_processWillSuspendImminentlyForTesting
-{
-    if (_page)
-        _page->process().sendProcessWillSuspendImminently();
-}
-
-- (void)_processDidResumeForTesting
-{
-    if (_page)
-        _page->process().sendProcessDidResume();
-}
-
 - (void)_denyNextUserMediaRequest
 {
 #if ENABLE(MEDIA_STREAM)
index 99fbd94..1851099 100644 (file)
@@ -548,9 +548,6 @@ typedef NS_OPTIONS(NSUInteger, _WKRectEdge) {
 @property (nonatomic, readonly) _WKInspector *_inspector WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
 @property (nonatomic, readonly) _WKFrameHandle *_mainFrame WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
 
-- (void)_processWillSuspendImminentlyForTesting;
-- (void)_processDidResumeForTesting;
-
 @end
 
 #endif
index 372e454..ea80979 100644 (file)
@@ -249,13 +249,6 @@ public:
     void shutDown();
     void maybeShutDown();
 
-    // ProcessThrottlerClient
-    void sendProcessWillSuspendImminently() override;
-    void sendPrepareToSuspend() override;
-    void sendCancelPrepareToSuspend() override;
-    void sendProcessDidResume() override;
-    void didSetAssertionState(AssertionState) override;
-
 protected:
     static uint64_t generatePageID();
     WebProcessProxy(WebProcessPool&, WebsiteDataStore&, IsPrewarmed);
@@ -325,6 +318,13 @@ private:
     void didChangeIsResponsive() override;
     bool mayBecomeUnresponsive() override;
 
+    // ProcessThrottlerClient
+    void sendProcessWillSuspendImminently() override;
+    void sendPrepareToSuspend() override;
+    void sendCancelPrepareToSuspend() override;
+    void sendProcessDidResume() override;
+    void didSetAssertionState(AssertionState) override;
+
     // Implemented in generated WebProcessProxyMessageReceiver.cpp
     void didReceiveWebProcessProxyMessage(IPC::Connection&, IPC::Decoder&);
     void didReceiveSyncWebProcessProxyMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&);
index 1029edc..331d558 100644 (file)
@@ -687,17 +687,6 @@ void WebPage::resumeAllMediaPlayback()
     m_page->resumeAllMediaPlayback();
 }
 
-void WebPage::suspendAllMediaBuffering()
-{
-    m_page->suspendAllMediaBuffering();
-}
-
-void WebPage::resumeAllMediaBuffering()
-{
-    m_page->resumeAllMediaBuffering();
-}
-
-
 void WebPage::reinitializeWebPage(WebPageCreationParameters&& parameters)
 {
     ASSERT(m_drawingArea);
index c80c4b8..ba949ba 100644 (file)
@@ -1148,9 +1148,6 @@ public:
     bool requestDOMPasteAccess();
     WebCore::IntRect rectForElementAtInteractionLocation() const;
 
-    void suspendAllMediaBuffering();
-    void resumeAllMediaBuffering();
-
 private:
     WebPage(uint64_t pageID, WebPageCreationParameters&&);
 
index bc13103..2822050 100644 (file)
@@ -1379,10 +1379,6 @@ void WebProcess::actualPrepareToSuspend(ShouldAcknowledgeWhenReadyToSuspend shou
 {
     SetForScope<bool> suspensionScope(m_isSuspending, true);
 
-#if ENABLE(VIDEO)
-    suspendAllMediaBuffering();
-#endif
-
     if (!m_suppressMemoryPressureHandler)
         MemoryPressureHandler::singleton().releaseMemory(Critical::Yes, Synchronous::Yes);
 
@@ -1439,11 +1435,7 @@ void WebProcess::cancelPrepareToSuspend()
 #if PLATFORM(IOS_FAMILY)
     accessibilityProcessSuspendedNotification(false);
 #endif
-
-#if ENABLE(VIDEO)
-    resumeAllMediaBuffering();
-#endif
-
+    
     // If we've already finished cleaning up and sent ProcessReadyToSuspend, we
     // shouldn't send DidCancelProcessSuspension; the UI process strictly expects one or the other.
     if (!m_pageMarkingLayersAsVolatileCounter)
@@ -1508,10 +1500,6 @@ void WebProcess::processDidResume()
 #if PLATFORM(IOS_FAMILY)
     accessibilityProcessSuspendedNotification(false);
 #endif
-
-#if ENABLE(VIDEO)
-    resumeAllMediaBuffering();
-#endif
 }
 
 void WebProcess::sendPrewarmInformation(const URL& url)
@@ -1764,20 +1752,6 @@ void WebProcess::resetMockMediaDevices()
 }
 #endif
 
-#if ENABLE(VIDEO)
-void WebProcess::suspendAllMediaBuffering()
-{
-    for (auto& page : m_pageMap.values())
-        page->suspendAllMediaBuffering();
-}
-
-void WebProcess::resumeAllMediaBuffering()
-{
-    for (auto& page : m_pageMap.values())
-        page->resumeAllMediaBuffering();
-}
-#endif
-
 void WebProcess::clearCurrentModifierStateForTesting()
 {
     PlatformKeyboardEvent::setCurrentModifierState({ });
index d98a7a9..b9ca2ee 100644 (file)
@@ -394,11 +394,6 @@ private:
 #endif
 #endif
 
-#if ENABLE(VIDEO)
-    void suspendAllMediaBuffering();
-    void resumeAllMediaBuffering();
-#endif
-
     void clearCurrentModifierStateForTesting();
 
     RefPtr<WebConnectionToUIProcess> m_webConnection;
index 9cd8fc0..ce25452 100644 (file)
@@ -1,3 +1,18 @@
+2019-02-14  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r241486.
+        https://bugs.webkit.org/show_bug.cgi?id=194655
+
+        causing API failures in builds (Requested by ShawnRoberts on
+        #webkit).
+
+        Reverted changeset:
+
+        "[Cocoa] Media elements will restart network buffering just
+        before suspending"
+        https://bugs.webkit.org/show_bug.cgi?id=193691
+        https://trac.webkit.org/changeset/241486
+
 2019-02-14  Zalan Bujtas  <zalan@apple.com>
 
         [LFC][BFC][MarginCollapse] Replaced boxes don't collapse through their margins
index e4e2273..7c6e123 100644 (file)
                CDA315981ED53651009F60D3 /* MediaPlaybackSleepAssertion.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDA315961ED53651009F60D3 /* MediaPlaybackSleepAssertion.mm */; };
                CDA3159A1ED548F1009F60D3 /* MediaPlaybackSleepAssertion.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = CDA315991ED540A5009F60D3 /* MediaPlaybackSleepAssertion.html */; };
                CDA3159D1ED5643F009F60D3 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDA3159C1ED5643F009F60D3 /* IOKit.framework */; };
-               CDA4438E21F7A47700379489 /* ProcessSuspendMediaBuffering.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDA4438D21F7A47700379489 /* ProcessSuspendMediaBuffering.mm */; };
                CDB4115A1E0B00DB00EAD352 /* video-with-muted-audio.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = CDB411591E09DA8E00EAD352 /* video-with-muted-audio.html */; };
                CDB5DFFF213610FA00D3E189 /* now-playing.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = CDB5DFFE21360ED800D3E189 /* now-playing.html */; };
                CDBFCC451A9FF45300A7B691 /* FullscreenZoomInitialFrame.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDBFCC431A9FF44800A7B691 /* FullscreenZoomInitialFrame.mm */; };
                CDA315961ED53651009F60D3 /* MediaPlaybackSleepAssertion.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = MediaPlaybackSleepAssertion.mm; sourceTree = "<group>"; };
                CDA315991ED540A5009F60D3 /* MediaPlaybackSleepAssertion.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = MediaPlaybackSleepAssertion.html; sourceTree = "<group>"; };
                CDA3159C1ED5643F009F60D3 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
-               CDA4438D21F7A47700379489 /* ProcessSuspendMediaBuffering.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ProcessSuspendMediaBuffering.mm; sourceTree = "<group>"; };
                CDB411591E09DA8E00EAD352 /* video-with-muted-audio.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "video-with-muted-audio.html"; sourceTree = "<group>"; };
                CDB5DFFE21360ED800D3E189 /* now-playing.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = "now-playing.html"; sourceTree = "<group>"; };
                CDBFCC421A9FF44800A7B691 /* FullscreenZoomInitialFrame.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = FullscreenZoomInitialFrame.html; sourceTree = "<group>"; };
                                CD227E43211A4D5D00D285AF /* PreferredAudioBufferSize.mm */,
                                7C1AF7931E8DCBAB002645B9 /* PrepareForMoveToWindow.mm */,
                                41882F0221010A70002FF288 /* ProcessPreWarming.mm */,
-                               CDA4438D21F7A47700379489 /* ProcessSuspendMediaBuffering.mm */,
                                518C1152205B04F9001FF4AE /* ProcessSwapOnNavigation.mm */,
                                5798E2AF1CAF5C2800C5CBA0 /* ProvisionalURLNotChange.mm */,
                                A1C4FB6C1BACCE50003742D0 /* QuickLook.mm */,
                                7CCE7F0C1A411AE600447C4C /* PrivateBrowsingPushStateNoHistoryCallback.cpp in Sources */,
                                4647B1261EBA3B850041D7EF /* ProcessDidTerminate.cpp in Sources */,
                                41882F0321010C0D002FF288 /* ProcessPreWarming.mm in Sources */,
-                               CDA4438E21F7A47700379489 /* ProcessSuspendMediaBuffering.mm in Sources */,
                                518C1153205B0504001FF4AE /* ProcessSwapOnNavigation.mm in Sources */,
                                7C83E0C11D0A652F00FEBCF3 /* ProvisionalURLNotChange.mm in Sources */,
                                041A1E34216FFDBC00789E0A /* PublicSuffix.cpp in Sources */,
diff --git a/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm b/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm
deleted file mode 100644 (file)
index 6dd32de..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2019 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if WK_API_ENABLED && WK_HAVE_C_SPI
-
-#import "PlatformUtilities.h"
-#import "TestWKWebView.h"
-
-#import <WebKit/WKWebViewConfigurationPrivate.h>
-#import <WebKit/WKWebViewPrivate.h>
-
-TEST(WebKit, ProcessSuspendMediaBuffering)
-{
-    auto configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
-    WKRetainPtr<WKContextRef> context(AdoptWK, TestWebKitAPI::Util::createContextForInjectedBundleTest("InternalsInjectedBundleTest"));
-    configuration.get().processPool = (WKProcessPool *)context.get();
-    configuration.get()._mediaDataLoadsAutomatically = YES;
-    configuration.get().mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;
-    auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 300, 300) configuration:configuration.get() addToWindow:YES]);
-
-    __block bool isPlaying = false;
-    [webView performAfterReceivingMessage:@"playing" action:^() { isPlaying = true; }];
-
-    TestWebKitAPI::Util::run(&isPlaying);
-
-    auto isElementAllowedToBuffer = [&] {
-        return [webView stringByEvaluatingJavaScript:@"window.internals.elementShouldBufferData(document.querySelector('video'))"].boolValue;
-    };
-
-    ASSERT_TRUE(isElementAllowedToBuffer());
-
-    [webView _processWillSuspendImminentlyForTesting];
-
-    ASSERT_FALSE(isElementAllowedToBuffer());
-
-    [webView _processDidResumeForTesting];
-
-    ASSERT_TRUE(isElementAllowedToBuffer());
-}
-
-#endif // WK_API_ENABLED && WK_HAVE_C_SPI