Diff
Modified: branches/safari-610.1.1-branch/LayoutTests/ChangeLog (254520 => 254521)
--- branches/safari-610.1.1-branch/LayoutTests/ChangeLog 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/LayoutTests/ChangeLog 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,3 +1,7 @@
+2020-01-14 Kocsen Chung <[email protected]>
+
+ Revert r254392. rdar://problem/58542040
+
2020-01-10 Yusuke Suzuki <[email protected]>
[WebCore] Fix crash in module loader due to change in fragment reservation
Modified: branches/safari-610.1.1-branch/LayoutTests/gpu-process/TestExpectations (254520 => 254521)
--- branches/safari-610.1.1-branch/LayoutTests/gpu-process/TestExpectations 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/LayoutTests/gpu-process/TestExpectations 2020-01-14 19:37:20 UTC (rev 254521)
@@ -179,46 +179,14 @@
inspector/layers/layers-compositing-reasons.html [ Skip ]
media [ Skip ]
+media/audio-play-with-video-element.html [ Pass ]
+media/audio-play.html [ Pass ]
+media/media-can-play-mpeg-audio.html [ Pass ]
+media/media-can-play-wav-audio.html [ Pass ]
media/media-controller.html [ Pass ]
media/media-preload-no-delay-loadevent.html [ Pass ]
media/video-src.html [ Pass ]
media/video-source.html [ Pass ]
-media/audio-as-video-fullscreen.html [ Pass ]
-media/audio-background-playback-playlist.html [ Pass ]
-media/audio-concurrent-supported.html [ Pass ]
-media/audio-constructor-preload.html [ Pass ]
-media/audio-constructor-src.html [ Pass ]
-media/audio-constructor.html [ Pass ]
-media/audio-controls-do-not-fade-out.html [ Pass ]
-media/audio-controls-timeline-in-media-document.html [ Pass ]
-media/audio-dealloc-crash.html [ Pass ]
-media/audio-delete-while-slider-thumb-clicked.html [ Pass ]
-media/audio-garbage-collect.html [ Pass ]
-media/audio-mpeg-supported.html [ Pass ]
-media/audio-mpeg4-supported.html [ Pass ]
-media/audio-no-installed-engines.html [ Pass ]
-media/audio-only-video-intrinsic-size.html [ Pass ]
-media/audio-play-event.html [ Pass ]
-media/audio-play-with-video-element.html [ Pass ]
-media/audio-play.html [ Pass ]
-media/audio-playback-restriction-autoplay.html [ Pass ]
-media/audio-playback-restriction-play-muted.html [ Pass ]
-media/audio-playback-restriction-play.html [ Pass ]
-media/audio-playback-restriction-removed-muted.html [ Pass ]
-media/audio-playback-volume-changes-with-restrictions-and-user-gestures.html [ Pass ]
-media/audio-playback-volume-changes-with-restrictions.html [ Pass ]
-media/deactivate-audio-session.html [ Pass ]
-media/media-can-play-mpeg-audio.html [ Pass ]
-media/media-can-play-wav-audio.html [ Pass ]
-media/media-document-audio-controls-visible.html [ Pass ]
-media/media-document-audio-repaint.html [ Pass ]
-media/media-document-audio-size.html [ Pass ]
-media/muted-video-is-playing-audio.html [ Pass ]
-media/restricted-audio-playback-with-document-gesture.html [ Pass ]
-media/restricted-audio-playback-with-multiple-settimeouts.html [ Pass ]
-media/video-controls-visible-audio-only.html [ Pass ]
-media/video-play-audio-require-user-gesture.html [ Pass ]
-
accessibility/media-element.html [ Skip ]
fast/block/float/list-marker-is-float-crash.html [ Skip ]
fast/css/relative-position-replaced-in-table-display-crash.html [ Skip ]
Modified: branches/safari-610.1.1-branch/Source/WebKit/ChangeLog (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/ChangeLog 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/ChangeLog 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,3 +1,7 @@
+2020-01-14 Kocsen Chung <[email protected]>
+
+ Revert r254392. rdar://problem/58542040
+
2020-01-11 Alex Christensen <[email protected]>
Expose frame information on _WKResourceLoadInfo
Modified: branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/GPUProcess.cpp (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/GPUProcess.cpp 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/GPUProcess.cpp 2020-01-14 19:37:20 UTC (rev 254521)
@@ -35,7 +35,6 @@
#include "GPUConnectionToWebProcess.h"
#include "GPUProcessCreationParameters.h"
#include "Logging.h"
-#include "SandboxExtension.h"
#include "WebPageProxyMessages.h"
#include "WebProcessPoolMessages.h"
#include <WebCore/LogInitialization.h>
Modified: branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/GPUProcess.messages.in (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/GPUProcess.messages.in 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/GPUProcess.messages.in 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,4 +1,4 @@
-# Copyright (C) 2019-2020 Apple Inc. All rights reserved.
+# 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
Modified: branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp 2020-01-14 19:37:20 UTC (rev 254521)
@@ -203,10 +203,10 @@
player->prepareForPlayback(privateMode, preload, preservesPitch, prepareForRendering);
}
-void RemoteMediaPlayerManagerProxy::load(MediaPlayerPrivateRemoteIdentifier id, URL&& url, Optional<SandboxExtension::Handle>&& sandboxExtension, WebCore::ContentType&& contentType, String&& keySystem, CompletionHandler<void(RemoteMediaPlayerConfiguration&&)>&& completionHandler)
+void RemoteMediaPlayerManagerProxy::load(MediaPlayerPrivateRemoteIdentifier id, URL&& url, WebCore::ContentType&& contentType, String&& keySystem, CompletionHandler<void(RemoteMediaPlayerConfiguration&&)>&& completionHandler)
{
if (auto player = m_proxies.get(id))
- player->load(WTFMove(url), WTFMove(sandboxExtension), WTFMove(contentType), WTFMove(keySystem), WTFMove(completionHandler));
+ player->load(WTFMove(url), WTFMove(contentType), WTFMove(keySystem), WTFMove(completionHandler));
}
void RemoteMediaPlayerManagerProxy::cancelLoad(MediaPlayerPrivateRemoteIdentifier id)
Modified: branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.h (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.h 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.h 2020-01-14 19:37:20 UTC (rev 254521)
@@ -30,7 +30,6 @@
#include "Connection.h"
#include "MediaPlayerPrivateRemoteIdentifier.h"
#include "MessageReceiver.h"
-#include "SandboxExtension.h"
#include <WebCore/MediaPlayer.h>
#include <wtf/LoggerHelper.h>
@@ -83,7 +82,7 @@
void clearMediaCacheForOrigins(WebCore::MediaPlayerEnums::MediaEngineIdentifier, const String&&, Vector<WebCore::SecurityOriginData>&&);
void supportsKeySystem(WebCore::MediaPlayerEnums::MediaEngineIdentifier, const String&&, const String&&, CompletionHandler<void(bool)>&&);
- void load(MediaPlayerPrivateRemoteIdentifier, URL&&, Optional<SandboxExtension::Handle>&&, WebCore::ContentType&&, String&&, CompletionHandler<void(RemoteMediaPlayerConfiguration&&)>&&);
+ void load(MediaPlayerPrivateRemoteIdentifier, URL&&, WebCore::ContentType&&, String&&, CompletionHandler<void(RemoteMediaPlayerConfiguration&&)>&&);
void prepareForPlayback(MediaPlayerPrivateRemoteIdentifier, bool privateMode, WebCore::MediaPlayerEnums::Preload, bool preservesPitch, bool prepareForRendering);
void cancelLoad(MediaPlayerPrivateRemoteIdentifier);
void prepareToPlay(MediaPlayerPrivateRemoteIdentifier);
Modified: branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in 2020-01-14 19:37:20 UTC (rev 254521)
@@ -37,7 +37,7 @@
PrepareForPlayback(WebKit::MediaPlayerPrivateRemoteIdentifier id, bool privateMode, enum:uint8_t WebCore::MediaPlayerEnums::Preload preload, bool preservesPitch, bool prepareForRendering)
- Load(WebKit::MediaPlayerPrivateRemoteIdentifier id, URL url, Optional<WebKit::SandboxExtension::Handle> sandboxExtension, WebCore::ContentType contentType, String keySystem) -> (struct WebKit::RemoteMediaPlayerConfiguration playerConfiguration) Async
+ Load(WebKit::MediaPlayerPrivateRemoteIdentifier id, URL url, WebCore::ContentType contentType, String keySystem) -> (struct WebKit::RemoteMediaPlayerConfiguration playerConfiguration) Async
CancelLoad(WebKit::MediaPlayerPrivateRemoteIdentifier id)
PrepareToPlay(WebKit::MediaPlayerPrivateRemoteIdentifier id)
Modified: branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp 2020-01-14 19:37:20 UTC (rev 254521)
@@ -69,10 +69,6 @@
{
m_updateCachedStateMessageTimer.stop();
m_player->invalidate();
- if (m_sandboxExtension) {
- m_sandboxExtension->revoke();
- m_sandboxExtension = nullptr;
- }
}
void RemoteMediaPlayerProxy::getConfiguration(RemoteMediaPlayerConfiguration& configuration)
@@ -86,19 +82,11 @@
configuration.shouldIgnoreIntrinsicSize = m_player->shouldIgnoreIntrinsicSize();
}
-void RemoteMediaPlayerProxy::load(const URL& url, Optional<SandboxExtension::Handle>&& sandboxExtensionHandle, const ContentType& contentType, const String& keySystem, CompletionHandler<void(RemoteMediaPlayerConfiguration&&)>&& completionHandler)
+void RemoteMediaPlayerProxy::load(const URL& url, const ContentType& contentType, const String& keySystem, CompletionHandler<void(RemoteMediaPlayerConfiguration&&)>&& completionHandler)
{
+ m_player->load(url, contentType, keySystem);
+
RemoteMediaPlayerConfiguration configuration;
-
- if (sandboxExtensionHandle) {
- m_sandboxExtension = SandboxExtension::create(WTFMove(sandboxExtensionHandle.value()));
- if (m_sandboxExtension)
- m_sandboxExtension->consume();
- else
- WTFLogAlways("Unable to create sandbox extension for media url.\n");
- }
-
- m_player->load(url, contentType, keySystem);
getConfiguration(configuration);
completionHandler(WTFMove(configuration));
}
Modified: branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h 2020-01-14 19:37:20 UTC (rev 254521)
@@ -33,7 +33,6 @@
#include "RemoteMediaPlayerProxyConfiguration.h"
#include "RemoteMediaPlayerState.h"
#include "RemoteMediaResourceIdentifier.h"
-#include "SandboxExtension.h"
#include <WebCore/Cookie.h>
#include <WebCore/MediaPlayer.h>
#include <WebCore/PlatformMediaResourceLoader.h>
@@ -61,7 +60,7 @@
void prepareForPlayback(bool privateMode, WebCore::MediaPlayerEnums::Preload, bool preservesPitch, bool prepareForRendering);
- void load(const URL&, Optional<SandboxExtension::Handle>&&, const WebCore::ContentType&, const String&, CompletionHandler<void(RemoteMediaPlayerConfiguration&&)>&&);
+ void load(const URL&, const WebCore::ContentType&, const String&, CompletionHandler<void(RemoteMediaPlayerConfiguration&&)>&&);
void cancelLoad();
void prepareToPlay();
@@ -187,7 +186,6 @@
#endif
MediaPlayerPrivateRemoteIdentifier m_id;
- RefPtr<SandboxExtension> m_sandboxExtension;
Ref<IPC::Connection> m_webProcessConnection;
RefPtr<WebCore::MediaPlayer> m_player;
RemoteMediaPlayerManagerProxy& m_manager;
Modified: branches/safari-610.1.1-branch/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019-2020 Apple Inc. All rights reserved.
+ * 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
@@ -47,7 +47,7 @@
#include <wtf/spi/darwin/XPCSPI.h>
#endif
-#define MESSAGE_CHECK(assertion) MESSAGE_CHECK_BASE(assertion, this->connection())
+#define MESSAGE_CHECK(assertion) MESSAGE_CHECK_BASE(assertion, connection())
namespace WebKit {
using namespace WebCore;
@@ -125,9 +125,7 @@
void GPUProcessProxy::openGPUProcessConnection(ConnectionRequestIdentifier connectionRequestIdentifier, WebProcessProxy& webProcessProxy)
{
- auto& connection = *this->connection();
-
- connection.sendWithAsyncReply(Messages::GPUProcess::CreateGPUConnectionToWebProcess { webProcessProxy.coreProcessIdentifier(), webProcessProxy.sessionID() }, [this, weakThis = makeWeakPtr(this), webProcessProxy = makeWeakPtr(webProcessProxy), connectionRequestIdentifier](auto&& connectionIdentifier) mutable {
+ connection()->sendWithAsyncReply(Messages::GPUProcess::CreateGPUConnectionToWebProcess { webProcessProxy.coreProcessIdentifier(), webProcessProxy.sessionID() }, [this, weakThis = makeWeakPtr(this), webProcessProxy = makeWeakPtr(webProcessProxy), connectionRequestIdentifier](auto&& connectionIdentifier) mutable {
if (!weakThis)
return;
@@ -144,7 +142,7 @@
request.reply(GPUProcessConnectionInfo { WTFMove(*connectionIdentifier) });
#elif OS(DARWIN)
MESSAGE_CHECK(MACH_PORT_VALID(connectionIdentifier->port()));
- request.reply(GPUProcessConnectionInfo { IPC::Attachment { connectionIdentifier->port(), MACH_MSG_TYPE_MOVE_SEND }, this->connection()->getAuditToken() });
+ request.reply(GPUProcessConnectionInfo { IPC::Attachment { connectionIdentifier->port(), MACH_MSG_TYPE_MOVE_SEND } });
#else
notImplemented();
#endif
Modified: branches/safari-610.1.1-branch/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019-2020 Apple Inc. All rights reserved.
+ * 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
@@ -32,9 +32,11 @@
#include "ProcessLauncher.h"
#include "ProcessThrottler.h"
#include "ProcessThrottlerClient.h"
+#include "TransactionID.h"
#include "WebPageProxyIdentifier.h"
#include "WebProcessProxyMessagesReplies.h"
#include <memory>
+#include <wtf/Deque.h>
namespace WebKit {
@@ -94,6 +96,7 @@
ProcessThrottler m_throttler;
ProcessThrottler::ActivityVariant m_activityFromWebProcesses;
+
#if ENABLE(MEDIA_STREAM)
bool m_useMockCaptureDevices { false };
#endif
Modified: branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebProcessProxy.cpp (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebProcessProxy.cpp 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebProcessProxy.cpp 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2020 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-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
Modified: branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebProcessProxy.h (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebProcessProxy.h 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebProcessProxy.h 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2020 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-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
Modified: branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2020-01-14 19:37:20 UTC (rev 254521)
@@ -31,7 +31,6 @@
#include "APIWebsiteDataRecord.h"
#include "AuthenticatorManager.h"
#include "DeviceIdHashSaltStorage.h"
-#include "GPUProcessProxy.h"
#include "MockAuthenticatorManager.h"
#include "NetworkProcessMessages.h"
#include "ShouldGrandfatherStatistics.h"
Modified: branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/GPUProcessConnection.h (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/GPUProcessConnection.h 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/GPUProcessConnection.h 2020-01-14 19:37:20 UTC (rev 254521)
@@ -47,11 +47,6 @@
IPC::Connection& connection() { return m_connection.get(); }
-#if HAVE(AUDIT_TOKEN)
- void setAuditToken(Optional<audit_token_t> auditToken) { m_auditToken = auditToken; }
- Optional<audit_token_t> auditToken() const { return m_auditToken; }
-#endif
-
private:
GPUProcessConnection(IPC::Connection::Identifier);
@@ -62,10 +57,6 @@
// The connection from the web process to the GPU process.
Ref<IPC::Connection> m_connection;
-
-#if HAVE(AUDIT_TOKEN)
- Optional<audit_token_t> m_auditToken;
-#endif
};
} // namespace WebKit
Modified: branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.h (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.h 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.h 2020-01-14 19:37:20 UTC (rev 254521)
@@ -31,9 +31,6 @@
struct GPUProcessConnectionInfo {
IPC::Attachment connection;
-#if HAVE(AUDIT_TOKEN)
- Optional<audit_token_t> auditToken;
-#endif
IPC::Connection::Identifier identifier()
{
@@ -63,9 +60,6 @@
void encode(IPC::Encoder& encoder) const
{
encoder << connection;
-#if HAVE(AUDIT_TOKEN)
- encoder << auditToken;
-#endif
}
static bool decode(IPC::Decoder& decoder, GPUProcessConnectionInfo& info)
@@ -72,10 +66,6 @@
{
if (!decoder.decode(info.connection))
return false;
-#if HAVE(AUDIT_TOKEN)
- if (!decoder.decode(info.auditToken))
- return false;
-#endif
return true;
}
};
Modified: branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019-2020 Apple Inc. All rights reserved.
+ * 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
@@ -30,9 +30,7 @@
#include "Logging.h"
#include "RemoteMediaPlayerManagerProxyMessages.h"
-#include "SandboxExtension.h"
#include "WebCoreArgumentCoders.h"
-#include "WebProcess.h"
#include <WebCore/MediaPlayer.h>
#include <WebCore/NotImplemented.h>
#include <WebCore/PlatformLayer.h>
@@ -86,38 +84,12 @@
void MediaPlayerPrivateRemote::prepareForPlayback(bool privateMode, MediaPlayer::Preload preload, bool preservesPitch, bool prepare)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::PrepareForPlayback(m_id, privateMode, preload, preservesPitch, prepare), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::PrepareForPlayback(m_id, privateMode, preload, preservesPitch, prepare), 0);
}
void MediaPlayerPrivateRemote::MediaPlayerPrivateRemote::load(const URL& url, const ContentType& contentType, const String& keySystem)
{
- auto& connection = m_manager.gpuProcessConnection().connection();
- Optional<SandboxExtension::Handle> sandboxExtensionHandle;
- if (url.isLocalFile()) {
- SandboxExtension::Handle handle;
- auto fileSystemPath = url.fileSystemPath();
- bool createdExtension = false;
-
-#if HAVE(SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN)
- auto auditToken = m_manager.gpuProcessConnection().auditToken();
- ASSERT(auditToken);
- if (auditToken)
- createdExtension = SandboxExtension::createHandleForReadByAuditToken(fileSystemPath, auditToken.value(), handle);
- else
-#endif
- createdExtension = SandboxExtension::createHandle(fileSystemPath, SandboxExtension::Type::ReadOnly, handle);
-
- if (!createdExtension) {
- WTFLogAlways("Unable to create sandbox extension handle for GPUProcess url.\n");
- m_cachedState.networkState = MediaPlayer::NetworkState::FormatError;
- m_player->networkStateChanged();
- return;
- }
-
- sandboxExtensionHandle = WTFMove(handle);
- }
-
- connection.sendWithAsyncReply(Messages::RemoteMediaPlayerManagerProxy::Load(m_id, url, sandboxExtensionHandle, contentType, keySystem), [weakThis = makeWeakPtr(*this)](auto&& configuration) {
+ m_manager.gpuProcessConnection().sendWithAsyncReply(Messages::RemoteMediaPlayerManagerProxy::Load(m_id, url, contentType, keySystem), [weakThis = makeWeakPtr(*this)](auto&& configuration) {
if (weakThis)
weakThis->m_configuration = configuration;
});
@@ -125,49 +97,49 @@
void MediaPlayerPrivateRemote::cancelLoad()
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::CancelLoad(m_id), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::CancelLoad(m_id), 0);
}
void MediaPlayerPrivateRemote::prepareToPlay()
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::PrepareToPlay(m_id), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::PrepareToPlay(m_id), 0);
}
void MediaPlayerPrivateRemote::play()
{
m_cachedState.paused = false;
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::Play(m_id), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::Play(m_id), 0);
}
void MediaPlayerPrivateRemote::pause()
{
m_cachedState.paused = true;
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::Pause(m_id), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::Pause(m_id), 0);
}
void MediaPlayerPrivateRemote::setPreservesPitch(bool preservesPitch)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetPreservesPitch(m_id, preservesPitch), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetPreservesPitch(m_id, preservesPitch), 0);
}
void MediaPlayerPrivateRemote::setVolumeDouble(double volume)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetVolume(m_id, volume), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetVolume(m_id, volume), 0);
}
void MediaPlayerPrivateRemote::setMuted(bool muted)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetMuted(m_id, muted), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetMuted(m_id, muted), 0);
}
void MediaPlayerPrivateRemote::setPreload(MediaPlayer::Preload preload)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetPreload(m_id, preload), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetPreload(m_id, preload), 0);
}
void MediaPlayerPrivateRemote::setPrivateBrowsingMode(bool privateMode)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetPrivateBrowsingMode(m_id, privateMode), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetPrivateBrowsingMode(m_id, privateMode), 0);
}
MediaTime MediaPlayerPrivateRemote::currentMediaTime() const
@@ -178,13 +150,13 @@
void MediaPlayerPrivateRemote::seek(const MediaTime& time)
{
m_seeking = true;
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::Seek(m_id, time), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::Seek(m_id, time), 0);
}
void MediaPlayerPrivateRemote::seekWithTolerance(const MediaTime& time, const MediaTime& negativeTolerance, const MediaTime& positiveTolerance)
{
m_seeking = true;
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SeekWithTolerance(m_id, time, negativeTolerance, positiveTolerance), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SeekWithTolerance(m_id, time, negativeTolerance, positiveTolerance), 0);
}
bool MediaPlayerPrivateRemote::didLoadingProgress() const
@@ -341,42 +313,42 @@
void MediaPlayerPrivateRemote::prepareForRendering()
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::PrepareForRendering(m_id), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::PrepareForRendering(m_id), 0);
}
void MediaPlayerPrivateRemote::setSize(const WebCore::IntSize& size)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetSize(m_id, size), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetSize(m_id, size), 0);
}
void MediaPlayerPrivateRemote::setVisible(bool visible)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetVisible(m_id, visible), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetVisible(m_id, visible), 0);
}
void MediaPlayerPrivateRemote::setShouldMaintainAspectRatio(bool maintainRatio)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetShouldMaintainAspectRatio(m_id, maintainRatio), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetShouldMaintainAspectRatio(m_id, maintainRatio), 0);
}
void MediaPlayerPrivateRemote::setVideoFullscreenFrame(WebCore::FloatRect rect)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetVideoFullscreenFrame(m_id, rect), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetVideoFullscreenFrame(m_id, rect), 0);
}
void MediaPlayerPrivateRemote::setVideoFullscreenGravity(WebCore::MediaPlayerEnums::VideoGravity gravity)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetVideoFullscreenGravity(m_id, gravity), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetVideoFullscreenGravity(m_id, gravity), 0);
}
void MediaPlayerPrivateRemote::acceleratedRenderingStateChanged()
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::AcceleratedRenderingStateChanged(m_id, m_player->supportsAcceleratedRendering()), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::AcceleratedRenderingStateChanged(m_id, m_player->supportsAcceleratedRendering()), 0);
}
void MediaPlayerPrivateRemote::setShouldDisableSleep(bool disable)
{
- m_manager.gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::SetShouldDisableSleep(m_id, disable), 0);
+ m_manager.gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::SetShouldDisableSleep(m_id, disable), 0);
}
FloatSize MediaPlayerPrivateRemote::naturalSize() const
@@ -841,7 +813,7 @@
ASSERT(!m_mediaResources.contains(remoteMediaResourceIdentifier));
auto resource = m_mediaResourceLoader->requestResource(WTFMove(request), options);
// PlatformMediaResource owns the PlatformMediaResourceClient
- resource->setClient(makeUnique<RemoteMediaResourceProxy>(m_manager.gpuProcessConnection().connection(), *resource, remoteMediaResourceIdentifier));
+ resource->setClient(makeUnique<RemoteMediaResourceProxy>(m_manager.gpuProcessConnection(), *resource, remoteMediaResourceIdentifier));
m_mediaResources.add(remoteMediaResourceIdentifier, WTFMove(resource));
}
Modified: branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019-2020 Apple Inc. All rights reserved.
+ * 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
Modified: branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.cpp (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.cpp 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.cpp 2020-01-14 19:37:20 UTC (rev 254521)
@@ -87,7 +87,7 @@
bool RemoteMediaPlayerMIMETypeCache::canDecodeExtendedType(const WebCore::ContentType& type)
{
bool result;
- if (!m_manager.gpuProcessConnection().connection().sendSync(Messages::RemoteMediaPlayerManagerProxy::CanDecodeExtendedType(m_engineIdentifier, type.raw()), Messages::RemoteMediaPlayerManagerProxy::CanDecodeExtendedType::Reply(result), 0))
+ if (!m_manager.gpuProcessConnection().sendSync(Messages::RemoteMediaPlayerManagerProxy::CanDecodeExtendedType(m_engineIdentifier, type.raw()), Messages::RemoteMediaPlayerManagerProxy::CanDecodeExtendedType::Reply(result), 0))
return false;
return result;
@@ -108,7 +108,7 @@
}
MediaPlayer::SupportsType result;
- if (!m_manager.gpuProcessConnection().connection().sendSync(Messages::RemoteMediaPlayerManagerProxy::SupportsTypeAndCodecs(m_engineIdentifier, parameters), Messages::RemoteMediaPlayerManagerProxy::SupportsTypeAndCodecs::Reply(result), 0))
+ if (!m_manager.gpuProcessConnection().sendSync(Messages::RemoteMediaPlayerManagerProxy::SupportsTypeAndCodecs(m_engineIdentifier, parameters), Messages::RemoteMediaPlayerManagerProxy::SupportsTypeAndCodecs::Reply(result), 0))
return MediaPlayer::SupportsType::IsNotSupported;
if (!m_supportsTypeAndCodecsCache)
@@ -125,7 +125,7 @@
return;
Vector<String> types;
- if (!m_manager.gpuProcessConnection().connection().sendSync(Messages::RemoteMediaPlayerManagerProxy::GetSupportedTypes(m_engineIdentifier), Messages::RemoteMediaPlayerManagerProxy::GetSupportedTypes::Reply(types), 0))
+ if (!m_manager.gpuProcessConnection().sendSync(Messages::RemoteMediaPlayerManagerProxy::GetSupportedTypes(m_engineIdentifier), Messages::RemoteMediaPlayerManagerProxy::GetSupportedTypes::Reply(types), 0))
return;
for (auto& type : types)
Modified: branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp 2020-01-14 19:37:20 UTC (rev 254521)
@@ -28,6 +28,7 @@
#if ENABLE(GPU_PROCESS)
+#include "GPUProcessConnection.h"
#include "MediaPlayerPrivateRemote.h"
#include "RemoteMediaPlayerConfiguration.h"
#include "RemoteMediaPlayerMIMETypeCache.h"
@@ -163,7 +164,7 @@
proxyConfiguration.isVideo = player->isVideoPlayer();
RemoteMediaPlayerConfiguration playerConfiguration;
- bool sendSucceeded = gpuProcessConnection().connection().sendSync(Messages::RemoteMediaPlayerManagerProxy::CreateMediaPlayer(id, remoteEngineIdentifier, proxyConfiguration), Messages::RemoteMediaPlayerManagerProxy::CreateMediaPlayer::Reply(playerConfiguration), 0);
+ bool sendSucceeded = gpuProcessConnection().sendSync(Messages::RemoteMediaPlayerManagerProxy::CreateMediaPlayer(id, remoteEngineIdentifier, proxyConfiguration), Messages::RemoteMediaPlayerManagerProxy::CreateMediaPlayer::Reply(playerConfiguration), 0);
if (!sendSucceeded) {
WTFLogAlways("Failed to create remote media player.");
return nullptr;
@@ -177,7 +178,7 @@
void RemoteMediaPlayerManager::deleteRemoteMediaPlayer(MediaPlayerPrivateRemoteIdentifier id)
{
m_players.take(id);
- gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::DeleteMediaPlayer(id), 0);
+ gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::DeleteMediaPlayer(id), 0);
}
void RemoteMediaPlayerManager::getSupportedTypes(MediaPlayerEnums::MediaEngineIdentifier remoteEngineIdentifier, HashSet<String, ASCIICaseInsensitiveHash>& result)
@@ -191,7 +192,7 @@
}
Vector<String> types;
- if (!gpuProcessConnection().connection().sendSync(Messages::RemoteMediaPlayerManagerProxy::GetSupportedTypes(remoteEngineIdentifier), Messages::RemoteMediaPlayerManagerProxy::GetSupportedTypes::Reply(types), 0))
+ if (!gpuProcessConnection().sendSync(Messages::RemoteMediaPlayerManagerProxy::GetSupportedTypes(remoteEngineIdentifier), Messages::RemoteMediaPlayerManagerProxy::GetSupportedTypes::Reply(types), 0))
return;
result = HashSet<String, ASCIICaseInsensitiveHash>();
@@ -213,7 +214,7 @@
HashSet<RefPtr<SecurityOrigin>> RemoteMediaPlayerManager::originsInMediaCache(MediaPlayerEnums::MediaEngineIdentifier remoteEngineIdentifier, const String& path)
{
Vector<SecurityOriginData> originData;
- if (!gpuProcessConnection().connection().sendSync(Messages::RemoteMediaPlayerManagerProxy::OriginsInMediaCache(remoteEngineIdentifier, path), Messages::RemoteMediaPlayerManagerProxy::OriginsInMediaCache::Reply(originData), 0))
+ if (!gpuProcessConnection().sendSync(Messages::RemoteMediaPlayerManagerProxy::OriginsInMediaCache(remoteEngineIdentifier, path), Messages::RemoteMediaPlayerManagerProxy::OriginsInMediaCache::Reply(originData), 0))
return { };
HashSet<RefPtr<SecurityOrigin>> origins;
@@ -225,7 +226,7 @@
void RemoteMediaPlayerManager::clearMediaCache(MediaPlayerEnums::MediaEngineIdentifier remoteEngineIdentifier, const String& path, WallTime modifiedSince)
{
- gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::ClearMediaCache(remoteEngineIdentifier, path, modifiedSince), 0);
+ gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::ClearMediaCache(remoteEngineIdentifier, path, modifiedSince), 0);
}
void RemoteMediaPlayerManager::clearMediaCacheForOrigins(MediaPlayerEnums::MediaEngineIdentifier remoteEngineIdentifier, const String& path, const HashSet<RefPtr<SecurityOrigin>>& origins)
@@ -234,7 +235,7 @@
return origin->data();
});
- gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::ClearMediaCacheForOrigins(remoteEngineIdentifier, path, originData), 0);
+ gpuProcessConnection().send(Messages::RemoteMediaPlayerManagerProxy::ClearMediaCacheForOrigins(remoteEngineIdentifier, path, originData), 0);
}
void RemoteMediaPlayerManager::networkStateChanged(MediaPlayerPrivateRemoteIdentifier id, RemoteMediaPlayerState&& state)
@@ -332,12 +333,9 @@
player->updateCachedState(WTFMove(state));
}
-GPUProcessConnection& RemoteMediaPlayerManager::gpuProcessConnection() const
+IPC::Connection& RemoteMediaPlayerManager::gpuProcessConnection() const
{
- if (!m_gpuProcessConnection)
- m_gpuProcessConnection = &WebProcess::singleton().ensureGPUProcessConnection();
-
- return *m_gpuProcessConnection;
+ return WebProcess::singleton().ensureGPUProcessConnection().connection();
}
} // namespace WebKit
Modified: branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.h (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.h 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.h 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019-2020 Apple Inc. All rights reserved.
+ * 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
@@ -27,7 +27,6 @@
#if ENABLE(GPU_PROCESS)
-#include "GPUProcessConnection.h"
#include "MediaPlayerPrivateRemoteIdentifier.h"
#include "MessageReceiver.h"
#include "RemoteMediaPlayerState.h"
@@ -55,11 +54,10 @@
~RemoteMediaPlayerManager();
static const char* supplementName();
- WebProcess& parentProcess() const { return m_process; }
void updatePreferences(const WebCore::Settings&);
- GPUProcessConnection& gpuProcessConnection() const;
+ IPC::Connection& gpuProcessConnection() const;
void didReceiveMessageFromGPUProcess(IPC::Connection& connection, IPC::Decoder& decoder) { didReceiveMessage(connection, decoder); }
@@ -103,7 +101,6 @@
HashMap<MediaPlayerPrivateRemoteIdentifier, WeakPtr<MediaPlayerPrivateRemote>> m_players;
WebProcess& m_process;
- mutable GPUProcessConnection* m_gpuProcessConnection { nullptr };
};
} // namespace WebKit
Modified: branches/safari-610.1.1-branch/Source/WebKit/WebProcess/WebProcess.cpp (254520 => 254521)
--- branches/safari-610.1.1-branch/Source/WebKit/WebProcess/WebProcess.cpp 2020-01-14 19:28:31 UTC (rev 254520)
+++ branches/safari-610.1.1-branch/Source/WebKit/WebProcess/WebProcess.cpp 2020-01-14 19:37:20 UTC (rev 254521)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2020 Apple Inc. All rights reserved.
+ * Copyright (C) 2009-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
@@ -1299,10 +1299,6 @@
CRASH();
m_gpuProcessConnection = GPUProcessConnection::create(connectionInfo.releaseIdentifier());
-#if HAVE(AUDIT_TOKEN)
- ASSERT(connectionInfo.auditToken);
- m_gpuProcessConnection->setAuditToken(WTFMove(connectionInfo.auditToken));
-#endif
}
return *m_gpuProcessConnection;