Title: [265763] branches/safari-610.1-branch/Source/WebKit
Revision
265763
Author
[email protected]
Date
2020-08-17 12:00:11 -0700 (Mon, 17 Aug 2020)

Log Message

Cherry-pick r265725. rdar://problem/67260862

    Convert remaining SharedMemory::Handle to SharedMemory::IPCHandle
    https://bugs.webkit.org/show_bug.cgi?id=215471
    <rdar://problem/67024177>

    Reviewed by David Kilzer.

    Use the new struct for sending SharedMemory::Handle objects via IPC, so
    we can include the exact size of data (SharedMemory::Handle::size()
    rounds up to the nearest page), and verify these sizes match when decoding.

    In many cases, the size is not sent as a separate argument via IPC, so
    we can initialize the IPCHandle object with SharedMemory::Handle::size().

    We can remove the additional size parameter when it exists, because
    we are now passing IPCHandle which should include the size value.

    * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp:
    (WebKit::RemoteAudioMediaStreamTrackRenderer::audioSamplesStorageChanged):
    * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h:
    * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in:
    * GPUProcess/webrtc/RemoteMediaRecorder.cpp:
    (WebKit::RemoteMediaRecorder::audioSamplesStorageChanged):
    * GPUProcess/webrtc/RemoteMediaRecorder.h:
    * GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
    Send SharedMemory::IPCHandle object instead of SharedMemory::Handle
    over IPC.

    * NetworkProcess/ServiceWorker/WebSWOriginStore.cpp:
    (WebKit::WebSWOriginStore::sendStoreHandle):
    Since no additional size parameter is being sent in this function, we
    can use handle.size() as the IPCHandle::dataSize parameter.

    * Platform/SharedMemory.h:
    Remove encode/decode functions in SharedMemory::Handle.

    * Platform/cocoa/SharedMemoryCocoa.cpp:
    (WebKit::SharedMemory::Handle::encode const): Deleted.
    (WebKit::SharedMemory::Handle::decode): Deleted.
    * Platform/unix/SharedMemoryUnix.cpp:
    (WebKit::SharedMemory::IPCHandle::encode const):
    (WebKit::SharedMemory::IPCHandle::decode):
    * Platform/win/SharedMemoryWin.cpp:
    (WebKit::SharedMemory::IPCHandle::encode const):
    (WebKit::SharedMemory::IPCHandle::decode):
    (WebKit::SharedMemory::Handle::encode const): Deleted.
    (WebKit::SharedMemory::Handle::decode): Deleted.
    Remove SharedMemory::Handle encode/decode functions so we will not
    ever send a SharedMemory::Handle object over IPC accidentally in the future.

    * Shared/ShareableBitmap.cpp:
    (WebKit::ShareableBitmap::Handle::encode const):
    (WebKit::ShareableBitmap::Handle::decode):
    Keep m_size here because it is an IntSize object and is useful to
    check width/height parameters in the SharableBitmap object.

    * Shared/ShareableResource.cpp:
    (WebKit::ShareableResource::Handle::encode const):
    (WebKit::ShareableResource::Handle::decode):
    * Shared/WebCompiledContentRuleListData.cpp:
    (WebKit::WebCompiledContentRuleListData::encode const):
    (WebKit::WebCompiledContentRuleListData::decode):
    * Shared/WebCoreArgumentCoders.cpp:
    (IPC::encodeSharedBuffer):
    (IPC::decodeSharedBuffer):
    * Shared/WebHitTestResultData.cpp:
    (WebKit::WebHitTestResultData::encode const):
    (WebKit::WebHitTestResultData::decode):
    More cases of converting between SharedMemory::Handle and
    SharedMemory::IPCHandle when encoding/decoding.

    * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
    * UIProcess/VisitedLinkStore.cpp:
    (WebKit::VisitedLinkStore::sendStoreHandleToProcess):
    * WebProcess/GPU/media/RemoteAudioBusData.h:
    (WebKit::RemoteAudioBusData::encode const):
    (WebKit::RemoteAudioBusData::decode):
    Since no additional size parameter is being sent in this function, we
    can use handle.size() as the IPCHandle::dataSize parameter.

    * WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp:
    (WebKit::AudioMediaStreamTrackRenderer::storageChanged):
    * WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
    (WebKit::MediaRecorderPrivate::storageChanged):
    * WebProcess/Storage/WebSWClientConnection.cpp:
    (WebKit::WebSWClientConnection::setSWOriginTableSharedMemory):
    * WebProcess/Storage/WebSWClientConnection.h:
    * WebProcess/Storage/WebSWClientConnection.messages.in:
    * WebProcess/WebPage/VisitedLinkTableController.cpp:
    (WebKit::VisitedLinkTableController::setVisitedLinkTable):
    * WebProcess/WebPage/VisitedLinkTableController.h:
    * WebProcess/WebPage/VisitedLinkTableController.messages.in:
    * WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
    (WebKit::RemoteCaptureSampleManager::audioStorageChanged):
    * WebProcess/cocoa/RemoteCaptureSampleManager.h:
    * WebProcess/cocoa/RemoteCaptureSampleManager.messages.in:
    More cases of converting between SharedMemory::Handle and
    SharedMemory::IPCHandle when encoding/decoding.

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

Modified Paths

Diff

