Diff
Modified: trunk/Source/WebCore/ChangeLog (269532 => 269533)
--- trunk/Source/WebCore/ChangeLog 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebCore/ChangeLog 2020-11-06 20:32:10 UTC (rev 269533)
@@ -1,5 +1,16 @@
2020-11-06 Wenson Hsieh <[email protected]>
+ Move DisplayListFlushIdentifier into WebCore as DisplayList::FlushIdentifier
+ https://bugs.webkit.org/show_bug.cgi?id=218586
+
+ Reviewed by Simon Fraser.
+
+ Add DisplayList::FlushIdentifier. See WebKit for more ChangeLogs.
+
+ * platform/graphics/displaylists/DisplayList.h:
+
+2020-11-06 Wenson Hsieh <[email protected]>
+
Unreviewed, fix the Windows 10 debug build after r269525
Speculative fix: add `NO_RETURN_DUE_TO_ASSERT` to method declarations in DisplayListItems.h as well.
Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayList.h (269532 => 269533)
--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayList.h 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayList.h 2020-11-06 20:32:10 UTC (rev 269533)
@@ -45,6 +45,9 @@
namespace DisplayList {
+enum FlushIdentifierType { };
+using FlushIdentifier = ObjectIdentifier<FlushIdentifierType>;
+
enum AsTextFlag {
None = 0,
IncludesPlatformOperations = 1 << 0,
Modified: trunk/Source/WebKit/ChangeLog (269532 => 269533)
--- trunk/Source/WebKit/ChangeLog 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/ChangeLog 2020-11-06 20:32:10 UTC (rev 269533)
@@ -1,3 +1,32 @@
+2020-11-06 Wenson Hsieh <[email protected]>
+
+ Move DisplayListFlushIdentifier into WebCore as DisplayList::FlushIdentifier
+ https://bugs.webkit.org/show_bug.cgi?id=218586
+
+ Reviewed by Simon Fraser.
+
+ In preparation for adding a display list item to represent flushing the graphics context, move WebKit's
+ `DisplayListFlushIdentifier` to the `DisplayList` namespace in WebCore, and rename it to
+ `DisplayList::FlushIdentifier`.
+
+ No change in behavior.
+
+ * GPUProcess/graphics/RemoteRenderingBackend.cpp:
+ (WebKit::RemoteRenderingBackend::flushDisplayListWasCommitted):
+ (WebKit::RemoteRenderingBackend::flushDisplayListAndCommit):
+ * GPUProcess/graphics/RemoteRenderingBackend.h:
+ * GPUProcess/graphics/RemoteRenderingBackend.messages.in:
+ * Scripts/webkit/messages.py:
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/GPU/graphics/DisplayListFlushIdentifier.h: Removed.
+ * WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
+ (WebKit::RemoteImageBufferProxy::commitFlushDisplayList):
+ * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
+ (WebKit::RemoteRenderingBackendProxy::flushDisplayListAndCommit):
+ (WebKit::RemoteRenderingBackendProxy::flushDisplayListWasCommitted):
+ * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
+ * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:
+
2020-11-06 Alex Christensen <[email protected]>
Fix build after adding files to UIProcess/API/Cocoa
Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp (269532 => 269533)
--- trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp 2020-11-06 20:32:10 UTC (rev 269533)
@@ -99,7 +99,7 @@
send(Messages::RemoteRenderingBackendProxy::ImageBufferBackendWasCreated(logicalSize, backendSize, resolutionScale, colorSpace, WTFMove(handle), renderingResourceIdentifier), m_renderingBackendIdentifier);
}
-void RemoteRenderingBackend::flushDisplayListWasCommitted(DisplayListFlushIdentifier flushIdentifier, RenderingResourceIdentifier renderingResourceIdentifier)
+void RemoteRenderingBackend::flushDisplayListWasCommitted(DisplayList::FlushIdentifier flushIdentifier, RenderingResourceIdentifier renderingResourceIdentifier)
{
send(Messages::RemoteRenderingBackendProxy::FlushDisplayListWasCommitted(flushIdentifier, renderingResourceIdentifier), m_renderingBackendIdentifier);
}
@@ -159,7 +159,7 @@
applyDisplayList(handle, renderingResourceIdentifier, ShouldFlushContext::No);
}
-void RemoteRenderingBackend::flushDisplayListAndCommit(const SharedDisplayListHandle& handle, DisplayListFlushIdentifier flushIdentifier, RenderingResourceIdentifier renderingResourceIdentifier)
+void RemoteRenderingBackend::flushDisplayListAndCommit(const SharedDisplayListHandle& handle, DisplayList::FlushIdentifier flushIdentifier, RenderingResourceIdentifier renderingResourceIdentifier)
{
applyDisplayList(handle, renderingResourceIdentifier, ShouldFlushContext::Yes);
flushDisplayListWasCommitted(flushIdentifier, renderingResourceIdentifier);
Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h (269532 => 269533)
--- trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h 2020-11-06 20:32:10 UTC (rev 269533)
@@ -28,7 +28,6 @@
#if ENABLE(GPU_PROCESS)
#include "Connection.h"
-#include "DisplayListFlushIdentifier.h"
#include "ImageBufferBackendHandle.h"
#include "ImageDataReference.h"
#include "MessageReceiver.h"
@@ -70,7 +69,7 @@
// Messages to be sent.
void imageBufferBackendWasCreated(const WebCore::FloatSize& logicalSize, const WebCore::IntSize& backendSize, float resolutionScale, WebCore::ColorSpace, ImageBufferBackendHandle, WebCore::RenderingResourceIdentifier);
- void flushDisplayListWasCommitted(DisplayListFlushIdentifier, WebCore::RenderingResourceIdentifier);
+ void flushDisplayListWasCommitted(WebCore::DisplayList::FlushIdentifier, WebCore::RenderingResourceIdentifier);
private:
RemoteRenderingBackend(GPUConnectionToWebProcess&, RenderingBackendIdentifier);
@@ -89,7 +88,7 @@
// Messages to be received.
void createImageBuffer(const WebCore::FloatSize& logicalSize, WebCore::RenderingMode, float resolutionScale, WebCore::ColorSpace, WebCore::RenderingResourceIdentifier);
void flushDisplayList(const SharedDisplayListHandle&, WebCore::RenderingResourceIdentifier);
- void flushDisplayListAndCommit(const SharedDisplayListHandle&, DisplayListFlushIdentifier, WebCore::RenderingResourceIdentifier);
+ void flushDisplayListAndCommit(const SharedDisplayListHandle&, WebCore::DisplayList::FlushIdentifier, WebCore::RenderingResourceIdentifier);
void getImageData(WebCore::AlphaPremultiplication outputFormat, WebCore::IntRect srcRect, WebCore::RenderingResourceIdentifier, CompletionHandler<void(IPC::ImageDataReference&&)>&&);
void releaseRemoteResource(WebCore::RenderingResourceIdentifier);
void didCreateSharedItemData(WebCore::DisplayList::ItemBufferIdentifier, const SharedMemory::IPCHandle&);
Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in (269532 => 269533)
--- trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in 2020-11-06 20:32:10 UTC (rev 269533)
@@ -25,7 +25,7 @@
messages -> RemoteRenderingBackend NotRefCounted {
CreateImageBuffer(WebCore::FloatSize logicalSize, WebCore::RenderingMode renderingMode, float resolutionScale, WebCore::ColorSpace colorSpace, WebCore::RenderingResourceIdentifier renderingResourceIdentifier)
FlushDisplayList(WebKit::SharedDisplayListHandle displayList, WebCore::RenderingResourceIdentifier renderingResourceIdentifier)
- FlushDisplayListAndCommit(WebKit::SharedDisplayListHandle displayList, WebKit::DisplayListFlushIdentifier flushIdentifier, WebCore::RenderingResourceIdentifier renderingResourceIdentifier)
+ FlushDisplayListAndCommit(WebKit::SharedDisplayListHandle displayList, WebCore::DisplayList::FlushIdentifier flushIdentifier, WebCore::RenderingResourceIdentifier renderingResourceIdentifier)
GetImageData(enum:uint8_t WebCore::AlphaPremultiplication outputFormat, WebCore::IntRect srcRect, WebCore::RenderingResourceIdentifier renderingResourceIdentifier) -> (IPC::ImageDataReference imageData) Synchronous
DidCreateSharedItemData(WebCore::DisplayList::ItemBufferIdentifier identifier, WebKit::SharedMemory::IPCHandle handle)
ReleaseRemoteResource(WebCore::RenderingResourceIdentifier renderingResourceIdentifier)
Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (269532 => 269533)
--- trunk/Source/WebKit/Scripts/webkit/messages.py 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py 2020-11-06 20:32:10 UTC (rev 269533)
@@ -241,7 +241,7 @@
'WebKit::AudioMediaStreamTrackRendererIdentifier',
'WebKit::ContentWorldIdentifier',
'WebKit::DisplayLinkObserverID',
- 'WebKit::DisplayListFlushIdentifier',
+ 'WebCore::DisplayList::FlushIdentifier',
'WebKit::DownloadID',
'WebKit::GeolocationIdentifier',
'WebKit::ImageBufferBackendHandle',
@@ -588,6 +588,7 @@
'JSC::MessageSource': ['<_javascript_Core/ConsoleTypes.h>'],
'Inspector::InspectorTargetType': ['<_javascript_Core/InspectorTarget.h>'],
'Inspector::FrontendChannel::ConnectionType': ['<_javascript_Core/InspectorFrontendChannel.h>'],
+ 'WebCore::DisplayList::FlushIdentifier': ['<WebCore/DisplayList.h>'],
'WebCore::DisplayList::ItemBufferIdentifier': ['<WebCore/DisplayList.h>'],
'MediaTime': ['<wtf/MediaTime.h>'],
'MonotonicTime': ['<wtf/MonotonicTime.h>'],
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (269532 => 269533)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-11-06 20:32:10 UTC (rev 269533)
@@ -3925,7 +3925,6 @@
550640A424071C2100AAE045 /* RemoteRenderingBackend.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RemoteRenderingBackend.messages.in; sourceTree = "<group>"; };
55AD09422408A02E00DE4D2F /* RemoteImageBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteImageBuffer.h; sourceTree = "<group>"; };
55AD09432408A0E600DE4D2F /* PlatformRemoteImageBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PlatformRemoteImageBuffer.h; sourceTree = "<group>"; };
- 55AD09442408ABB300DE4D2F /* DisplayListFlushIdentifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DisplayListFlushIdentifier.h; sourceTree = "<group>"; };
570AB8F220AE3BD700B8BE87 /* SecKeyProxyStore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SecKeyProxyStore.h; sourceTree = "<group>"; };
570AB90020B2517400B8BE87 /* AuthenticationChallengeProxyCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AuthenticationChallengeProxyCocoa.mm; sourceTree = "<group>"; };
570AB90320B2541C00B8BE87 /* SecKeyProxyStore.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SecKeyProxyStore.mm; sourceTree = "<group>"; };
@@ -8171,7 +8170,6 @@
isa = PBXGroup;
children = (
727A7F3324078527004D2931 /* cocoa */,
- 55AD09442408ABB300DE4D2F /* DisplayListFlushIdentifier.h */,
727A7F39240788F1004D2931 /* ImageBufferBackendHandle.h */,
727A7F37240788F0004D2931 /* ImageBufferShareableBitmapBackend.cpp */,
727A7F36240788F0004D2931 /* ImageBufferShareableBitmapBackend.h */,
Deleted: trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListFlushIdentifier.h (269532 => 269533)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListFlushIdentifier.h 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListFlushIdentifier.h 2020-11-06 20:32:10 UTC (rev 269533)
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-#include <wtf/ObjectIdentifier.h>
-
-namespace WebKit {
-
-enum DisplayListFlushIdentifierType { };
-using DisplayListFlushIdentifier = ObjectIdentifier<DisplayListFlushIdentifierType>;
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h (269532 => 269533)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h 2020-11-06 20:32:10 UTC (rev 269533)
@@ -69,7 +69,7 @@
m_backend = BackendType::create(logicalSize, backendSize, resolutionScale, colorSpace, WTFMove(handle));
}
- void commitFlushDisplayList(DisplayListFlushIdentifier flushIdentifier)
+ void commitFlushDisplayList(WebCore::DisplayList::FlushIdentifier flushIdentifier)
{
m_receivedFlushIdentifier = flushIdentifier;
}
@@ -288,8 +288,8 @@
flushDrawingContext();
}
- DisplayListFlushIdentifier m_sentFlushIdentifier;
- DisplayListFlushIdentifier m_receivedFlushIdentifier;
+ WebCore::DisplayList::FlushIdentifier m_sentFlushIdentifier;
+ WebCore::DisplayList::FlushIdentifier m_receivedFlushIdentifier;
WeakPtr<RemoteRenderingBackendProxy> m_remoteRenderingBackendProxy;
size_t m_itemCountInCurrentDisplayList { 0 };
};
Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp (269532 => 269533)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp 2020-11-06 20:32:10 UTC (rev 269533)
@@ -121,9 +121,9 @@
m_sharedItemBuffers.clear();
}
-DisplayListFlushIdentifier RemoteRenderingBackendProxy::flushDisplayListAndCommit(const DisplayList::DisplayList& displayList, RenderingResourceIdentifier renderingResourceIdentifier)
+DisplayList::FlushIdentifier RemoteRenderingBackendProxy::flushDisplayListAndCommit(const DisplayList::DisplayList& displayList, RenderingResourceIdentifier renderingResourceIdentifier)
{
- DisplayListFlushIdentifier sentFlushIdentifier = DisplayListFlushIdentifier::generate();
+ auto sentFlushIdentifier = DisplayList::FlushIdentifier::generate();
send(Messages::RemoteRenderingBackend::FlushDisplayListAndCommit({ displayList }, sentFlushIdentifier, renderingResourceIdentifier), m_renderingBackendIdentifier);
m_sharedItemBuffers.clear();
return sentFlushIdentifier;
@@ -147,7 +147,7 @@
downcast<UnacceleratedRemoteImageBufferProxy>(*imageBuffer).createBackend(logicalSize, backendSize, resolutionScale, colorSpace, WTFMove(handle));
}
-void RemoteRenderingBackendProxy::flushDisplayListWasCommitted(DisplayListFlushIdentifier flushIdentifier, RenderingResourceIdentifier renderingResourceIdentifier)
+void RemoteRenderingBackendProxy::flushDisplayListWasCommitted(DisplayList::FlushIdentifier flushIdentifier, RenderingResourceIdentifier renderingResourceIdentifier)
{
auto imageBuffer = m_remoteResourceCacheProxy.cachedImageBuffer(renderingResourceIdentifier);
if (!imageBuffer)
Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h (269532 => 269533)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h 2020-11-06 20:32:10 UTC (rev 269533)
@@ -27,7 +27,6 @@
#if ENABLE(GPU_PROCESS)
-#include "DisplayListFlushIdentifier.h"
#include "ImageBufferBackendHandle.h"
#include "MessageReceiver.h"
#include "MessageSender.h"
@@ -74,7 +73,7 @@
RefPtr<WebCore::ImageBuffer> createImageBuffer(const WebCore::FloatSize&, WebCore::RenderingMode, float resolutionScale, WebCore::ColorSpace);
RefPtr<WebCore::ImageData> getImageData(WebCore::AlphaPremultiplication outputFormat, const WebCore::IntRect& srcRect, WebCore::RenderingResourceIdentifier);
void flushDisplayList(const WebCore::DisplayList::DisplayList&, WebCore::RenderingResourceIdentifier);
- DisplayListFlushIdentifier flushDisplayListAndCommit(const WebCore::DisplayList::DisplayList&, WebCore::RenderingResourceIdentifier);
+ WebCore::DisplayList::FlushIdentifier flushDisplayListAndCommit(const WebCore::DisplayList::DisplayList&, WebCore::RenderingResourceIdentifier);
void releaseRemoteResource(WebCore::RenderingResourceIdentifier);
bool waitForImageBufferBackendWasCreated();
@@ -85,7 +84,7 @@
// Messages to be received.
void imageBufferBackendWasCreated(const WebCore::FloatSize& logicalSize, const WebCore::IntSize& backendSize, float resolutionScale, WebCore::ColorSpace, ImageBufferBackendHandle, WebCore::RenderingResourceIdentifier);
- void flushDisplayListWasCommitted(DisplayListFlushIdentifier, WebCore::RenderingResourceIdentifier);
+ void flushDisplayListWasCommitted(WebCore::DisplayList::FlushIdentifier, WebCore::RenderingResourceIdentifier);
RemoteResourceCacheProxy m_remoteResourceCacheProxy;
HashMap<WebCore::DisplayList::ItemBufferIdentifier, RefPtr<SharedMemory>> m_sharedItemBuffers;
Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in (269532 => 269533)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in 2020-11-06 20:29:19 UTC (rev 269532)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in 2020-11-06 20:32:10 UTC (rev 269533)
@@ -24,7 +24,7 @@
messages -> RemoteRenderingBackendProxy NotRefCounted {
ImageBufferBackendWasCreated(WebCore::FloatSize logicalSize, WebCore::IntSize backendSize, float resolutionScale, WebCore::ColorSpace colorSpace, WebKit::ImageBufferBackendHandle handle, WebCore::RenderingResourceIdentifier renderingResourceIdentifier)
- FlushDisplayListWasCommitted(WebKit::DisplayListFlushIdentifier flushIdentifier, WebCore::RenderingResourceIdentifier renderingResourceIdentifier)
+ FlushDisplayListWasCommitted(WebCore::DisplayList::FlushIdentifier flushIdentifier, WebCore::RenderingResourceIdentifier renderingResourceIdentifier)
}
#endif // ENABLE(GPU_PROCESS)