[webkit-changes] [283969] trunk/LayoutTests
Title: [283969] trunk/LayoutTests Revision 283969 Author commit-qu...@webkit.org Date 2021-10-11 22:05:01 -0700 (Mon, 11 Oct 2021) Log Message [GLIB] Update test expectations for failing CSS tests. https://bugs.webkit.org/show_bug.cgi?id=231547 Unreviewed test gardening. Patch by Arcady Goldmints-Orlov on 2021-10-11 * platform/glib/TestExpectations: * platform/gtk/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/glib/TestExpectations trunk/LayoutTests/platform/gtk/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (283968 => 283969) --- trunk/LayoutTests/ChangeLog 2021-10-12 04:20:05 UTC (rev 283968) +++ trunk/LayoutTests/ChangeLog 2021-10-12 05:05:01 UTC (rev 283969) @@ -1,3 +1,13 @@ +2021-10-11 Arcady Goldmints-Orlov + +[GLIB] Update test expectations for failing CSS tests. +https://bugs.webkit.org/show_bug.cgi?id=231547 + +Unreviewed test gardening. + +* platform/glib/TestExpectations: +* platform/gtk/TestExpectations: + 2021-10-11 Chris Dumez [COOP] Crash under ReportingEndpointsCache::addEndpointFromDictionary() Modified: trunk/LayoutTests/platform/glib/TestExpectations (283968 => 283969) --- trunk/LayoutTests/platform/glib/TestExpectations 2021-10-12 04:20:05 UTC (rev 283968) +++ trunk/LayoutTests/platform/glib/TestExpectations 2021-10-12 05:05:01 UTC (rev 283969) @@ -586,6 +586,12 @@ webkit.org/b/230926 imported/w3c/web-platform-tests/css/css-fonts/palette-values-rule-add.html [ ImageOnlyFailure ] webkit.org/b/230926 imported/w3c/web-platform-tests/css/css-fonts/palette-values-rule-delete.html [ ImageOnlyFailure ] +webkit.org/b/230004 imported/w3c/web-platform-tests/css/css-pseudo/highlight-painting-004.html [ ImageOnlyFailure ] +webkit.org/b/230004 imported/w3c/web-platform-tests/css/css-pseudo/highlight-painting-003.html [ ImageOnlyFailure ] + +webkit.org/b/231516 fast/css/calc-parsing.html [ Pass Failure ] +webkit.org/b/231516 imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-invalid.html [ Pass Failure ] + # # End of CSS-related bugs # Modified: trunk/LayoutTests/platform/gtk/TestExpectations (283968 => 283969) --- trunk/LayoutTests/platform/gtk/TestExpectations 2021-10-12 04:20:05 UTC (rev 283968) +++ trunk/LayoutTests/platform/gtk/TestExpectations 2021-10-12 05:05:01 UTC (rev 283969) @@ -142,6 +142,13 @@ # CSS webkit.org/b/216161 imported/w3c/web-platform-tests/css/css-pseudo/text-selection.html [ Failure Pass ] +webkit.org/b/183258 imported/w3c/web-platform-tests/css/css-text/line-breaking/line-breaking-ic-002.html [ ImageOnlyFailure ] +webkit.org/b/183258 imported/w3c/web-platform-tests/css/css-text/line-breaking/line-breaking-002.html [ ImageOnlyFailure ] +webkit.org/b/183258 imported/w3c/web-platform-tests/css/css-text/line-breaking/line-breaking-004.html [ ImageOnlyFailure ] +webkit.org/b/183258 imported/w3c/web-platform-tests/css/css-text/line-breaking/line-breaking-006.html [ ImageOnlyFailure ] +webkit.org/b/183258 imported/w3c/web-platform-tests/css/css-text/line-breaking/line-breaking-007.html [ ImageOnlyFailure ] +webkit.org/b/183258 imported/w3c/web-platform-tests/css/css-text/line-breaking/line-breaking-009.html [ ImageOnlyFailure ] +webkit.org/b/183258 imported/w3c/web-platform-tests/css/css-text/line-breaking/line-breaking-011.html [ ImageOnlyFailure ] # Download ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [283968] trunk/Source/WebKit
Title: [283968] trunk/Source/WebKit Revision 283968 Author mmaxfi...@apple.com Date 2021-10-11 21:20:05 -0700 (Mon, 11 Oct 2021) Log Message [GPU Process] Unique RenderingResourceIdentifiers Part 5: Migrate RemoteResourceCache to QualifiedRenderingResourceIdentifier https://bugs.webkit.org/show_bug.cgi?id=231407 Reviewed by Said Abou-Hallawa. This pushes QualifiedRenderingResourceIdentifier down into RemoteResourceCache, but doesn't go all the way. This patch augments RemoteResourceCache's API to accept QualifiedRenderingResourceIdentifiers, and also migrates RemoteResourceCache::m_resourceUseCounters to use QualifiedRenderingResourceIdentifiers. RemoteResourceCache::m_imageBuffers, RemoteResourceCache::m_nativeImages, and RemoteResourceCache::m_fonts are WebCore typedefs, and are passed to WebCore's display list replaying code, but that code should have no notion of process identifiers. Therefore, in order to make those members hold data that WebCore doesn't understand, I'm going to have to wrap an opaque class around them and pass that class around instead of the raw HashMaps. I'll do that in another patch. No new tests because there is no behavior change. * GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::setStateWithQualifiedIdentifiers): (WebKit::RemoteDisplayListRecorder::clipToImageBufferWithQualifiedIdentifier): (WebKit::RemoteDisplayListRecorder::drawGlyphsWithQualifiedIdentifier): (WebKit::RemoteDisplayListRecorder::drawImageBufferWithQualifiedIdentifier): (WebKit::RemoteDisplayListRecorder::drawNativeImageWithQualifiedIdentifier): (WebKit::RemoteDisplayListRecorder::drawPatternWithQualifiedIdentifier): * GPUProcess/graphics/RemoteGraphicsContextGL.cpp: (WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer): * GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::RemoteRenderingBackend): (WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::ReplayerDelegate::ReplayerDelegate): (WebKit::RemoteRenderingBackend::ReplayerDelegate::recordResourceUse): (WebKit::RemoteRenderingBackend::submit): (WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists): (WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayListWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::getDataURLForImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::getDataForImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::finalizeRenderingUpdate): * GPUProcess/graphics/RemoteRenderingBackend.h: * GPUProcess/graphics/RemoteResourceCache.cpp: (WebKit::RemoteResourceCache::RemoteResourceCache): (WebKit::RemoteResourceCache::cacheImageBuffer): (WebKit::RemoteResourceCache::cachedImageBuffer const): (WebKit::RemoteResourceCache::cacheNativeImage): (WebKit::RemoteResourceCache::cachedNativeImage const): (WebKit::RemoteResourceCache::cacheFont): (WebKit::RemoteResourceCache::cachedFont const): (WebKit::RemoteResourceCache::ensureResourceUseCounter): (WebKit::RemoteResourceCache::maybeRemoveResource): (WebKit::RemoteResourceCache::recordResourceUse): (WebKit::RemoteResourceCache::releaseRemoteResource): * GPUProcess/graphics/RemoteResourceCache.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h trunk/Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h Diff Modified: trunk/Source/WebKit/ChangeLog (283967 => 283968) --- trunk/Source/WebKit/ChangeLog 2021-10-12 04:18:13 UTC (rev 283967) +++ trunk/Source/WebKit/ChangeLog 2021-10-12 04:20:05 UTC (rev 283968) @@ -1,5 +1,64 @@ 2021-10-11 Myles C. Maxfield +[GPU Process] Unique RenderingResourceIdentifiers Part 5: Migrate RemoteResourceCache to QualifiedRenderingResourceIdentifier +https://bugs.webkit.org/show_bug.cgi?id=231407 + + +Reviewed by Said Abou-Hallawa. + +This pushes QualifiedRenderingResourceIdentifier down into RemoteResourceCache, but doesn't go all the way. +This patch augments RemoteResourceCache's API to accept QualifiedRenderingResourceIdentifiers, and also +migrates RemoteResourceCache::m_resourceUseCounters to use QualifiedRenderingResourceIdentifiers. + +RemoteResourceCache::m_imageBuffers, RemoteResourceCache::m_nativeImages, and RemoteResourceCache::m_fonts
[webkit-changes] [283967] trunk/Source
Title: [283967] trunk/Source Revision 283967 Author mmaxfi...@apple.com Date 2021-10-11 21:18:13 -0700 (Mon, 11 Oct 2021) Log Message [GPU Process] Unique RenderingResourceIdentifiers Part 6: Uniquify more of RemoteDisplayListRecorder at entry points https://bugs.webkit.org/show_bug.cgi?id=231552 Source/WebCore: Reviewed by Wenson Hsieh. No new tests because there is no behavior change. * platform/ProcessQualified.h: (WebCore::ProcessQualified::operator bool const): Source/WebKit: This is an extension of https://bugs.webkit.org/show_bug.cgi?id=231548. It applies QualifiedRenderingResourceIdentifiers at the rest of the entry points of RemoteDisplayListRecorder. Reviewed by Wenson Hsieh. * GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::setState): (WebKit::RemoteDisplayListRecorder::setStateWithQualifiedIdentifiers): (WebKit::RemoteDisplayListRecorder::drawGlyphs): (WebKit::RemoteDisplayListRecorder::drawGlyphsWithQualifiedIdentifier): * GPUProcess/graphics/RemoteDisplayListRecorder.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/ProcessQualified.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h Diff Modified: trunk/Source/WebCore/ChangeLog (283966 => 283967) --- trunk/Source/WebCore/ChangeLog 2021-10-12 03:55:57 UTC (rev 283966) +++ trunk/Source/WebCore/ChangeLog 2021-10-12 04:18:13 UTC (rev 283967) @@ -1,3 +1,16 @@ +2021-10-11 Myles C. Maxfield + +[GPU Process] Unique RenderingResourceIdentifiers Part 6: Uniquify more of RemoteDisplayListRecorder at entry points +https://bugs.webkit.org/show_bug.cgi?id=231552 + + +Reviewed by Wenson Hsieh. + +No new tests because there is no behavior change. + +* platform/ProcessQualified.h: +(WebCore::ProcessQualified::operator bool const): + 2021-10-11 Kiet Ho Fix makeprop.pl to not treat "inherited: false" properties as inherited. Modified: trunk/Source/WebCore/platform/ProcessQualified.h (283966 => 283967) --- trunk/Source/WebCore/platform/ProcessQualified.h 2021-10-12 03:55:57 UTC (rev 283966) +++ trunk/Source/WebCore/platform/ProcessQualified.h 2021-10-12 04:18:13 UTC (rev 283967) @@ -41,24 +41,29 @@ // ProcessIdentifier of the process which created them. ProcessQualified() = default; - + ProcessQualified(T&& object, ProcessIdentifier processIdentifier) : m_object(WTFMove(object)) , m_processIdentifier(processIdentifier) { } - + ProcessQualified(const T& object, ProcessIdentifier processIdentifier) : m_object(object) , m_processIdentifier(processIdentifier) { } - + ProcessQualified(WTF::HashTableDeletedValueType) : m_processIdentifier(WTF::HashTableDeletedValue) { } +operator bool() const +{ +return static_cast(m_object); +} + const T& object() const { return m_object; Modified: trunk/Source/WebKit/ChangeLog (283966 => 283967) --- trunk/Source/WebKit/ChangeLog 2021-10-12 03:55:57 UTC (rev 283966) +++ trunk/Source/WebKit/ChangeLog 2021-10-12 04:18:13 UTC (rev 283967) @@ -1,3 +1,21 @@ +2021-10-11 Myles C. Maxfield + +[GPU Process] Unique RenderingResourceIdentifiers Part 6: Uniquify more of RemoteDisplayListRecorder at entry points +https://bugs.webkit.org/show_bug.cgi?id=231552 + + +This is an extension of https://bugs.webkit.org/show_bug.cgi?id=231548. It applies QualifiedRenderingResourceIdentifiers +at the rest of the entry points of RemoteDisplayListRecorder. + +Reviewed by Wenson Hsieh. + +* GPUProcess/graphics/RemoteDisplayListRecorder.cpp: +(WebKit::RemoteDisplayListRecorder::setState): +(WebKit::RemoteDisplayListRecorder::setStateWithQualifiedIdentifiers): +(WebKit::RemoteDisplayListRecorder::drawGlyphs): +(WebKit::RemoteDisplayListRecorder::drawGlyphsWithQualifiedIdentifier): +* GPUProcess/graphics/RemoteDisplayListRecorder.h: + 2021-10-11 Simon Fraser Make DrawingAreaType an enum class Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp (283966 => 283967) --- trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp 2021-10-12 03:55:57 UTC (rev 283966) +++ trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp 2021-10-12 04:18:13 UTC (rev 283967) @@ -119,23 +119,30 @@ void RemoteDisplayListRecorder::setState(DisplayList::SetState&& item) { +// Immediately turn the RenderingResourceIdentifier (which is error-prone) to a QualifiedRenderingResourceIdentifier, +// and use a helper function to make sure that don't accidentally use the RenderingResourceIdentifier (because the helper function can't see it). auto
[webkit-changes] [283966] trunk/Source/WebKit
Title: [283966] trunk/Source/WebKit Revision 283966 Author simon.fra...@apple.com Date 2021-10-11 20:55:57 -0700 (Mon, 11 Oct 2021) Log Message Make DrawingAreaType an enum class https://bugs.webkit.org/show_bug.cgi?id=231543 Reviewed by Wenson Hsieh. Make DrawingAreaType an enum class, and make the DrawingArea type member const. * Shared/DrawingAreaInfo.h: * UIProcess/Cocoa/WebViewImpl.mm: (WebKit::WebViewImpl::isUsingUISideCompositing const): * UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: (WebKit::DrawingAreaProxyCoordinatedGraphics::DrawingAreaProxyCoordinatedGraphics): * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h: * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setDrawingArea): (WebKit::WebPageProxy::commitProvisionalPage): (WebKit::WebPageProxy::enterAcceleratedCompositingMode): (WebKit::WebPageProxy::didFirstLayerFlush): * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy): * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createScrollingCoordinator const): * WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp: (WebKit::DrawingAreaCoordinatedGraphics::DrawingAreaCoordinatedGraphics): * WebProcess/WebPage/DrawingArea.cpp: (WebKit::DrawingArea::create): (WebKit::DrawingArea::supportsGPUProcessRendering): * WebProcess/WebPage/DrawingArea.h: * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h: * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/DrawingAreaInfo.h trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm trunk/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h trunk/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.h trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm Diff Modified: trunk/Source/WebKit/ChangeLog (283965 => 283966) --- trunk/Source/WebKit/ChangeLog 2021-10-12 03:05:02 UTC (rev 283965) +++ trunk/Source/WebKit/ChangeLog 2021-10-12 03:55:57 UTC (rev 283966) @@ -1,3 +1,43 @@ +2021-10-11 Simon Fraser + +Make DrawingAreaType an enum class +https://bugs.webkit.org/show_bug.cgi?id=231543 + +Reviewed by Wenson Hsieh. + +Make DrawingAreaType an enum class, and make the DrawingArea type member const. + +* Shared/DrawingAreaInfo.h: +* UIProcess/Cocoa/WebViewImpl.mm: +(WebKit::WebViewImpl::isUsingUISideCompositing const): +* UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: +(WebKit::DrawingAreaProxyCoordinatedGraphics::DrawingAreaProxyCoordinatedGraphics): +* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h: +* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: +(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::setDrawingArea): +(WebKit::WebPageProxy::commitProvisionalPage): +(WebKit::WebPageProxy::enterAcceleratedCompositingMode): +(WebKit::WebPageProxy::didFirstLayerFlush): +* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: +* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: +(WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy): +* WebProcess/WebCoreSupport/WebChromeClient.cpp: +(WebKit::WebChromeClient::createScrollingCoordinator const): +* WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp: +
[webkit-changes] [283965] trunk/Source/WebKit
Title: [283965] trunk/Source/WebKit Revision 283965 Author mmaxfi...@apple.com Date 2021-10-11 20:05:02 -0700 (Mon, 11 Oct 2021) Log Message [GPU Process] Unique RenderingResourceIdentifiers Part 5: Uniquify RemoteDisplayListRecorder at entry points https://bugs.webkit.org/show_bug.cgi?id=231548 Reviewed by Wenson Hsieh. This simply applies the same treatment in https://commits.webkit.org/242676@main to RemoteDisplayListRecorder. This is being done in a follow-up patch because it relies on https://bugs.webkit.org/show_bug.cgi?id=231484. No new tests because there is no behavior change. * GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::RemoteDisplayListRecorder): (WebKit::RemoteDisplayListRecorder::clipToImageBuffer): (WebKit::RemoteDisplayListRecorder::clipToImageBufferWithQualifiedIdentifier): (WebKit::RemoteDisplayListRecorder::drawImageBuffer): (WebKit::RemoteDisplayListRecorder::drawImageBufferWithQualifiedIdentifier): (WebKit::RemoteDisplayListRecorder::drawNativeImage): (WebKit::RemoteDisplayListRecorder::drawNativeImageWithQualifiedIdentifier): (WebKit::RemoteDisplayListRecorder::drawPattern): (WebKit::RemoteDisplayListRecorder::drawPatternWithQualifiedIdentifier): * GPUProcess/graphics/RemoteDisplayListRecorder.h: (WebKit::RemoteDisplayListRecorder::create): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h Diff Modified: trunk/Source/WebKit/ChangeLog (283964 => 283965) --- trunk/Source/WebKit/ChangeLog 2021-10-12 02:57:31 UTC (rev 283964) +++ trunk/Source/WebKit/ChangeLog 2021-10-12 03:05:02 UTC (rev 283965) @@ -1,5 +1,32 @@ 2021-10-11 Myles C. Maxfield +[GPU Process] Unique RenderingResourceIdentifiers Part 5: Uniquify RemoteDisplayListRecorder at entry points +https://bugs.webkit.org/show_bug.cgi?id=231548 + + +Reviewed by Wenson Hsieh. + +This simply applies the same treatment in https://commits.webkit.org/242676@main to +RemoteDisplayListRecorder. This is being done in a follow-up patch because it +relies on https://bugs.webkit.org/show_bug.cgi?id=231484. + +No new tests because there is no behavior change. + +* GPUProcess/graphics/RemoteDisplayListRecorder.cpp: +(WebKit::RemoteDisplayListRecorder::RemoteDisplayListRecorder): +(WebKit::RemoteDisplayListRecorder::clipToImageBuffer): +(WebKit::RemoteDisplayListRecorder::clipToImageBufferWithQualifiedIdentifier): +(WebKit::RemoteDisplayListRecorder::drawImageBuffer): +(WebKit::RemoteDisplayListRecorder::drawImageBufferWithQualifiedIdentifier): +(WebKit::RemoteDisplayListRecorder::drawNativeImage): +(WebKit::RemoteDisplayListRecorder::drawNativeImageWithQualifiedIdentifier): +(WebKit::RemoteDisplayListRecorder::drawPattern): +(WebKit::RemoteDisplayListRecorder::drawPatternWithQualifiedIdentifier): +* GPUProcess/graphics/RemoteDisplayListRecorder.h: +(WebKit::RemoteDisplayListRecorder::create): + +2021-10-11 Myles C. Maxfield + Revert 242806@main because it broke the build https://bugs.webkit.org/show_bug.cgi?id=231546 Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp (283964 => 283965) --- trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp 2021-10-12 02:57:31 UTC (rev 283964) +++ trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp 2021-10-12 03:05:02 UTC (rev 283965) @@ -33,9 +33,10 @@ namespace WebKit { using namespace WebCore; -RemoteDisplayListRecorder::RemoteDisplayListRecorder(ImageBuffer& imageBuffer, QualifiedRenderingResourceIdentifier imageBufferIdentifier, RemoteRenderingBackend& renderingBackend) +RemoteDisplayListRecorder::RemoteDisplayListRecorder(ImageBuffer& imageBuffer, QualifiedRenderingResourceIdentifier imageBufferIdentifier, ProcessIdentifier webProcessIdentifier, RemoteRenderingBackend& renderingBackend) : m_imageBuffer(imageBuffer) , m_imageBufferIdentifier(imageBufferIdentifier) +, m_webProcessIdentifier(webProcessIdentifier) , m_renderingBackend(renderingBackend) { } @@ -172,16 +173,23 @@ handleItem(DisplayList::ClipOut(rect)); } -void RemoteDisplayListRecorder::clipToImageBuffer(WebCore::RenderingResourceIdentifier imageBufferIdentifier, const WebCore::FloatRect& destinationRect) +void RemoteDisplayListRecorder::clipToImageBuffer(RenderingResourceIdentifier imageBufferIdentifier, const WebCore::FloatRect& destinationRect) { -RefPtr imageBuffer = resourceCache().cachedImageBuffer(imageBufferIdentifier); +// Immediately turn the RenderingResourceIdentifier (which is error-prone) to a QualifiedRenderingResourceIdentifier, +// and use a helper function to make sure that don't accidentally use the RenderingResourceIdentifier (because
[webkit-changes] [283964] trunk/Tools
Title: [283964] trunk/Tools Revision 283964 Author da...@apple.com Date 2021-10-11 19:57:31 -0700 (Mon, 11 Oct 2021) Log Message Slightly better idiom for ARC debug autorelease workaround https://bugs.webkit.org/show_bug.cgi?id=231435 Reviewed by David Kilzer. * TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm: (TestWebKitAPI::TEST): Use one macro instead of two, with traditional indentation instead of left flush style. * TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: (TestWebKitAPI::TEST): Ditto. Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm trunk/Tools/TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm Diff Modified: trunk/Tools/ChangeLog (283963 => 283964) --- trunk/Tools/ChangeLog 2021-10-12 02:48:32 UTC (rev 283963) +++ trunk/Tools/ChangeLog 2021-10-12 02:57:31 UTC (rev 283964) @@ -1,3 +1,16 @@ +2021-10-11 Darin Adler + +Slightly better idiom for ARC debug autorelease workaround +https://bugs.webkit.org/show_bug.cgi?id=231435 + +Reviewed by David Kilzer. + +* TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm: +(TestWebKitAPI::TEST): Use one macro instead of two, with +traditional indentation instead of left flush style. +* TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: +(TestWebKitAPI::TEST): Ditto. + 2021-10-11 Jonathan Bedard [build-imagediff] Build universal binaries by default Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm (283963 => 283964) --- trunk/Tools/TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm 2021-10-12 02:48:32 UTC (rev 283963) +++ trunk/Tools/TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm 2021-10-12 02:57:31 UTC (rev 283964) @@ -35,11 +35,9 @@ // Debug builds with ARC enabled cause objects to be autoreleased // when assigning adoptNS() result to a different RetainPtr<> type, // and when calling RetainPtr<>::get(). -#define BEGIN_AUTORELEASEPOOL_FOR_ARC_DEBUG @autoreleasepool { -#define END_AUTORELEASEPOOL_FOR_ARC_DEBUG } +#define AUTORELEASEPOOL_FOR_ARC_DEBUG @autoreleasepool #else -#define BEGIN_AUTORELEASEPOOL_FOR_ARC_DEBUG -#define END_AUTORELEASEPOOL_FOR_ARC_DEBUG +#define AUTORELEASEPOOL_FOR_ARC_DEBUG #endif @interface MyObjectSubtype : NSObject @@ -114,9 +112,9 @@ auto objectID = bridge_id_cast(WTFMove(objectCF)); uintptr_t objectIDPtr; -BEGIN_AUTORELEASEPOOL_FOR_ARC_DEBUG -objectIDPtr = reinterpret_cast(objectID.get()); -END_AUTORELEASEPOOL_FOR_ARC_DEBUG +AUTORELEASEPOOL_FOR_ARC_DEBUG { +objectIDPtr = reinterpret_cast(objectID.get()); +} EXPECT_EQ(NULL, objectCF.get()); EXPECT_EQ(objectCFPtr, objectIDPtr); EXPECT_EQ(1L, CFGetRetainCount((CFTypeRef)objectIDPtr)); @@ -130,12 +128,12 @@ @autoreleasepool { RetainPtr objectNS; uintptr_t objectNSPtr; -BEGIN_AUTORELEASEPOOL_FOR_ARC_DEBUG -objectNS = adoptNS([[NSString alloc] initWithFormat:@"%s", helloWorldCString]); -objectNSPtr = reinterpret_cast(objectNS.get()); -EXPECT_EQ(objectNS.get(), checked_objc_cast(objectNS.get())); -EXPECT_EQ(objectNS.get(), checked_objc_cast(objectNS.get())); -END_AUTORELEASEPOOL_FOR_ARC_DEBUG +AUTORELEASEPOOL_FOR_ARC_DEBUG { +objectNS = adoptNS([[NSString alloc] initWithFormat:@"%s", helloWorldCString]); +objectNSPtr = reinterpret_cast(objectNS.get()); +EXPECT_EQ(objectNS.get(), checked_objc_cast(objectNS.get())); +EXPECT_EQ(objectNS.get(), checked_objc_cast(objectNS.get())); +} EXPECT_EQ(1L, CFGetRetainCount((CFTypeRef)objectNSPtr)); } @@ -142,11 +140,11 @@ @autoreleasepool { RetainPtr objectNS; uintptr_t objectNSPtr; -BEGIN_AUTORELEASEPOOL_FOR_ARC_DEBUG -objectNS = adoptNS([[NSString alloc] initWithFormat:@"%s", helloWorldCString]); -objectNSPtr = reinterpret_cast(objectNS.get()); -EXPECT_EQ(objectNS.get(), checked_objc_cast(objectNS.get())); -END_AUTORELEASEPOOL_FOR_ARC_DEBUG +AUTORELEASEPOOL_FOR_ARC_DEBUG { +objectNS = adoptNS([[NSString alloc] initWithFormat:@"%s", helloWorldCString]); +objectNSPtr = reinterpret_cast(objectNS.get()); +EXPECT_EQ(objectNS.get(), checked_objc_cast(objectNS.get())); +} EXPECT_EQ(1L, CFGetRetainCount((CFTypeRef)objectNSPtr)); } @@ -153,11 +151,11 @@ @autoreleasepool { RetainPtr objectNS; uintptr_t objectNSPtr; -BEGIN_AUTORELEASEPOOL_FOR_ARC_DEBUG -objectNS = adoptNS([[NSString alloc] initWithFormat:@"%s", helloWorldCString]); -objectNSPtr = reinterpret_cast(objectNS.get()); -EXPECT_EQ(objectNS.get(), checked_objc_cast(objectNS.get())); -END_AUTORELEASEPOOL_FOR_ARC_DEBUG +AUTORELEASEPOOL_FOR_ARC_DEBUG { +objectNS = adoptNS([[NSString alloc] initWithFormat:@"%s", helloWorldCString]); +objectNSPtr =
[webkit-changes] [283963] trunk/Source/WebCore
Title: [283963] trunk/Source/WebCore Revision 283963 Author commit-qu...@webkit.org Date 2021-10-11 19:48:32 -0700 (Mon, 11 Oct 2021) Log Message Fix makeprop.pl to not treat "inherited: false" properties as inherited. https://bugs.webkit.org/show_bug.cgi?id=231533 Patch by Kiet Ho on 2021-10-11 Reviewed by Simon Fraser. makeprop.pl treats a property as inherited if the "inherited" option in CSSProperties.json is defined, regardless of whether the option value is true or false. Fix makeprop.pl to actually consider the option value. * css/makeprop.pl: (addProperty): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/makeprop.pl Diff Modified: trunk/Source/WebCore/ChangeLog (283962 => 283963) --- trunk/Source/WebCore/ChangeLog 2021-10-12 02:42:46 UTC (rev 283962) +++ trunk/Source/WebCore/ChangeLog 2021-10-12 02:48:32 UTC (rev 283963) @@ -1,3 +1,17 @@ +2021-10-11 Kiet Ho + +Fix makeprop.pl to not treat "inherited: false" properties as inherited. +https://bugs.webkit.org/show_bug.cgi?id=231533 + +Reviewed by Simon Fraser. + +makeprop.pl treats a property as inherited if the "inherited" option in +CSSProperties.json is defined, regardless of whether the option value is +true or false. Fix makeprop.pl to actually consider the option value. + +* css/makeprop.pl: +(addProperty): + 2021-10-11 Tim Horton Implement alternate style for text fields Modified: trunk/Source/WebCore/css/makeprop.pl (283962 => 283963) --- trunk/Source/WebCore/css/makeprop.pl 2021-10-12 02:42:46 UTC (rev 283962) +++ trunk/Source/WebCore/css/makeprop.pl 2021-10-12 02:48:32 UTC (rev 283963) @@ -343,9 +343,9 @@ } } } elsif ($optionName eq "animatable") { - $propertiesWithStyleBuilderOptions{$name}{"animatable"} = $optionsHashRef->{"animatable"}; +$propertiesWithStyleBuilderOptions{$name}{"animatable"} = $optionsHashRef->{"animatable"}; } elsif ($optionName eq "inherited") { -$nameIsInherited{$name} = 1; +$nameIsInherited{$name} = $optionsHashRef->{"inherited"}; } elsif ($optionName eq "values") { # FIXME: Implement. } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [283962] trunk/Source/WebCore
Title: [283962] trunk/Source/WebCore Revision 283962 Author timothy_hor...@apple.com Date 2021-10-11 19:42:46 -0700 (Mon, 11 Oct 2021) Log Message Implement alternate style for text fields https://bugs.webkit.org/show_bug.cgi?id=231536 Reviewed by Wenson Hsieh. * rendering/RenderTheme.h: (WebCore::RenderTheme::paintTextFieldDecorations): (WebCore::RenderTheme::paintTextAreaDecorations): (WebCore::RenderTheme::paintSearchFieldDecorations): Tighten up the types. * rendering/RenderThemeIOS.h: * rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::adjustTextFieldStyle const): Drop the border and clear the background, so that we can use our custom inner shadow painting instead. (WebCore::RenderThemeIOS::paintTextFieldInnerShadow): (WebCore::RenderThemeIOS::paintTextFieldDecorations): (WebCore::RenderThemeIOS::paintTextAreaDecorations): (WebCore::RenderThemeIOS::paintSearchFieldDecorations): Paint our custom inner shadow for text fields, when using the alternate appearance. * rendering/style/RenderStyle.h: (WebCore::RenderStyle::resetBorder): (WebCore::RenderStyle::resetBorderExceptRadius): Add a mechanism to reset all border properties except radius. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderTheme.h trunk/Source/WebCore/rendering/RenderThemeIOS.h trunk/Source/WebCore/rendering/RenderThemeIOS.mm trunk/Source/WebCore/rendering/style/RenderStyle.h Diff Modified: trunk/Source/WebCore/ChangeLog (283961 => 283962) --- trunk/Source/WebCore/ChangeLog 2021-10-12 02:11:57 UTC (rev 283961) +++ trunk/Source/WebCore/ChangeLog 2021-10-12 02:42:46 UTC (rev 283962) @@ -1,3 +1,33 @@ +2021-10-11 Tim Horton + +Implement alternate style for text fields +https://bugs.webkit.org/show_bug.cgi?id=231536 + +Reviewed by Wenson Hsieh. + +* rendering/RenderTheme.h: +(WebCore::RenderTheme::paintTextFieldDecorations): +(WebCore::RenderTheme::paintTextAreaDecorations): +(WebCore::RenderTheme::paintSearchFieldDecorations): +Tighten up the types. + +* rendering/RenderThemeIOS.h: +* rendering/RenderThemeIOS.mm: +(WebCore::RenderThemeIOS::adjustTextFieldStyle const): +Drop the border and clear the background, so that we can use our +custom inner shadow painting instead. + +(WebCore::RenderThemeIOS::paintTextFieldInnerShadow): +(WebCore::RenderThemeIOS::paintTextFieldDecorations): +(WebCore::RenderThemeIOS::paintTextAreaDecorations): +(WebCore::RenderThemeIOS::paintSearchFieldDecorations): +Paint our custom inner shadow for text fields, when using the alternate appearance. + +* rendering/style/RenderStyle.h: +(WebCore::RenderStyle::resetBorder): +(WebCore::RenderStyle::resetBorderExceptRadius): +Add a mechanism to reset all border properties except radius. + 2021-10-11 Wenson Hsieh Clean up some code in DisplayList::Recorder in preparation for bug #230860 Modified: trunk/Source/WebCore/rendering/RenderTheme.h (283961 => 283962) --- trunk/Source/WebCore/rendering/RenderTheme.h 2021-10-12 02:11:57 UTC (rev 283961) +++ trunk/Source/WebCore/rendering/RenderTheme.h 2021-10-12 02:42:46 UTC (rev 283962) @@ -323,11 +323,11 @@ virtual void adjustTextFieldStyle(RenderStyle&, const Element*) const; virtual bool paintTextField(const RenderObject&, const PaintInfo&, const FloatRect&) { return true; } -virtual void paintTextFieldDecorations(const RenderObject&, const PaintInfo&, const FloatRect&) { } +virtual void paintTextFieldDecorations(const RenderBox&, const PaintInfo&, const FloatRect&) { } virtual void adjustTextAreaStyle(RenderStyle&, const Element*) const; virtual bool paintTextArea(const RenderObject&, const PaintInfo&, const FloatRect&) { return true; } -virtual void paintTextAreaDecorations(const RenderObject&, const PaintInfo&, const FloatRect&) { } +virtual void paintTextAreaDecorations(const RenderBox&, const PaintInfo&, const FloatRect&) { } virtual void adjustMenuListStyle(RenderStyle&, const Element*) const; virtual bool paintMenuList(const RenderObject&, const PaintInfo&, const FloatRect&) { return true; } @@ -371,7 +371,7 @@ virtual void adjustSearchFieldStyle(RenderStyle&, const Element*) const; virtual bool paintSearchField(const RenderObject&, const PaintInfo&, const IntRect&) { return true; } -virtual void paintSearchFieldDecorations(const RenderObject&, const PaintInfo&, const IntRect&) { } +virtual void paintSearchFieldDecorations(const RenderBox&, const PaintInfo&, const IntRect&) { } virtual void adjustSearchFieldCancelButtonStyle(RenderStyle&, const Element*) const; virtual bool paintSearchFieldCancelButton(const RenderBox&, const PaintInfo&, const IntRect&) { return true; } Modified: trunk/Source/WebCore/rendering/RenderThemeIOS.h (283961 => 283962) ---
[webkit-changes] [283961] tags/Safari-612.2.9.1.10/
Title: [283961] tags/Safari-612.2.9.1.10/ Revision 283961 Author kocsen_ch...@apple.com Date 2021-10-11 19:11:57 -0700 (Mon, 11 Oct 2021) Log Message Tag Safari-612.2.9.1.10. Added Paths tags/Safari-612.2.9.1.10/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [283960] tags/Safari-612.2.9.0.10/
Title: [283960] tags/Safari-612.2.9.0.10/ Revision 283960 Author kocsen_ch...@apple.com Date 2021-10-11 18:46:05 -0700 (Mon, 11 Oct 2021) Log Message Tag Safari-612.2.9.0.10. Added Paths tags/Safari-612.2.9.0.10/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [283959] trunk/Source/WebKit
Title: [283959] trunk/Source/WebKit Revision 283959 Author mmaxfi...@apple.com Date 2021-10-11 18:40:53 -0700 (Mon, 11 Oct 2021) Log Message Revert 242806@main because it broke the build https://bugs.webkit.org/show_bug.cgi?id=231546 Unreviewed. * GPUProcess/graphics/RemoteGraphicsContextGL.cpp: (WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer): * GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::RemoteRenderingBackend): (WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::ReplayerDelegate::ReplayerDelegate): (WebKit::RemoteRenderingBackend::ReplayerDelegate::recordResourceUse): (WebKit::RemoteRenderingBackend::submit): (WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists): (WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayListWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::getDataURLForImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::getDataForImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::finalizeRenderingUpdate): * GPUProcess/graphics/RemoteRenderingBackend.h: * GPUProcess/graphics/RemoteResourceCache.cpp: (WebKit::RemoteResourceCache::RemoteResourceCache): (WebKit::RemoteResourceCache::cacheImageBuffer): (WebKit::RemoteResourceCache::cachedImageBuffer const): (WebKit::RemoteResourceCache::cacheNativeImage): (WebKit::RemoteResourceCache::cachedNativeImage const): (WebKit::RemoteResourceCache::cacheFont): (WebKit::RemoteResourceCache::cachedFont const): (WebKit::RemoteResourceCache::ensureResourceUseCounter): (WebKit::RemoteResourceCache::maybeRemoveResource): (WebKit::RemoteResourceCache::recordResourceUse): (WebKit::RemoteResourceCache::releaseRemoteResource): * GPUProcess/graphics/RemoteResourceCache.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h trunk/Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h Diff Modified: trunk/Source/WebKit/ChangeLog (283958 => 283959) --- trunk/Source/WebKit/ChangeLog 2021-10-12 00:57:30 UTC (rev 283958) +++ trunk/Source/WebKit/ChangeLog 2021-10-12 01:40:53 UTC (rev 283959) @@ -1,3 +1,42 @@ +2021-10-11 Myles C. Maxfield + +Revert 242806@main because it broke the build +https://bugs.webkit.org/show_bug.cgi?id=231546 + +Unreviewed. + +* GPUProcess/graphics/RemoteGraphicsContextGL.cpp: +(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer): +* GPUProcess/graphics/RemoteRenderingBackend.cpp: +(WebKit::RemoteRenderingBackend::RemoteRenderingBackend): +(WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier): +(WebKit::RemoteRenderingBackend::ReplayerDelegate::ReplayerDelegate): +(WebKit::RemoteRenderingBackend::ReplayerDelegate::recordResourceUse): +(WebKit::RemoteRenderingBackend::submit): +(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists): +(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayListWithQualifiedIdentifier): +(WebKit::RemoteRenderingBackend::getDataURLForImageBufferWithQualifiedIdentifier): +(WebKit::RemoteRenderingBackend::getDataForImageBufferWithQualifiedIdentifier): +(WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier): +(WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier): +(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier): +(WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier): +(WebKit::RemoteRenderingBackend::finalizeRenderingUpdate): +* GPUProcess/graphics/RemoteRenderingBackend.h: +* GPUProcess/graphics/RemoteResourceCache.cpp: +(WebKit::RemoteResourceCache::RemoteResourceCache): +(WebKit::RemoteResourceCache::cacheImageBuffer): +(WebKit::RemoteResourceCache::cachedImageBuffer const): +(WebKit::RemoteResourceCache::cacheNativeImage): +(WebKit::RemoteResourceCache::cachedNativeImage const): +(WebKit::RemoteResourceCache::cacheFont): +(WebKit::RemoteResourceCache::cachedFont const): +(WebKit::RemoteResourceCache::ensureResourceUseCounter): +(WebKit::RemoteResourceCache::maybeRemoveResource): +(WebKit::RemoteResourceCache::recordResourceUse): +
[webkit-changes] [283958] branches/safari-612.2.9.0.7-branch/
Title: [283958] branches/safari-612.2.9.0.7-branch/ Revision 283958 Author repst...@apple.com Date 2021-10-11 17:57:30 -0700 (Mon, 11 Oct 2021) Log Message New branch. Added Paths branches/safari-612.2.9.0.7-branch/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [283957] trunk/Source
Title: [283957] trunk/Source Revision 283957 Author wenson_hs...@apple.com Date 2021-10-11 17:55:23 -0700 (Mon, 11 Oct 2021) Log Message Clean up some code in DisplayList::Recorder in preparation for bug #230860 https://bugs.webkit.org/show_bug.cgi?id=231532 Reviewed by Myles C. Maxfield. Source/WebCore: See below for more details. * platform/graphics/Path.h: Add WEBCORE_EXPORT here. When building debug WebKit2, `logMessageImpl` contains logic to dump IPC arguments using WTF::TextStream; since a few of these new stream messages contain WebCore::Path objects, this will generate calls to `TextStream& operator<<(TextStream&, const Path&)` in WebKit2, which requires this function to be exported. * platform/graphics/displaylists/DisplayListRecorder.h: * platform/graphics/displaylists/DisplayListRecorderImpl.cpp: (WebCore::DisplayList::RecorderImpl::recordGetPixelBuffer): Deleted. (WebCore::DisplayList::RecorderImpl::recordPutPixelBuffer): Deleted. Remove a couple of unnecessary virtual override hooks in the base DisplayList::Recorder class. The existing virtual `getPixelBuffer` and `putPixelBuffer` methods are already suffificient. * platform/graphics/displaylists/DisplayListRecorderImpl.h: Source/WebKit: * WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp: (WebKit::RemoteDisplayListRecorderProxy::recordGetPixelBuffer): Deleted. (WebKit::RemoteDisplayListRecorderProxy::recordPutPixelBuffer): Deleted. See WebCore ChangeLog for more details. * WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/Path.h trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h Diff Modified: trunk/Source/WebCore/ChangeLog (283956 => 283957) --- trunk/Source/WebCore/ChangeLog 2021-10-12 00:53:00 UTC (rev 283956) +++ trunk/Source/WebCore/ChangeLog 2021-10-12 00:55:23 UTC (rev 283957) @@ -1,3 +1,29 @@ +2021-10-11 Wenson Hsieh + +Clean up some code in DisplayList::Recorder in preparation for bug #230860 +https://bugs.webkit.org/show_bug.cgi?id=231532 + +Reviewed by Myles C. Maxfield. + +See below for more details. + +* platform/graphics/Path.h: + +Add WEBCORE_EXPORT here. When building debug WebKit2, `logMessageImpl` contains logic to dump IPC arguments +using WTF::TextStream; since a few of these new stream messages contain WebCore::Path objects, this will +generate calls to `TextStream& operator<<(TextStream&, const Path&)` in WebKit2, which requires this function to +be exported. + +* platform/graphics/displaylists/DisplayListRecorder.h: +* platform/graphics/displaylists/DisplayListRecorderImpl.cpp: +(WebCore::DisplayList::RecorderImpl::recordGetPixelBuffer): Deleted. +(WebCore::DisplayList::RecorderImpl::recordPutPixelBuffer): Deleted. + +Remove a couple of unnecessary virtual override hooks in the base DisplayList::Recorder class. The existing +virtual `getPixelBuffer` and `putPixelBuffer` methods are already suffificient. + +* platform/graphics/displaylists/DisplayListRecorderImpl.h: + 2021-10-11 Chris Dumez [COOP] Crash under ReportingEndpointsCache::addEndpointFromDictionary() Modified: trunk/Source/WebCore/platform/graphics/Path.h (283956 => 283957) --- trunk/Source/WebCore/platform/graphics/Path.h 2021-10-12 00:53:00 UTC (rev 283956) +++ trunk/Source/WebCore/platform/graphics/Path.h 2021-10-12 00:55:23 UTC (rev 283957) @@ -295,7 +295,7 @@ #endif }; -WTF::TextStream& operator<<(WTF::TextStream&, const Path&); +WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, const Path&); template void Path::encode(Encoder& encoder) const { Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h (283956 => 283957) --- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h 2021-10-12 00:53:00 UTC (rev 283956) +++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h 2021-10-12 00:55:23 UTC (rev 283957) @@ -116,8 +116,6 @@ #endif virtual void recordFillPath(const Path&) = 0; virtual void recordFillEllipse(const FloatRect&) = 0; -virtual void recordGetPixelBuffer(PixelBufferFormat outputFormat, const IntRect&) = 0; -virtual void recordPutPixelBuffer(const PixelBuffer&, const IntRect& srcRect, const IntPoint& destPoint, AlphaPremultiplication) = 0; virtual void recordPaintFrameForMedia(MediaPlayer&, const FloatRect& destination) = 0; virtual void recordStrokeRect(const FloatRect&, float) = 0; #if
[webkit-changes] [283956] branches/safari-612.2.9.1.7-branch/
Title: [283956] branches/safari-612.2.9.1.7-branch/ Revision 283956 Author repst...@apple.com Date 2021-10-11 17:53:00 -0700 (Mon, 11 Oct 2021) Log Message New branch. Added Paths branches/safari-612.2.9.1.7-branch/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [283955] trunk/Source/WebKit
Title: [283955] trunk/Source/WebKit Revision 283955 Author mmaxfi...@apple.com Date 2021-10-11 17:48:22 -0700 (Mon, 11 Oct 2021) Log Message [GPU Process] Unique RenderingResourceIdentifiers Part 5: Migrate RemoteResourceCache to QualifiedRenderingResourceIdentifier https://bugs.webkit.org/show_bug.cgi?id=231407 Reviewed by Said Abou-Hallawa. This pushes QualifiedRenderingResourceIdentifier down into RemoteResourceCache, but doesn't go all the way. This patch augments RemoteResourceCache's API to accept QualifiedRenderingResourceIdentifiers, and also migrates RemoteResourceCache::m_resourceUseCounters to use QualifiedRenderingResourceIdentifiers. RemoteResourceCache::m_imageBuffers, RemoteResourceCache::m_nativeImages, and RemoteResourceCache::m_fonts are WebCore typedefs, and are passed to WebCore's display list replaying code, but that code should have no notion of process identifiers. Therefore, in order to make those members hold data that WebCore doesn't understand, I'm going to have to wrap an opaque class around them and pass that class around instead of the raw HashMaps. I'll do that in another patch. No new tests because there is no behavior change. * GPUProcess/graphics/RemoteGraphicsContextGL.cpp: (WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer): * GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::RemoteRenderingBackend): (WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::ReplayerDelegate::ReplayerDelegate): (WebKit::RemoteRenderingBackend::ReplayerDelegate::recordResourceUse): (WebKit::RemoteRenderingBackend::submit): (WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists): (WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayListWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::getDataURLForImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::getDataForImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier): (WebKit::RemoteRenderingBackend::finalizeRenderingUpdate): * GPUProcess/graphics/RemoteRenderingBackend.h: * GPUProcess/graphics/RemoteResourceCache.cpp: (WebKit::RemoteResourceCache::RemoteResourceCache): (WebKit::RemoteResourceCache::cacheImageBuffer): (WebKit::RemoteResourceCache::cachedImageBuffer const): (WebKit::RemoteResourceCache::cacheNativeImage): (WebKit::RemoteResourceCache::cachedNativeImage const): (WebKit::RemoteResourceCache::cacheFont): (WebKit::RemoteResourceCache::cachedFont const): (WebKit::RemoteResourceCache::ensureResourceUseCounter): (WebKit::RemoteResourceCache::maybeRemoveResource): (WebKit::RemoteResourceCache::recordResourceUse): (WebKit::RemoteResourceCache::releaseRemoteResource): * GPUProcess/graphics/RemoteResourceCache.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h trunk/Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h Diff Modified: trunk/Source/WebKit/ChangeLog (283954 => 283955) --- trunk/Source/WebKit/ChangeLog 2021-10-12 00:33:18 UTC (rev 283954) +++ trunk/Source/WebKit/ChangeLog 2021-10-12 00:48:22 UTC (rev 283955) @@ -1,3 +1,55 @@ +2021-10-11 Myles C. Maxfield + +[GPU Process] Unique RenderingResourceIdentifiers Part 5: Migrate RemoteResourceCache to QualifiedRenderingResourceIdentifier +https://bugs.webkit.org/show_bug.cgi?id=231407 + + +Reviewed by Said Abou-Hallawa. + +This pushes QualifiedRenderingResourceIdentifier down into RemoteResourceCache, but doesn't go all the way. +This patch augments RemoteResourceCache's API to accept QualifiedRenderingResourceIdentifiers, and also +migrates RemoteResourceCache::m_resourceUseCounters to use QualifiedRenderingResourceIdentifiers. + +RemoteResourceCache::m_imageBuffers, RemoteResourceCache::m_nativeImages, and RemoteResourceCache::m_fonts +are WebCore typedefs, and are passed to WebCore's display list replaying code, but that code should have no +notion of process identifiers. Therefore, in order to make those members hold data that WebCore doesn't +understand, I'm going to have to wrap an opaque class around them and pass that class around instead of +the raw HashMaps. I'll do that in another patch. + +No new tests because there is no behavior change. + +* GPUProcess/graphics/RemoteGraphicsContextGL.cpp: +
[webkit-changes] [283954] trunk/Source/JavaScriptCore
Title: [283954] trunk/Source/_javascript_Core Revision 283954 Author sbar...@apple.com Date 2021-10-11 17:33:18 -0700 (Mon, 11 Oct 2021) Log Message Share more code that uses ScratchRegisterAllocator in the ICs https://bugs.webkit.org/show_bug.cgi?id=231125 Reviewed by Sam Weinig. We had the same code to allocate a scratch register allocator copy pasted all over the IC code. This patch refactors that to use a shared helper. Also, Delete was using a ScratchRegisterAllocator for no reason (it never allocated a scratch register), so I deleted that code. * bytecode/AccessCase.cpp: (JSC::AccessCase::generateWithGuard): (JSC::AccessCase::generateImpl): * bytecode/GetterSetterAccessCase.cpp: (JSC::GetterSetterAccessCase::emitDOMJITGetter): * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::makeDefaultScratchAllocator): (JSC::PolymorphicAccess::regenerate): * bytecode/PolymorphicAccess.h: * jit/IntrinsicEmitter.cpp: (JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/bytecode/AccessCase.cpp trunk/Source/_javascript_Core/bytecode/GetterSetterAccessCase.cpp trunk/Source/_javascript_Core/bytecode/PolymorphicAccess.cpp trunk/Source/_javascript_Core/bytecode/PolymorphicAccess.h trunk/Source/_javascript_Core/jit/IntrinsicEmitter.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (283953 => 283954) --- trunk/Source/_javascript_Core/ChangeLog 2021-10-12 00:09:14 UTC (rev 283953) +++ trunk/Source/_javascript_Core/ChangeLog 2021-10-12 00:33:18 UTC (rev 283954) @@ -1,5 +1,31 @@ 2021-10-11 Saam Barati +Share more code that uses ScratchRegisterAllocator in the ICs +https://bugs.webkit.org/show_bug.cgi?id=231125 + + +Reviewed by Sam Weinig. + +We had the same code to allocate a scratch register allocator copy pasted +all over the IC code. This patch refactors that to use a shared helper. + +Also, Delete was using a ScratchRegisterAllocator for no reason (it never +allocated a scratch register), so I deleted that code. + +* bytecode/AccessCase.cpp: +(JSC::AccessCase::generateWithGuard): +(JSC::AccessCase::generateImpl): +* bytecode/GetterSetterAccessCase.cpp: +(JSC::GetterSetterAccessCase::emitDOMJITGetter): +* bytecode/PolymorphicAccess.cpp: +(JSC::AccessGenerationState::makeDefaultScratchAllocator): +(JSC::PolymorphicAccess::regenerate): +* bytecode/PolymorphicAccess.h: +* jit/IntrinsicEmitter.cpp: +(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter): + +2021-10-11 Saam Barati + Don't branch around register allocation in DFG enumerator get by val and pass in the right LValue type to strictInt52ToJSValue https://bugs.webkit.org/show_bug.cgi?id=231465 Modified: trunk/Source/_javascript_Core/bytecode/AccessCase.cpp (283953 => 283954) --- trunk/Source/_javascript_Core/bytecode/AccessCase.cpp 2021-10-12 00:09:14 UTC (rev 283953) +++ trunk/Source/_javascript_Core/bytecode/AccessCase.cpp 2021-10-12 00:33:18 UTC (rev 283954) @@ -1098,14 +1098,7 @@ jit.load8(CCallHelpers::Address(baseGPR, JSCell::typeInfoTypeOffset()), scratchGPR); fallThrough.append(jit.branch32(CCallHelpers::NotEqual, scratchGPR, CCallHelpers::TrustedImm32(ScopedArgumentsType))); -ScratchRegisterAllocator allocator(stubInfo.usedRegisters); -allocator.lock(stubInfo.baseRegs()); -allocator.lock(valueRegs); -allocator.lock(stubInfo.propertyRegs()); -if (stubInfo.m_stubInfoGPR != InvalidGPRReg) -allocator.lock(stubInfo.m_stubInfoGPR); -ASSERT(stubInfo.m_arrayProfileGPR == InvalidGPRReg); -allocator.lock(scratchGPR); +auto allocator = state.makeDefaultScratchAllocator(scratchGPR); GPRReg scratch2GPR = allocator.allocateScratchGPR(); GPRReg scratch3GPR = allocator.allocateScratchGPR(); @@ -1198,14 +1191,7 @@ jit.load32(CCallHelpers::Address(baseGPR, JSArrayBufferView::offsetOfLength()), scratchGPR); state.failAndRepatch.append(jit.branch32(CCallHelpers::AboveOrEqual, propertyGPR, scratchGPR)); -ScratchRegisterAllocator allocator(stubInfo.usedRegisters); -allocator.lock(stubInfo.baseRegs()); -allocator.lock(valueRegs); -allocator.lock(stubInfo.propertyRegs()); -if (stubInfo.m_stubInfoGPR != InvalidGPRReg) -allocator.lock(stubInfo.m_stubInfoGPR); -ASSERT(stubInfo.m_arrayProfileGPR == InvalidGPRReg); -allocator.lock(scratchGPR); +auto allocator = state.makeDefaultScratchAllocator(scratchGPR); GPRReg scratch2GPR = allocator.allocateScratchGPR(); ScratchRegisterAllocator::PreservedState preservedState = allocator.preserveReusedRegistersByPushing( @@ -1284,14 +1270,7 @@
[webkit-changes] [283953] branches/safari-612.2.9.1-branch/Source
Title: [283953] branches/safari-612.2.9.1-branch/Source Revision 283953 Author repst...@apple.com Date 2021-10-11 17:09:14 -0700 (Mon, 11 Oct 2021) Log Message Versioning. WebKit-7612.2.9.1.10 Modified Paths branches/safari-612.2.9.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-612.2.9.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig branches/safari-612.2.9.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig branches/safari-612.2.9.1-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-612.2.9.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig branches/safari-612.2.9.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-612.2.9.1-branch/Source/WebKit/Configurations/Version.xcconfig branches/safari-612.2.9.1-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: branches/safari-612.2.9.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig (283952 => 283953) --- branches/safari-612.2.9.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2021-10-12 00:05:35 UTC (rev 283952) +++ branches/safari-612.2.9.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2021-10-12 00:09:14 UTC (rev 283953) @@ -25,7 +25,7 @@ MINOR_VERSION = 2; TINY_VERSION = 9; MICRO_VERSION = 1; -NANO_VERSION = 7; +NANO_VERSION = 10; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: branches/safari-612.2.9.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (283952 => 283953) --- branches/safari-612.2.9.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2021-10-12 00:05:35 UTC (rev 283952) +++ branches/safari-612.2.9.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2021-10-12 00:09:14 UTC (rev 283953) @@ -25,7 +25,7 @@ MINOR_VERSION = 2; TINY_VERSION = 9; MICRO_VERSION = 1; -NANO_VERSION = 7; +NANO_VERSION = 10; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: branches/safari-612.2.9.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (283952 => 283953) --- branches/safari-612.2.9.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2021-10-12 00:05:35 UTC (rev 283952) +++ branches/safari-612.2.9.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2021-10-12 00:09:14 UTC (rev 283953) @@ -25,7 +25,7 @@ MINOR_VERSION = 2; TINY_VERSION = 9; MICRO_VERSION = 1; -NANO_VERSION = 7; +NANO_VERSION = 10; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: branches/safari-612.2.9.1-branch/Source/WebCore/Configurations/Version.xcconfig (283952 => 283953) --- branches/safari-612.2.9.1-branch/Source/WebCore/Configurations/Version.xcconfig 2021-10-12 00:05:35 UTC (rev 283952) +++ branches/safari-612.2.9.1-branch/Source/WebCore/Configurations/Version.xcconfig 2021-10-12 00:09:14 UTC (rev 283953) @@ -25,7 +25,7 @@ MINOR_VERSION = 2; TINY_VERSION = 9; MICRO_VERSION = 1; -NANO_VERSION = 7; +NANO_VERSION = 10; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: branches/safari-612.2.9.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (283952 => 283953) --- branches/safari-612.2.9.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2021-10-12 00:05:35 UTC (rev 283952) +++ branches/safari-612.2.9.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2021-10-12 00:09:14 UTC (rev 283953) @@ -25,7 +25,7 @@ MINOR_VERSION = 2; TINY_VERSION = 9; MICRO_VERSION = 1; -NANO_VERSION = 7; +NANO_VERSION = 10; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. Modified: branches/safari-612.2.9.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (283952 => 283953) --- branches/safari-612.2.9.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2021-10-12 00:05:35 UTC (rev 283952) +++ branches/safari-612.2.9.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2021-10-12 00:09:14 UTC (rev 283953) @@ -2,7 +2,7 @@ MINOR_VERSION = 2; TINY_VERSION = 9; MICRO_VERSION = 1; -NANO_VERSION = 7; +NANO_VERSION = 10; FULL_VERSION =
[webkit-changes] [283952] trunk
Title: [283952] trunk Revision 283952 Author cdu...@apple.com Date 2021-10-11 17:05:35 -0700 (Mon, 11 Oct 2021) Log Message [COOP] Crash under ReportingEndpointsCache::addEndpointFromDictionary() https://bugs.webkit.org/show_bug.cgi?id=231537 Reviewed by Geoffrey Garen. Source/WebCore: Make sure we don't crash under addEndpointFromDictionary() when the Report-To HTTP header contains more than one endpoint URL for a given group. The loop inside addEndpointFromDictionary() should bail as soon as we find a viable endpoint URL (since we don't currently support having several URLs for a given group). The crash was due to a use-after-move of the |group|. Test: http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html * loader/ReportingEndpointsCache.cpp: (WebCore::ReportingEndpointsCache::addEndpointFromDictionary): LayoutTests: Add layout test coverage. * http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints-expected.txt: Added. * http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html: Added. * http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html.headers: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/ReportingEndpointsCache.cpp Added Paths trunk/LayoutTests/http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints-expected.txt trunk/LayoutTests/http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html trunk/LayoutTests/http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html.headers Diff Modified: trunk/LayoutTests/ChangeLog (283951 => 283952) --- trunk/LayoutTests/ChangeLog 2021-10-11 23:53:30 UTC (rev 283951) +++ trunk/LayoutTests/ChangeLog 2021-10-12 00:05:35 UTC (rev 283952) @@ -1,3 +1,17 @@ +2021-10-11 Chris Dumez + +[COOP] Crash under ReportingEndpointsCache::addEndpointFromDictionary() +https://bugs.webkit.org/show_bug.cgi?id=231537 + + +Reviewed by Geoffrey Garen. + +Add layout test coverage. + +* http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints-expected.txt: Added. +* http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html: Added. +* http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html.headers: Added. + 2021-10-11 Ayumi Kojima [ iOS 15 ] imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html is flaky timing out. Added: trunk/LayoutTests/http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints-expected.txt (0 => 283952) --- trunk/LayoutTests/http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints-expected.txt (rev 0) +++ trunk/LayoutTests/http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints-expected.txt 2021-10-12 00:05:35 UTC (rev 283952) @@ -0,0 +1,5 @@ +This test passes if it doesn't crash + + +PASS report-to-multiple-endpoints + Added: trunk/LayoutTests/http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html (0 => 283952) --- trunk/LayoutTests/http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html (rev 0) +++ trunk/LayoutTests/http/wpt/cross-origin-opener-policy/report-to-multiple-endpoints.html 2021-10-12 00:05:35 UTC (rev 283952) @@ -0,0 +1,8 @@ +This test passes if it doesn't crash +