Modified: branches/safari-610.1-branch/Source/WebKit/ChangeLog (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/ChangeLog	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/ChangeLog	2020-08-17 19:00:11 UTC (rev 265763)
@@ -1,5 +1,211 @@
 2020-08-17  Russell Epstein  <[email protected]>
 
+        Cherry-pick r265725. rdar://problem/67260862
+
+    Convert remaining SharedMemory::Handle to SharedMemory::IPCHandle
+    https://bugs.webkit.org/show_bug.cgi?id=215471
+    <rdar://problem/67024177>
+    
+    Reviewed by David Kilzer.
+    
+    Use the new struct for sending SharedMemory::Handle objects via IPC, so
+    we can include the exact size of data (SharedMemory::Handle::size()
+    rounds up to the nearest page), and verify these sizes match when decoding.
+    
+    In many cases, the size is not sent as a separate argument via IPC, so
+    we can initialize the IPCHandle object with SharedMemory::Handle::size().
+    
+    We can remove the additional size parameter when it exists, because
+    we are now passing IPCHandle which should include the size value.
+    
+    * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp:
+    (WebKit::RemoteAudioMediaStreamTrackRenderer::audioSamplesStorageChanged):
+    * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h:
+    * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in:
+    * GPUProcess/webrtc/RemoteMediaRecorder.cpp:
+    (WebKit::RemoteMediaRecorder::audioSamplesStorageChanged):
+    * GPUProcess/webrtc/RemoteMediaRecorder.h:
+    * GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
+    Send SharedMemory::IPCHandle object instead of SharedMemory::Handle
+    over IPC.
+    
+    * NetworkProcess/ServiceWorker/WebSWOriginStore.cpp:
+    (WebKit::WebSWOriginStore::sendStoreHandle):
+    Since no additional size parameter is being sent in this function, we
+    can use handle.size() as the IPCHandle::dataSize parameter.
+    
+    * Platform/SharedMemory.h:
+    Remove encode/decode functions in SharedMemory::Handle.
+    
+    * Platform/cocoa/SharedMemoryCocoa.cpp:
+    (WebKit::SharedMemory::Handle::encode const): Deleted.
+    (WebKit::SharedMemory::Handle::decode): Deleted.
+    * Platform/unix/SharedMemoryUnix.cpp:
+    (WebKit::SharedMemory::IPCHandle::encode const):
+    (WebKit::SharedMemory::IPCHandle::decode):
+    * Platform/win/SharedMemoryWin.cpp:
+    (WebKit::SharedMemory::IPCHandle::encode const):
+    (WebKit::SharedMemory::IPCHandle::decode):
+    (WebKit::SharedMemory::Handle::encode const): Deleted.
+    (WebKit::SharedMemory::Handle::decode): Deleted.
+    Remove SharedMemory::Handle encode/decode functions so we will not
+    ever send a SharedMemory::Handle object over IPC accidentally in the future.
+    
+    * Shared/ShareableBitmap.cpp:
+    (WebKit::ShareableBitmap::Handle::encode const):
+    (WebKit::ShareableBitmap::Handle::decode):
+    Keep m_size here because it is an IntSize object and is useful to
+    check width/height parameters in the SharableBitmap object.
+    
+    * Shared/ShareableResource.cpp:
+    (WebKit::ShareableResource::Handle::encode const):
+    (WebKit::ShareableResource::Handle::decode):
+    * Shared/WebCompiledContentRuleListData.cpp:
+    (WebKit::WebCompiledContentRuleListData::encode const):
+    (WebKit::WebCompiledContentRuleListData::decode):
+    * Shared/WebCoreArgumentCoders.cpp:
+    (IPC::encodeSharedBuffer):
+    (IPC::decodeSharedBuffer):
+    * Shared/WebHitTestResultData.cpp:
+    (WebKit::WebHitTestResultData::encode const):
+    (WebKit::WebHitTestResultData::decode):
+    More cases of converting between SharedMemory::Handle and
+    SharedMemory::IPCHandle when encoding/decoding.
+    
+    * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
+    * UIProcess/VisitedLinkStore.cpp:
+    (WebKit::VisitedLinkStore::sendStoreHandleToProcess):
+    * WebProcess/GPU/media/RemoteAudioBusData.h:
+    (WebKit::RemoteAudioBusData::encode const):
+    (WebKit::RemoteAudioBusData::decode):
+    Since no additional size parameter is being sent in this function, we
+    can use handle.size() as the IPCHandle::dataSize parameter.
+    
+    * WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp:
+    (WebKit::AudioMediaStreamTrackRenderer::storageChanged):
+    * WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
+    (WebKit::MediaRecorderPrivate::storageChanged):
+    * WebProcess/Storage/WebSWClientConnection.cpp:
+    (WebKit::WebSWClientConnection::setSWOriginTableSharedMemory):
+    * WebProcess/Storage/WebSWClientConnection.h:
+    * WebProcess/Storage/WebSWClientConnection.messages.in:
+    * WebProcess/WebPage/VisitedLinkTableController.cpp:
+    (WebKit::VisitedLinkTableController::setVisitedLinkTable):
+    * WebProcess/WebPage/VisitedLinkTableController.h:
+    * WebProcess/WebPage/VisitedLinkTableController.messages.in:
+    * WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
+    (WebKit::RemoteCaptureSampleManager::audioStorageChanged):
+    * WebProcess/cocoa/RemoteCaptureSampleManager.h:
+    * WebProcess/cocoa/RemoteCaptureSampleManager.messages.in:
+    More cases of converting between SharedMemory::Handle and
+    SharedMemory::IPCHandle when encoding/decoding.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265725 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-08-14  Kate Cheney  <[email protected]>
+
+            Convert remaining SharedMemory::Handle to SharedMemory::IPCHandle
+            https://bugs.webkit.org/show_bug.cgi?id=215471
+            <rdar://problem/67024177>
+
+            Reviewed by David Kilzer.
+
+            Use the new struct for sending SharedMemory::Handle objects via IPC, so
+            we can include the exact size of data (SharedMemory::Handle::size()
+            rounds up to the nearest page), and verify these sizes match when decoding.
+
+            In many cases, the size is not sent as a separate argument via IPC, so
+            we can initialize the IPCHandle object with SharedMemory::Handle::size().
+
+            We can remove the additional size parameter when it exists, because
+            we are now passing IPCHandle which should include the size value.
+
+            * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp:
+            (WebKit::RemoteAudioMediaStreamTrackRenderer::audioSamplesStorageChanged):
+            * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h:
+            * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in:
+            * GPUProcess/webrtc/RemoteMediaRecorder.cpp:
+            (WebKit::RemoteMediaRecorder::audioSamplesStorageChanged):
+            * GPUProcess/webrtc/RemoteMediaRecorder.h:
+            * GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
+            Send SharedMemory::IPCHandle object instead of SharedMemory::Handle
+            over IPC.
+
+            * NetworkProcess/ServiceWorker/WebSWOriginStore.cpp:
+            (WebKit::WebSWOriginStore::sendStoreHandle):
+            Since no additional size parameter is being sent in this function, we
+            can use handle.size() as the IPCHandle::dataSize parameter.
+
+            * Platform/SharedMemory.h:
+            Remove encode/decode functions in SharedMemory::Handle.
+
+            * Platform/cocoa/SharedMemoryCocoa.cpp:
+            (WebKit::SharedMemory::Handle::encode const): Deleted.
+            (WebKit::SharedMemory::Handle::decode): Deleted.
+            * Platform/unix/SharedMemoryUnix.cpp:
+            (WebKit::SharedMemory::IPCHandle::encode const):
+            (WebKit::SharedMemory::IPCHandle::decode):
+            * Platform/win/SharedMemoryWin.cpp:
+            (WebKit::SharedMemory::IPCHandle::encode const):
+            (WebKit::SharedMemory::IPCHandle::decode):
+            (WebKit::SharedMemory::Handle::encode const): Deleted.
+            (WebKit::SharedMemory::Handle::decode): Deleted.
+            Remove SharedMemory::Handle encode/decode functions so we will not
+            ever send a SharedMemory::Handle object over IPC accidentally in the future.
+
+            * Shared/ShareableBitmap.cpp:
+            (WebKit::ShareableBitmap::Handle::encode const):
+            (WebKit::ShareableBitmap::Handle::decode):
+            Keep m_size here because it is an IntSize object and is useful to
+            check width/height parameters in the SharableBitmap object.
+
+            * Shared/ShareableResource.cpp:
+            (WebKit::ShareableResource::Handle::encode const):
+            (WebKit::ShareableResource::Handle::decode):
+            * Shared/WebCompiledContentRuleListData.cpp:
+            (WebKit::WebCompiledContentRuleListData::encode const):
+            (WebKit::WebCompiledContentRuleListData::decode):
+            * Shared/WebCoreArgumentCoders.cpp:
+            (IPC::encodeSharedBuffer):
+            (IPC::decodeSharedBuffer):
+            * Shared/WebHitTestResultData.cpp:
+            (WebKit::WebHitTestResultData::encode const):
+            (WebKit::WebHitTestResultData::decode):
+            More cases of converting between SharedMemory::Handle and
+            SharedMemory::IPCHandle when encoding/decoding.
+
+            * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
+            * UIProcess/VisitedLinkStore.cpp:
+            (WebKit::VisitedLinkStore::sendStoreHandleToProcess):
+            * WebProcess/GPU/media/RemoteAudioBusData.h:
+            (WebKit::RemoteAudioBusData::encode const):
+            (WebKit::RemoteAudioBusData::decode):
+            Since no additional size parameter is being sent in this function, we
+            can use handle.size() as the IPCHandle::dataSize parameter.
+
+            * WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp:
+            (WebKit::AudioMediaStreamTrackRenderer::storageChanged):
+            * WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
+            (WebKit::MediaRecorderPrivate::storageChanged):
+            * WebProcess/Storage/WebSWClientConnection.cpp:
+            (WebKit::WebSWClientConnection::setSWOriginTableSharedMemory):
+            * WebProcess/Storage/WebSWClientConnection.h:
+            * WebProcess/Storage/WebSWClientConnection.messages.in:
+            * WebProcess/WebPage/VisitedLinkTableController.cpp:
+            (WebKit::VisitedLinkTableController::setVisitedLinkTable):
+            * WebProcess/WebPage/VisitedLinkTableController.h:
+            * WebProcess/WebPage/VisitedLinkTableController.messages.in:
+            * WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
+            (WebKit::RemoteCaptureSampleManager::audioStorageChanged):
+            * WebProcess/cocoa/RemoteCaptureSampleManager.h:
+            * WebProcess/cocoa/RemoteCaptureSampleManager.messages.in:
+            More cases of converting between SharedMemory::Handle and
+            SharedMemory::IPCHandle when encoding/decoding.
+
+
+2020-08-17  Russell Epstein  <[email protected]>
+
         Cherry-pick r265638. rdar://problem/67260815
 
     Create SharedMemory::IPCHandle object to validate the size of SharedMemory::Handle objects sent over IPC

Modified: branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -95,7 +95,7 @@
     m_renderer->setVolume(value);
 }
 
