Diff
Modified: trunk/Source/WebCore/ChangeLog (241547 => 241548)
--- trunk/Source/WebCore/ChangeLog 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebCore/ChangeLog 2019-02-14 17:10:13 UTC (rev 241548)
@@ -1,3 +1,18 @@
+2019-02-14 Commit Queue <commit-qu...@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 <bb...@apple.com>
Web Inspector: don't include accessibility role in DOM.Node object payloads
Modified: trunk/Source/WebCore/dom/Document.cpp (241547 => 241548)
--- trunk/Source/WebCore/dom/Document.cpp 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebCore/dom/Document.cpp 2019-02-14 17:10:13 UTC (rev 241548)
@@ -1738,18 +1738,6 @@
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
Modified: trunk/Source/WebCore/dom/Document.h (241547 => 241548)
--- trunk/Source/WebCore/dom/Document.h 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebCore/dom/Document.h 2019-02-14 17:10:13 UTC (rev 241548)
@@ -1126,8 +1126,6 @@
void stopAllMediaPlayback();
void suspendAllMediaPlayback();
void resumeAllMediaPlayback();
- void suspendAllMediaBuffering();
- void resumeAllMediaBuffering();
#endif
WEBCORE_EXPORT void setShouldCreateRenderers(bool);
Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (241547 => 241548)
--- trunk/Source/WebCore/html/MediaElementSession.cpp 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebCore/html/MediaElementSession.cpp 2019-02-14 17:10:13 UTC (rev 241548)
@@ -379,9 +379,6 @@
if (isSuspended())
return false;
- if (bufferingSuspended())
- return false;
-
if (state() == PlatformMediaSession::Playing)
return true;
@@ -788,23 +785,6 @@
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();
Modified: trunk/Source/WebCore/html/MediaElementSession.h (241547 => 241548)
--- trunk/Source/WebCore/html/MediaElementSession.h 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebCore/html/MediaElementSession.h 2019-02-14 17:10:13 UTC (rev 241548)
@@ -101,10 +101,6 @@
void resetPlaybackSessionState() override;
- void suspendBuffering() override;
- void resumeBuffering() override;
- bool bufferingSuspended() const;
-
// Restrictions to modify default behaviors.
enum BehaviorRestrictionFlags : unsigned {
NoRestrictions = 0,
Modified: trunk/Source/WebCore/page/Page.cpp (241547 => 241548)
--- trunk/Source/WebCore/page/Page.cpp 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebCore/page/Page.cpp 2019-02-14 17:10:13 UTC (rev 241548)
@@ -1764,36 +1764,6 @@
#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)
{
Modified: trunk/Source/WebCore/page/Page.h (241547 => 241548)
--- trunk/Source/WebCore/page/Page.h 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebCore/page/Page.h 2019-02-14 17:10:13 UTC (rev 241548)
@@ -614,10 +614,7 @@
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 @@
bool m_shouldEnableICECandidateFilteringByDefault { true };
bool m_mediaPlaybackIsSuspended { false };
- bool m_mediaBufferingIsSuspended { false };
};
inline PageGroup& Page::group()
Modified: trunk/Source/WebCore/platform/audio/PlatformMediaSession.h (241547 => 241548)
--- trunk/Source/WebCore/platform/audio/PlatformMediaSession.h 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebCore/platform/audio/PlatformMediaSession.h 2019-02-14 17:10:13 UTC (rev 241548)
@@ -113,9 +113,6 @@
void pauseSession();
void stopSession();
-
- virtual void suspendBuffering() { }
- virtual void resumeBuffering() { }
#if ENABLE(VIDEO)
uint64_t uniqueIdentifier() const;
Modified: trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp (241547 => 241548)
--- trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp 2019-02-14 17:10:13 UTC (rev 241548)
@@ -437,22 +437,6 @@
});
}
-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;
Modified: trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.h (241547 => 241548)
--- trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.h 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.h 2019-02-14 17:10:13 UTC (rev 241548)
@@ -82,8 +82,6 @@
void suspendAllMediaPlaybackForDocument(const Document&);
void resumeAllMediaPlaybackForDocument(const Document&);
- void suspendAllMediaBufferingForDocument(const Document&);
- void resumeAllMediaBufferingForDocument(const Document&);
enum SessionRestrictionFlags {
NoRestrictions = 0,
Modified: trunk/Source/WebKit/ChangeLog (241547 => 241548)
--- trunk/Source/WebKit/ChangeLog 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebKit/ChangeLog 2019-02-14 17:10:13 UTC (rev 241548)
@@ -1,3 +1,18 @@
+2019-02-14 Commit Queue <commit-qu...@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 <you...@apple.com>
Do not add a caches to its engine if the salt cannot be initialized
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (241547 => 241548)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2019-02-14 17:10:13 UTC (rev 241548)
@@ -7146,18 +7146,6 @@
return nil;
}
-- (void)_processWillSuspendImminentlyForTesting
-{
- if (_page)
- _page->process().sendProcessWillSuspendImminently();
-}
-
-- (void)_processDidResumeForTesting
-{
- if (_page)
- _page->process().sendProcessDidResume();
-}
-
- (void)_denyNextUserMediaRequest
{
#if ENABLE(MEDIA_STREAM)
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h (241547 => 241548)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h 2019-02-14 17:10:13 UTC (rev 241548)
@@ -548,9 +548,6 @@
@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
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.h (241547 => 241548)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2019-02-14 17:10:13 UTC (rev 241548)
@@ -249,13 +249,6 @@
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 @@
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>&);
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (241547 => 241548)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2019-02-14 17:10:13 UTC (rev 241548)
@@ -687,17 +687,6 @@
m_page->resumeAllMediaPlayback();
}
-void WebPage::suspendAllMediaBuffering()
-{
- m_page->suspendAllMediaBuffering();
-}
-
-void WebPage::resumeAllMediaBuffering()
-{
- m_page->resumeAllMediaBuffering();
-}
-
-
void WebPage::reinitializeWebPage(WebPageCreationParameters&& parameters)
{
ASSERT(m_drawingArea);
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (241547 => 241548)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2019-02-14 17:10:13 UTC (rev 241548)
@@ -1148,9 +1148,6 @@
bool requestDOMPasteAccess();
WebCore::IntRect rectForElementAtInteractionLocation() const;
- void suspendAllMediaBuffering();
- void resumeAllMediaBuffering();
-
private:
WebPage(uint64_t pageID, WebPageCreationParameters&&);
Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (241547 => 241548)
--- trunk/Source/WebKit/WebProcess/WebProcess.cpp 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp 2019-02-14 17:10:13 UTC (rev 241548)
@@ -1379,10 +1379,6 @@
{
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 @@
#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 @@
#if PLATFORM(IOS_FAMILY)
accessibilityProcessSuspendedNotification(false);
#endif
-
-#if ENABLE(VIDEO)
- resumeAllMediaBuffering();
-#endif
}
void WebProcess::sendPrewarmInformation(const URL& url)
@@ -1764,20 +1752,6 @@
}
#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({ });
Modified: trunk/Source/WebKit/WebProcess/WebProcess.h (241547 => 241548)
--- trunk/Source/WebKit/WebProcess/WebProcess.h 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Source/WebKit/WebProcess/WebProcess.h 2019-02-14 17:10:13 UTC (rev 241548)
@@ -394,11 +394,6 @@
#endif
#endif
-#if ENABLE(VIDEO)
- void suspendAllMediaBuffering();
- void resumeAllMediaBuffering();
-#endif
-
void clearCurrentModifierStateForTesting();
RefPtr<WebConnectionToUIProcess> m_webConnection;
Modified: trunk/Tools/ChangeLog (241547 => 241548)
--- trunk/Tools/ChangeLog 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Tools/ChangeLog 2019-02-14 17:10:13 UTC (rev 241548)
@@ -1,3 +1,18 @@
+2019-02-14 Commit Queue <commit-qu...@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 <za...@apple.com>
[LFC][BFC][MarginCollapse] Replaced boxes don't collapse through their margins
Modified: trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (241547 => 241548)
--- trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2019-02-14 17:10:13 UTC (rev 241548)
@@ -788,7 +788,6 @@
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 */; };
@@ -2116,7 +2115,6 @@
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>"; };
@@ -2572,7 +2570,6 @@
CD227E43211A4D5D00D285AF /* PreferredAudioBufferSize.mm */,
7C1AF7931E8DCBAB002645B9 /* PrepareForMoveToWindow.mm */,
41882F0221010A70002FF288 /* ProcessPreWarming.mm */,
- CDA4438D21F7A47700379489 /* ProcessSuspendMediaBuffering.mm */,
518C1152205B04F9001FF4AE /* ProcessSwapOnNavigation.mm */,
5798E2AF1CAF5C2800C5CBA0 /* ProvisionalURLNotChange.mm */,
A1C4FB6C1BACCE50003742D0 /* QuickLook.mm */,
@@ -4212,7 +4209,6 @@
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 */,
Deleted: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm (241547 => 241548)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm 2019-02-14 17:06:03 UTC (rev 241547)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm 2019-02-14 17:10:13 UTC (rev 241548)
@@ -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