-void RemoteAudioMediaStreamTrackRenderer::audioSamplesStorageChanged(const SharedMemory::Handle& handle, const WebCore::CAAudioStreamDescription& description, uint64_t numberOfFrames)
+void RemoteAudioMediaStreamTrackRenderer::audioSamplesStorageChanged(const SharedMemory::IPCHandle& ipcHandle, const WebCore::CAAudioStreamDescription& description, uint64_t numberOfFrames)
 {
     ASSERT(m_ringBuffer);
     if (!m_ringBuffer)
@@ -103,7 +103,7 @@
 
     m_description = description;
 
-    if (handle.isNull()) {
+    if (ipcHandle.handle.isNull()) {
         m_ringBuffer->deallocate();
         storage().setReadOnly(false);
         storage().setStorage(nullptr);
@@ -110,7 +110,7 @@
         return;
     }
 
-    auto memory = SharedMemory::map(handle, SharedMemory::Protection::ReadOnly);
+    auto memory = SharedMemory::map(ipcHandle.handle, SharedMemory::Protection::ReadOnly);
     storage().setStorage(WTFMove(memory));
     storage().setReadOnly(true);
 

Modified: branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h	2020-08-17 19:00:11 UTC (rev 265763)
@@ -56,7 +56,7 @@
     void stop();
     void clear();
     void setVolume(float);
-    void audioSamplesStorageChanged(const SharedMemory::Handle&, const WebCore::CAAudioStreamDescription&, uint64_t numberOfFrames);
+    void audioSamplesStorageChanged(const SharedMemory::IPCHandle&, const WebCore::CAAudioStreamDescription&, uint64_t numberOfFrames);
     void audioSamplesAvailable(MediaTime, uint64_t numberOfFrames, uint64_t startFrame, uint64_t endFrame);
 
     SharedRingBufferStorage& storage();

Modified: branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in	2020-08-17 19:00:11 UTC (rev 265763)
@@ -30,7 +30,7 @@
 
     SetVolume(float value)
 
-    AudioSamplesStorageChanged(WebKit::SharedMemory::Handle storageHandle, WebCore::CAAudioStreamDescription description, uint64_t numberOfFrames)
+    AudioSamplesStorageChanged(WebKit::SharedMemory::IPCHandle storageHandle, WebCore::CAAudioStreamDescription description, uint64_t numberOfFrames)
     AudioSamplesAvailable(MediaTime time, uint64_t numberOfFrames, uint64_t startFrame, uint64_t endFrame)
 }
 

Modified: branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -64,7 +64,7 @@
     return static_cast<SharedRingBufferStorage&>(m_ringBuffer->storage());
 }
 
-void RemoteMediaRecorder::audioSamplesStorageChanged(const SharedMemory::Handle& handle, const WebCore::CAAudioStreamDescription& description, uint64_t numberOfFrames)
+void RemoteMediaRecorder::audioSamplesStorageChanged(const SharedMemory::IPCHandle& ipcHandle, const WebCore::CAAudioStreamDescription& description, uint64_t numberOfFrames)
 {
     ASSERT(m_ringBuffer);
     if (!m_ringBuffer)
@@ -72,7 +72,7 @@
 
     m_description = description;
 
-    if (handle.isNull()) {
+    if (ipcHandle.handle.isNull()) {
         m_ringBuffer->deallocate();
         storage().setReadOnly(false);
         storage().setStorage(nullptr);
@@ -79,7 +79,7 @@
         return;
     }
 
-    auto memory = SharedMemory::map(handle, SharedMemory::Protection::ReadOnly);
+    auto memory = SharedMemory::map(ipcHandle.handle, SharedMemory::Protection::ReadOnly);
     storage().setStorage(WTFMove(memory));
     storage().setReadOnly(true);
 

Modified: branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.h (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.h	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.h	2020-08-17 19:00:11 UTC (rev 265763)
@@ -63,7 +63,7 @@
     RemoteMediaRecorder(GPUConnectionToWebProcess&, MediaRecorderIdentifier, Ref<WebCore::MediaRecorderPrivateWriter>&&, bool recordAudio);
 
     // IPC::MessageReceiver
-    void audioSamplesStorageChanged(const SharedMemory::Handle&, const WebCore::CAAudioStreamDescription&, uint64_t numberOfFrames);
+    void audioSamplesStorageChanged(const SharedMemory::IPCHandle&, const WebCore::CAAudioStreamDescription&, uint64_t numberOfFrames);
     void audioSamplesAvailable(MediaTime, uint64_t numberOfFrames, uint64_t startFrame, uint64_t endFrame);
     void videoSampleAvailable(WebCore::RemoteVideoSample&&);
     void fetchData(CompletionHandler<void(IPC::DataReference&&, const String& mimeType)>&&);

Modified: branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.messages.in (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.messages.in	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.messages.in	2020-08-17 19:00:11 UTC (rev 265763)
@@ -24,7 +24,7 @@
 #if PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(MEDIA_STREAM) && HAVE(AVASSETWRITERDELEGATE)
 
 messages -> RemoteMediaRecorder NotRefCounted {
-    AudioSamplesStorageChanged(WebKit::SharedMemory::Handle storageHandle, WebCore::CAAudioStreamDescription description, uint64_t numberOfFrames)
+    AudioSamplesStorageChanged(WebKit::SharedMemory::IPCHandle storageHandle, WebCore::CAAudioStreamDescription description, uint64_t numberOfFrames)
     AudioSamplesAvailable(MediaTime time, uint64_t numberOfFrames, uint64_t startFrame, uint64_t endFrame)
     VideoSampleAvailable(WebCore::RemoteVideoSample sample)
     FetchData() -> (IPC::DataReference buffer, String mimeType) Async

Modified: branches/safari-610.1-branch/Source/WebKit/NetworkProcess/ServiceWorker/WebSWOriginStore.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/NetworkProcess/ServiceWorker/WebSWOriginStore.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/NetworkProcess/ServiceWorker/WebSWOriginStore.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -87,7 +87,12 @@
     if (!m_store.createSharedMemoryHandle(handle))
         return;
 
-    connection.send(Messages::WebSWClientConnection::SetSWOriginTableSharedMemory(handle));
+#if OS(DARWIN) || OS(WINDOWS)
+    uint64_t dataSize = handle.size();
+#else
+    uint64_t dataSize = 0;
+#endif
+    connection.send(Messages::WebSWClientConnection::SetSWOriginTableSharedMemory(SharedMemory::IPCHandle { WTFMove(handle), dataSize }));
 }
 
 void WebSWOriginStore::didInvalidateSharedMemory()

Modified: branches/safari-610.1-branch/Source/WebKit/Platform/SharedMemory.h (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/Platform/SharedMemory.h	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/Platform/SharedMemory.h	2020-08-17 19:00:11 UTC (rev 265763)
@@ -79,9 +79,6 @@
 
         void clear();
 
-        void encode(IPC::Encoder&) const;
-        static WARN_UNUSED_RETURN bool decode(IPC::Decoder&, Handle&);
-
 #if USE(UNIX_DOMAIN_SOCKETS)
         IPC::Attachment releaseAttachment() const;
         void adoptAttachment(IPC::Attachment&&);

Modified: branches/safari-610.1-branch/Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -88,31 +88,6 @@
     m_size = 0;
 }
 
-void SharedMemory::Handle::encode(IPC::Encoder& encoder) const
-{
-    encoder << static_cast<uint64_t>(m_size);
-    encoder << IPC::MachPort(m_port, MACH_MSG_TYPE_MOVE_SEND);
-    m_port = MACH_PORT_NULL;
-}
-
-bool SharedMemory::Handle::decode(IPC::Decoder& decoder, Handle& handle)
-{
-    ASSERT(!handle.m_port);
-    ASSERT(!handle.m_size);
-
-    uint64_t size;
-    if (!decoder.decode(size))
-        return false;
-
-    IPC::MachPort machPort;
-    if (!decoder.decode(machPort))
-        return false;
-    
-    handle.m_size = size;
-    handle.m_port = machPort.port();
-    return true;
-}
-
 void SharedMemory::IPCHandle::encode(IPC::Encoder& encoder) const
 {
     encoder << static_cast<uint64_t>(handle.m_size);

Modified: branches/safari-610.1-branch/Source/WebKit/Platform/unix/SharedMemoryUnix.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/Platform/unix/SharedMemoryUnix.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/Platform/unix/SharedMemoryUnix.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -88,23 +88,6 @@
     return true;
 }
 
-void SharedMemory::Handle::encode(IPC::Encoder& encoder) const
-{
-    encoder << releaseAttachment();
-}
-
-bool SharedMemory::Handle::decode(IPC::Decoder& decoder, Handle& handle)
-{
-    ASSERT_ARG(handle, handle.isNull());
-
-    IPC::Attachment attachment;
-    if (!decoder.decode(attachment))
-        return false;
-
-    handle.adoptAttachment(WTFMove(attachment));
-    return true;
-}
-
 IPC::Attachment SharedMemory::Handle::releaseAttachment() const
 {
     return WTFMove(m_attachment);

Modified: branches/safari-610.1-branch/Source/WebKit/Platform/win/SharedMemoryWin.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/Platform/win/SharedMemoryWin.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/Platform/win/SharedMemoryWin.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -103,18 +103,6 @@
     return true;
 }
 
-void SharedMemory::Handle::encode(IPC::Encoder& encoder) const
-{
-    encoder << static_cast<uint64_t>(m_size);
-
-    encodeHandle(encoder, m_handle);
-
-    // Hand off ownership of our HANDLE to the receiving process. It will close it for us.
-    // FIXME: If the receiving process crashes before it receives the memory, the memory will be
-    // leaked. See <http://webkit.org/b/47502>.
-    m_handle = 0;
-}
-
 void SharedMemory::Handle::encodeHandle(IPC::Encoder& encoder, HANDLE handle)
 {
     encoder << reinterpret_cast<uint64_t>(handle);
@@ -151,24 +139,6 @@
     return success;
 }
 
-bool SharedMemory::Handle::decode(IPC::Decoder& decoder, Handle& handle)
-{
-    ASSERT_ARG(handle, !handle.m_handle);
-    ASSERT_ARG(handle, !handle.m_size);
-
-    uint64_t size;
-    if (!decoder.decode(size))
-        return false;
-
-    auto processSpecificHandle = decodeHandle(decoder);
-    if (!processSpecificHandle)
-        return false;
-
-    handle.m_handle = processSpecificHandle.value();
-    handle.m_size = size;
-    return true;
-}
-
 Optional<HANDLE> SharedMemory::Handle::decodeHandle(IPC::Decoder& decoder)
 {
     uint64_t sourceHandle;

Modified: branches/safari-610.1-branch/Source/WebKit/Shared/ShareableBitmap.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/Shared/ShareableBitmap.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/Shared/ShareableBitmap.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -43,7 +43,8 @@
 
 void ShareableBitmap::Handle::encode(IPC::Encoder& encoder) const
 {
-    encoder << m_handle;
+    SharedMemory::IPCHandle ipcHandle(WTFMove(m_handle), numBytesForSize(m_size, m_configuration).unsafeGet());
+    encoder << ipcHandle;
     encoder << m_size;
     encoder << m_configuration;
 }
@@ -50,7 +51,8 @@
 
 bool ShareableBitmap::Handle::decode(IPC::Decoder& decoder, Handle& handle)
 {
-    if (!decoder.decode(handle.m_handle))
+    SharedMemory::IPCHandle ipcHandle;
+    if (!decoder.decode(ipcHandle))
         return false;
     if (!decoder.decode(handle.m_size))
         return false;
@@ -58,6 +60,8 @@
         return false;
     if (!decoder.decode(handle.m_configuration))
         return false;
+    
+    handle.m_handle = WTFMove(ipcHandle.handle);
     return true;
 }
 

Modified: branches/safari-610.1-branch/Source/WebKit/Shared/ShareableResource.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/Shared/ShareableResource.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/Shared/ShareableResource.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -40,19 +40,20 @@
 
 void ShareableResource::Handle::encode(IPC::Encoder& encoder) const
 {
-    encoder << m_handle;
+    encoder << SharedMemory::IPCHandle { WTFMove(m_handle), m_size };
     encoder << m_offset;
-    encoder << m_size;
 }
 
 bool ShareableResource::Handle::decode(IPC::Decoder& decoder, Handle& handle)
 {
-    if (!decoder.decode(handle.m_handle))
+    SharedMemory::IPCHandle ipcHandle;
+    if (!decoder.decode(ipcHandle))
         return false;
     if (!decoder.decode(handle.m_offset))
         return false;
-    if (!decoder.decode(handle.m_size))
-        return false;
+
+    handle.m_size = ipcHandle.dataSize;
+    handle.m_handle = WTFMove(ipcHandle.handle);
     return true;
 }
 

Modified: branches/safari-610.1-branch/Source/WebKit/Shared/WebCompiledContentRuleListData.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/Shared/WebCompiledContentRuleListData.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/Shared/WebCompiledContentRuleListData.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -38,7 +38,14 @@
 {
     SharedMemory::Handle handle;
     data->createHandle(handle, SharedMemory::Protection::ReadOnly);
-    encoder << handle;
+    
+    // FIXME: Add the exact data size being sent over IPC to the WebCompiledContentRuleListData() constructor to be encoded here.
+#if OS(DARWIN) || OS(WINDOWS)
+    uint64_t dataSize = handle.size();
+#else
+    uint64_t dataSize = 0;
+#endif
+    encoder << SharedMemory::IPCHandle { WTFMove(handle), dataSize };
 
     encoder << conditionsApplyOnlyToDomainOffset;
     encoder << actionsOffset;
@@ -53,10 +60,10 @@
 
 Optional<WebCompiledContentRuleListData> WebCompiledContentRuleListData::decode(IPC::Decoder& decoder)
 {
-    SharedMemory::Handle handle;
-    if (!decoder.decode(handle))
+    SharedMemory::IPCHandle ipcHandle;
+    if (!decoder.decode(ipcHandle))
         return WTF::nullopt;
-    RefPtr<SharedMemory> data = "" SharedMemory::Protection::ReadOnly);
+    RefPtr<SharedMemory> data = "" SharedMemory::Protection::ReadOnly);
 
     Optional<unsigned> conditionsApplyOnlyToDomainOffset;
     decoder >> conditionsApplyOnlyToDomainOffset;

Modified: branches/safari-610.1-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -140,10 +140,10 @@
         encoder.encodeFixedLengthData(reinterpret_cast<const uint8_t*>(element.segment->data()), element.segment->size(), 1);
 #else
     SharedMemory::Handle handle;
-    auto sharedMemoryBuffer = SharedMemory::allocate(buffer->size());
-    memcpy(sharedMemoryBuffer->data(), buffer->data(), buffer->size());
+    auto sharedMemoryBuffer = SharedMemory::allocate(bufferSize);
+    memcpy(sharedMemoryBuffer->data(), buffer->data(), bufferSize);
     sharedMemoryBuffer->createHandle(handle, SharedMemory::Protection::ReadOnly);
-    encoder << handle;
+    encoder << SharedMemory::IPCHandle { WTFMove(handle), bufferSize };
 #endif
 }
 
@@ -167,15 +167,11 @@
 
     buffer = SharedBuffer::create(WTFMove(data));
 #else
-    SharedMemory::Handle handle;
-    if (!decoder.decode(handle))
+    SharedMemory::IPCHandle ipcHandle;
+    if (!decoder.decode(ipcHandle))
         return false;
 
-    // SharedMemory::Handle::size() is rounded up to the nearest page.
-    if (bufferSize > handle.size())
-        return false;
-
-    auto sharedMemoryBuffer = SharedMemory::map(handle, SharedMemory::Protection::ReadOnly);
+    auto sharedMemoryBuffer = SharedMemory::map(ipcHandle.handle, SharedMemory::Protection::ReadOnly);
     if (!sharedMemoryBuffer)
         return false;
 

Modified: branches/safari-610.1-branch/Source/WebKit/Shared/WebHitTestResultData.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/Shared/WebHitTestResultData.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/Shared/WebHitTestResultData.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -120,9 +120,9 @@
     WebKit::SharedMemory::Handle imageHandle;
     if (imageSharedMemory && imageSharedMemory->data())
         imageSharedMemory->createHandle(imageHandle, WebKit::SharedMemory::Protection::ReadOnly);
-    encoder << imageHandle;
-    encoder << imageSize;
 
+    encoder << WebKit::SharedMemory::IPCHandle { WTFMove(imageHandle), imageSize };
+
     bool hasLinkTextIndicator = linkTextIndicator;
     encoder << hasLinkTextIndicator;
     if (hasLinkTextIndicator)
@@ -152,22 +152,21 @@
         || !decoder.decode(hitTestResultData.dictionaryPopupInfo))
         return false;
 
-    WebKit::SharedMemory::Handle imageHandle;
+    WebKit::SharedMemory::IPCHandle imageHandle;
     if (!decoder.decode(imageHandle))
         return false;
 
-    if (!imageHandle.isNull())
-        hitTestResultData.imageSharedMemory = WebKit::SharedMemory::map(imageHandle, WebKit::SharedMemory::Protection::ReadOnly);
-
-    if (!decoder.decode(hitTestResultData.imageSize))
-        return false;
-
-    if (hitTestResultData.imageSharedMemory) {
-        // SharedMemory:size() is rounded up to the nearest page.
-        if (hitTestResultData.imageSize > hitTestResultData.imageSharedMemory->size())
+    hitTestResultData.imageSize = imageHandle.dataSize;
+    if (imageHandle.handle.isNull()) {
+        if (hitTestResultData.imageSize)
             return false;
-    } else if (hitTestResultData.imageSize)
-        return false;
+    } else {
+        hitTestResultData.imageSharedMemory = WebKit::SharedMemory::map(imageHandle.handle, WebKit::SharedMemory::Protection::ReadOnly);
+        if (!hitTestResultData.imageSharedMemory)
+            return false;
+        if (!hitTestResultData.imageSize)
+            return false;
+    }
 
     bool hasLinkTextIndicator;
     if (!decoder.decode(hasLinkTextIndicator))

Modified: branches/safari-610.1-branch/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -202,7 +202,14 @@
         SharedMemory::Handle handle;
         if (storage)
             storage->createHandle(handle, SharedMemory::Protection::ReadOnly);
-        m_connection->send(Messages::RemoteCaptureSampleManager::AudioStorageChanged(m_id, handle, m_description, m_numberOfFrames), 0);
+
+        // FIXME: Send the actual data size with IPCHandle.
+#if OS(DARWIN) || OS(WINDOWS)
+        uint64_t dataSize = handle.size();
+#else
+        uint64_t dataSize = 0;
+#endif
+        m_connection->send(Messages::RemoteCaptureSampleManager::AudioStorageChanged(m_id, SharedMemory::IPCHandle { WTFMove(handle),  dataSize }, m_description, m_numberOfFrames), 0);
     }
 
     bool preventSourceFromStopping()

Modified: branches/safari-610.1-branch/Source/WebKit/UIProcess/VisitedLinkStore.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/UIProcess/VisitedLinkStore.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/UIProcess/VisitedLinkStore.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -118,7 +118,13 @@
     if (!m_linkHashStore.createSharedMemoryHandle(handle))
         return;
 
-    process.send(Messages::VisitedLinkTableController::SetVisitedLinkTable(handle), identifier());
+    // FIXME: Get the actual size of data being sent from m_linkHashStore and send it in the SharedMemory::IPCHandle object.
+#if OS(DARWIN) || OS(WINDOWS)
+    uint64_t dataSize = handle.size();
+#else
+    uint64_t dataSize = 0;
+#endif
+    process.send(Messages::VisitedLinkTableController::SetVisitedLinkTable(SharedMemory::IPCHandle { WTFMove(handle), dataSize }), identifier());
 }
 
 void VisitedLinkStore::didInvalidateSharedMemory()

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteAudioBusData.h (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteAudioBusData.h	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/GPU/media/RemoteAudioBusData.h	2020-08-17 19:00:11 UTC (rev 265763)
@@ -46,7 +46,7 @@
         for (size_t i = 0; i < channelBuffers.size(); ++i) {
             SharedMemory::Handle handle;
             channelBuffers[i]->createHandle(handle, SharedMemory::Protection::ReadWrite);
-            encoder << handle;
+            encoder << SharedMemory::IPCHandle { WTFMove(handle), channelBuffers[i]->size() };
         }
     }
 
@@ -63,11 +63,13 @@
             return false;
 
         for (size_t i = 0; i < size; ++i) {
-            SharedMemory::Handle handle;
-            if (!decoder.decode(handle))
+            SharedMemory::IPCHandle ipcHandle;
+            if (!decoder.decode(ipcHandle))
                 return false;
-            if (auto memory = SharedMemory::map(handle, SharedMemory::Protection::ReadWrite))
+            if (auto memory = SharedMemory::map(ipcHandle.handle, SharedMemory::Protection::ReadWrite))
                 result.channelBuffers.append(memory.releaseNonNull());
+            else
+                return false;
         }
 
         return true;

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -106,7 +106,14 @@
     SharedMemory::Handle handle;
     if (storage)
         storage->createHandle(handle, SharedMemory::Protection::ReadOnly);
-    m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::AudioSamplesStorageChanged { handle, m_description, static_cast<uint64_t>(m_numberOfFrames) }, m_identifier);
+    
+    // FIXME: Send the actual data size with IPCHandle.
+#if OS(DARWIN) || OS(WINDOWS)
+    uint64_t dataSize = handle.size();
+#else
+    uint64_t dataSize = 0;
+#endif
+    m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::AudioSamplesStorageChanged { SharedMemory::IPCHandle { WTFMove(handle), dataSize }, m_description, static_cast<uint64_t>(m_numberOfFrames) }, m_identifier);
 }
 
 }

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -113,7 +113,14 @@
     SharedMemory::Handle handle;
     if (storage)
         storage->createHandle(handle, SharedMemory::Protection::ReadOnly);
-    m_connection->send(Messages::RemoteMediaRecorder::AudioSamplesStorageChanged { handle, m_description, static_cast<uint64_t>(m_numberOfFrames) }, m_identifier);
+
+    // FIXME: Send the actual data size with IPCHandle.
+#if OS(DARWIN) || OS(WINDOWS)
+    uint64_t dataSize = handle.size();
+#else
+    uint64_t dataSize = 0;
+#endif
+    m_connection->send(Messages::RemoteMediaRecorder::AudioSamplesStorageChanged { SharedMemory::IPCHandle { WTFMove(handle), dataSize }, m_description, static_cast<uint64_t>(m_numberOfFrames) }, m_identifier);
 }
 
 void MediaRecorderPrivate::fetchData(CompletionHandler<void(RefPtr<WebCore::SharedBuffer>&&, const String& mimeType)>&& completionHandler)

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -133,9 +133,9 @@
     return m_swOriginTable->contains(origin);
 }
 
-void WebSWClientConnection::setSWOriginTableSharedMemory(const SharedMemory::Handle& handle)
+void WebSWClientConnection::setSWOriginTableSharedMemory(const SharedMemory::IPCHandle& ipcHandle)
 {
-    m_swOriginTable->setSharedMemory(handle);
+    m_swOriginTable->setSharedMemory(ipcHandle.handle);
 }
 
 void WebSWClientConnection::setSWOriginTableIsImported()

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.h (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.h	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.h	2020-08-17 19:00:11 UTC (rev 265763)
@@ -98,7 +98,7 @@
     IPC::Connection* messageSenderConnection() const final;
     uint64_t messageSenderDestinationID() const final { return 0; }
 
-    void setSWOriginTableSharedMemory(const SharedMemory::Handle&);
+    void setSWOriginTableSharedMemory(const SharedMemory::IPCHandle&);
     void setSWOriginTableIsImported();
 
     void clear();

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in	2020-08-17 19:00:11 UTC (rev 265763)
@@ -35,7 +35,7 @@
     NotifyClientsOfControllerChange(HashSet<WebCore::DocumentIdentifier> contextIdentifiers, struct WebCore::ServiceWorkerData newController)
 
     SetSWOriginTableIsImported()
-    SetSWOriginTableSharedMemory(WebKit::SharedMemory::Handle handle)
+    SetSWOriginTableSharedMemory(WebKit::SharedMemory::IPCHandle handle)
     PostMessageToServiceWorkerClient(WebCore::DocumentIdentifier destinationContextIdentifier, struct WebCore::MessageWithMessagePorts message, struct WebCore::ServiceWorkerData source, String sourceOrigin)
 
     DidMatchRegistration(uint64_t matchRequestIdentifier, Optional<WebCore::ServiceWorkerRegistrationData> data)

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -84,9 +84,9 @@
     WebProcess::singleton().parentProcessConnection()->send(Messages::VisitedLinkStore::AddVisitedLinkHashFromPage(webPage.webPageProxyIdentifier(), linkHash), m_identifier);
 }
 
-void VisitedLinkTableController::setVisitedLinkTable(const SharedMemory::Handle& handle)
+void VisitedLinkTableController::setVisitedLinkTable(const SharedMemory::IPCHandle& ipcHandle)
 {
-    auto sharedMemory = SharedMemory::map(handle, SharedMemory::Protection::ReadOnly);
+    auto sharedMemory = SharedMemory::map(ipcHandle.handle, SharedMemory::Protection::ReadOnly);
     if (!sharedMemory)
         return;
 

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.h (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.h	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.h	2020-08-17 19:00:11 UTC (rev 265763)
@@ -47,7 +47,7 @@
     // IPC::MessageReceiver.
     void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
 
-    void setVisitedLinkTable(const SharedMemory::Handle&);
+    void setVisitedLinkTable(const SharedMemory::IPCHandle&);
     void visitedLinkStateChanged(const Vector<WebCore::SharedStringHash>&);
     void allVisitedLinkStateChanged();
     void removeAllVisitedLinks();

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.messages.in (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.messages.in	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.messages.in	2020-08-17 19:00:11 UTC (rev 265763)
@@ -21,7 +21,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 messages -> VisitedLinkTableController {
-    SetVisitedLinkTable(WebKit::SharedMemory::Handle handle)
+    SetVisitedLinkTable(WebKit::SharedMemory::IPCHandle ipcHandle)
     VisitedLinkStateChanged(Vector<WebCore::SharedStringHash> linkHashes)
     AllVisitedLinkStateChanged()
     RemoveAllVisitedLinks()

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.cpp (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.cpp	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.cpp	2020-08-17 19:00:11 UTC (rev 265763)
@@ -87,7 +87,7 @@
     m_queue->dispatch(WTFMove(callback));
 }
 
-void RemoteCaptureSampleManager::audioStorageChanged(WebCore::RealtimeMediaSourceIdentifier identifier, const SharedMemory::Handle& handle, const WebCore::CAAudioStreamDescription& description, uint64_t numberOfFrames)
+void RemoteCaptureSampleManager::audioStorageChanged(WebCore::RealtimeMediaSourceIdentifier identifier, const SharedMemory::IPCHandle& ipcHandle, const WebCore::CAAudioStreamDescription& description, uint64_t numberOfFrames)
 {
     ASSERT(!WTF::isMainRunLoop());
 
@@ -96,7 +96,7 @@
         RELEASE_LOG_ERROR(WebRTC, "Unable to find source %llu for storageChanged", identifier.toUInt64());
         return;
     }
-    iterator->value->setStorage(handle, description, numberOfFrames);
+    iterator->value->setStorage(ipcHandle.handle, description, numberOfFrames);
 }
 
 void RemoteCaptureSampleManager::audioSamplesAvailable(WebCore::RealtimeMediaSourceIdentifier identifier, MediaTime time, uint64_t numberOfFrames, uint64_t startFrame, uint64_t endFrame)

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.h (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.h	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.h	2020-08-17 19:00:11 UTC (rev 265763)
@@ -55,7 +55,7 @@
     void dispatchToThread(Function<void()>&&) final;
 
     // Messages
-    void audioStorageChanged(WebCore::RealtimeMediaSourceIdentifier, const SharedMemory::Handle&, const WebCore::CAAudioStreamDescription&, uint64_t numberOfFrames);
+    void audioStorageChanged(WebCore::RealtimeMediaSourceIdentifier, const SharedMemory::IPCHandle&, const WebCore::CAAudioStreamDescription&, uint64_t numberOfFrames);
     void audioSamplesAvailable(WebCore::RealtimeMediaSourceIdentifier, MediaTime, uint64_t numberOfFrames, uint64_t startFrame, uint64_t endFrame);
 
     void setConnection(IPC::Connection*);

Modified: branches/safari-610.1-branch/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.messages.in (265762 => 265763)


--- branches/safari-610.1-branch/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.messages.in	2020-08-17 19:00:05 UTC (rev 265762)
+++ branches/safari-610.1-branch/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.messages.in	2020-08-17 19:00:11 UTC (rev 265763)
@@ -24,7 +24,7 @@
 #if ENABLE(MEDIA_STREAM)
 
 messages -> RemoteCaptureSampleManager NotRefCounted {
-    AudioStorageChanged(WebCore::RealtimeMediaSourceIdentifier id, WebKit::SharedMemory::Handle storageHandle, WebCore::CAAudioStreamDescription description, uint64_t numberOfFrames)
+    AudioStorageChanged(WebCore::RealtimeMediaSourceIdentifier id, WebKit::SharedMemory::IPCHandle storageHandle, WebCore::CAAudioStreamDescription description, uint64_t numberOfFrames)
     AudioSamplesAvailable(WebCore::RealtimeMediaSourceIdentifier id, MediaTime time, uint64_t numberOfFrames, uint64_t startFrame, uint64_t endFrame)
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to