⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Mar 12, 2022:

11:23 PM Changeset in webkit [291216] by Jean-Yves Avenard
  • 8 edits
    7 adds in trunk

Safari produces scrambled output for some webm videos with vp8 codec.
https://bugs.webkit.org/show_bug.cgi?id=236754
Source/ThirdParty/libwebrtc:

rdar://80869041

Reviewed by Eric Carlson.

  • Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:

(webrtc::WebKitDecoderReceiver::decoderFailed): Tell CoreMedia if a frame
was silently dropped by the decoder.

Source/WebCore:

rdar://80869041

Reviewed by Eric Carlson.

The MediaFormatReader plugin and the MSE SourceBufferPrivate are using
a SampleMap to store all the media samples timing information: one sorted
by DTS order and the other in PTS order.
Those SampleMap use the sample's presentation time as unique key.
The VP8 codec can define hidden samples that are to be fed to the decoder
but will not decode into an actual image. Those samples are typically
packed together in the webm container in two or more consecutive blocks
with the same presentation time (similar behaviour can also be found in
webm where multiple frames may be stored with the same presentation
time).
When stored in the SampleMap, only the latest sample added would be kept
after overwriting the previous one with the same time.
To get around this issue, we pack all samples with the same presentation
time in a single MediaSamplesBlock so that they can be stored together in
the map without any losses.
Upon decoding, all those sub-samples will be retrieved and fed to the
decoder.

The CoreMedia MediaFormatReader backend however has a bug where it will
enter in an infinite if we return successive frames with the same
timestamp which will cause memory exhaustion and a crash.
To get around this, we make the grouped samples appear as discrete,
making each hidden sample have a duration of 1us followed by the
visible frames (which will see its duration shorten by 1us).

Tests: media/media-source/media-source-vp8-hiddenframes.html

media/media-vp8-hiddenframes.html

New tests had to be disabled due to bug 236755. We currently have no
way to guarantee which frame is currently displayed after either a seek
operation or reaching the end of playback.

  • platform/MediaSample.h:

(WebCore::MediaSamplesBlock::append):
(WebCore::MediaSamplesBlock::clear):

  • platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::WebMParser::parse):
(WebCore::WebMParser::OnFrame):
(WebCore::WebMParser::flushPendingVideoSamples):
(WebCore::WebMParser::VideoTrackData::resetCompletedFramesState):
(WebCore::WebMParser::VideoTrackData::consumeFrameData):
(WebCore::WebMParser::VideoTrackData::processPendingMediaSamples):
(WebCore::WebMParser::VideoTrackData::flushPendingSamples):
(WebCore::WebMParser::AudioTrackData::consumeFrameData):

  • platform/graphics/cocoa/SourceBufferParserWebM.h:

(WebCore::WebMParser::TrackData::consumeFrameData):
(WebCore::WebMParser::TrackData::resetCompletedFramesState):
(WebCore::WebMParser::TrackData::drainPendingSamples):

LayoutTests:

Reviewed by Eric Carlson.

VP8 files were generated such that alternative reference frames were used:
$ fmpeg -i dragon.webm -c:v libvpx -vf scale=320:-1 -auto-alt-ref 1 -arnr-maxframes 5 -arnr-strength 3 -pass 1 test-vp8-hiddenframes.webm
$ fmpeg -i dragon.webm -c:v libvpx -vf scale=320:-1 -auto-alt-ref 1 -arnr-maxframes 5 -arnr-strength 3 -pass 2 test-vp8-hiddenframes.webm

The command used to extract the last frame in png format was:
$ ffmpeg -sseof -3 -i test-vp8-hiddenframes.webm -pred mixed -pix_fmt rgb24 -sws_flags +accurate_rnd+full_chroma_int -update 1 -q:v 1 test-vp8-hiddenframes.png

  • TestExpectations:
  • media/content/test-vp8-hiddenframes.png: Added.
  • media/content/test-vp8-hiddenframes.webm: Added.
  • media/media-source/media-source-vp8-hiddenframes-expected.html: Added.
  • media/media-source/media-source-vp8-hiddenframes.html: Added.
  • media/media-vp8-hiddenframes-expected.html: Added.
  • media/media-vp8-hiddenframes.html: Added.
  • media/utilities.js: Added.

(once):
(fetchWithXHR):
(loadSegment):

8:55 PM Changeset in webkit [291215] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[IFC][Integration] Add InlineIterator::Line::selectionPhysicalRect
https://bugs.webkit.org/show_bug.cgi?id=237796

Reviewed by Antti Koivisto.

Introduce selectionPhysicalRect() so that the clients don't need to convert/flip the logical coords and
also rename selectionRect() to selectionLogicalRect() to clear up any ambiguity.

  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::absoluteSelectionBoundsForLine const):

  • layout/integration/InlineIteratorLine.h:

(WebCore::InlineIterator::Line::selectionLogicalRect const):
(WebCore::InlineIterator::Line::selectionPhysicalRect const):
(WebCore::InlineIterator::Line::selectionRect const): Deleted.

  • rendering/CaretRectComputation.cpp:

(WebCore::computeCaretRectForLinePosition):

8:54 PM Changeset in webkit [291214] by Simon Fraser
  • 3 edits in trunk/Source/WebKit

In RemoteLayerBackingStore, group makeFrontBufferNonVolatile() and swapToValidFrontBuffer() into a single function
https://bugs.webkit.org/show_bug.cgi?id=237806

Reviewed by Tim Horton.

As a step towards reducing the number of sync IPC calls when displaying layers, refactor
code in RemoteLayerBackingStore so that we can do the makeFrontBufferNonVolatile()
and swapToValidFrontBuffer() in a single function. Its return value indicates whether
we need to do any display, or a full display.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::operator<<):
(WebKit::RemoteLayerBackingStore::prepareToDisplay):
(WebKit::RemoteLayerBackingStore::prepareBuffers):
(WebKit::RemoteLayerBackingStore::paintContents): Fix an assertion that fired for WebGL.
(WebKit::RemoteLayerBackingStore::swapBuffers): Deleted.

7:01 PM Changeset in webkit [291213] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WTF

Fail the build if Internal or Experimental web preferences are missing human readable names
https://bugs.webkit.org/show_bug.cgi?id=237813

Reviewed by Alex Christensen.

  • Scripts/GeneratePreferences.rb:

Ensure that all preferences that expose human readable strings to the
API client actually have such a name.

  • Scripts/Preferences/WebPreferencesInternal.yaml:

Add one missing human readable preference name.

3:29 PM Changeset in webkit [291212] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r291209.
https://bugs.webkit.org/show_bug.cgi?id=237811

Re-land 290754 due to mis-blaming

Reverted changeset:

"Unreviewed, reverting r290754."
https://bugs.webkit.org/show_bug.cgi?id=237808
https://commits.webkit.org/r291209

3:15 PM Changeset in webkit [291211] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[IFC][Integration] Replace generic InlineIterator::Line::legacyRootInlineBox() with 2 dedicated functions
https://bugs.webkit.org/show_bug.cgi?id=237807

Reviewed by Antti Koivisto.

  • layout/integration/InlineIteratorLine.h:

(WebCore::InlineIterator::Line::containingFragment const):
(WebCore::InlineIterator::Line::isFirstAfterPageBreak const):
(WebCore::InlineIterator::Line::legacyRootInlineBox const): Deleted.

  • layout/integration/InlineIteratorLineLegacyPath.h:

(WebCore::InlineIterator::LineIteratorLegacyPath::containingFragment const):
(WebCore::InlineIterator::LineIteratorLegacyPath::isFirstAfterPageBreak const):
(WebCore::InlineIterator::LineIteratorLegacyPath::legacyRootInlineBox const): Deleted.

  • layout/integration/InlineIteratorLineModernPath.h:

(WebCore::InlineIterator::LineIteratorModernPath::containingFragment const):
(WebCore::InlineIterator::LineIteratorModernPath::isFirstAfterPageBreak const):
(WebCore::InlineIterator::LineIteratorModernPath::legacyRootInlineBox const): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):

  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::collectSelectionGeometries):

3:12 PM Changeset in webkit [291210] by timothy_horton@apple.com
  • 44 edits in trunk

Adopt FALLBACK_PLATFORM_NAME in place of FALLBACK_PLATFORM
https://bugs.webkit.org/show_bug.cgi?id=237809

Reviewed by Per Arne Vollan.

PerformanceTests:

  • MediaTime/Configurations/SDKVariant.xcconfig:

Source/bmalloc:

  • Configurations/SDKVariant.xcconfig:

Source/JavaScriptCore:

  • Configurations/SDKVariant.xcconfig:

Source/ThirdParty:

  • gtest/xcode/Config/SDKVariant.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/SDKVariant.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/SDKVariant.xcconfig:

Source/WebCore:

  • Configurations/SDKVariant.xcconfig:

Source/WebCore/PAL:

  • Configurations/SDKVariant.xcconfig:

Source/WebGPU:

  • Configurations/SDKVariant.xcconfig:

Source/WebInspectorUI:

  • Configurations/SDKVariant.xcconfig:

Source/WebKit:

  • Configurations/SDKVariant.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/SDKVariant.xcconfig:

Source/WTF:

  • Configurations/SDKVariant.xcconfig:

Tools:

  • ContentExtensionTester/Configurations/SDKVariant.xcconfig:
  • DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
  • ImageDiff/cg/Configurations/SDKVariant.xcconfig:
  • MiniBrowser/Configurations/SDKVariant.xcconfig:
  • MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
  • TestWebKitAPI/Configurations/SDKVariant.xcconfig:
  • WebEditingTester/Configurations/SDKVariant.xcconfig:
  • WebKitTestRunner/Configurations/SDKVariant.xcconfig:
  • lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:
12:53 PM Changeset in webkit [291209] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r290754.
https://bugs.webkit.org/show_bug.cgi?id=237808

Introduced launch regression

Reverted changeset:

"[iOS] Seatbelt sandbox profile entitlement is deprecated"
https://bugs.webkit.org/show_bug.cgi?id=237374
https://commits.webkit.org/r290754

11:10 AM Changeset in webkit [291208] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[IFC][Integration] previousLinePosition/nextLinePosition should use Line::lineBoxHeight
https://bugs.webkit.org/show_bug.cgi?id=237788

Reviewed by Antti Koivisto.

Line::lineBoxHeight() should be sufficient for checking if the line is empty for VisualPosition.

  • editing/VisibleUnits.cpp:

(WebCore::previousLinePosition):
(WebCore::nextLinePosition):

  • layout/integration/InlineIteratorLine.h:

(WebCore::InlineIterator::Line::lineBoxHeight const):
(WebCore::InlineIterator::Line::logicalHeight const): Deleted.

  • layout/integration/InlineIteratorLineLegacyPath.h:

(WebCore::InlineIterator::LineIteratorLegacyPath::contentLogicalRight const):
(WebCore::InlineIterator::LineIteratorLegacyPath::logicalHeight const): Deleted.

  • layout/integration/InlineIteratorLineModernPath.h:

(WebCore::InlineIterator::LineIteratorModernPath::contentLogicalRight const):
(WebCore::InlineIterator::LineIteratorModernPath::logicalHeight const): Deleted.

6:30 AM Changeset in webkit [291207] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[IFC][Integration] RenderBlockFlow::findClosestTextAtAbsolutePoint should use root inline box iterator
https://bugs.webkit.org/show_bug.cgi?id=237786

Reviewed by Antti Koivisto.

Let's remove root inline box APIs from the line iterator interface.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::findClosestTextAtAbsolutePoint): Replace line iterator with root inline box iterator
and check whether the local point is in between these root inline boxes.

Mar 11, 2022:

9:01 PM Changeset in webkit [291206] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Adjust when _setPrivacyProxyFailClosedForUnreachableNonMainHosts is called
https://bugs.webkit.org/show_bug.cgi?id=237735
<rdar://89972004>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-11
Reviewed by Geoff Garen.

It was originally being called differently between main resources and subresources on the same domain,
causing them to use connections with different properties, so we couldn't share connections any more.
This will make it so that more connections are shared, which should fix the performance regression from
no longer sharing connections to the same domain.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):

8:07 PM Changeset in webkit [291205] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Unreviewed logging removal.

Revert an ALWAYS_LOG_WITH_STREAM() that I inadvertently committed back to a
LOG_WITH_STREAM().

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::swapToValidFrontBuffer):

7:15 PM Changeset in webkit [291204] by pvollan@apple.com
  • 3 edits in trunk/Source/WebCore

[macOS] Image decoders should be restricted for Mail
https://bugs.webkit.org/show_bug.cgi?id=237717
<rdar://89827733>

Reviewed by Geoffrey Garen.

Use correct prefix for static member.

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::enableRestrictedDecoding):
(WebCore::ImageDecoderCG::restrictedDecodingEnabled):

  • platform/graphics/cg/ImageDecoderCG.h:
6:33 PM Changeset in webkit [291203] by Chris Dumez
  • 5 edits in trunk/Source

IPC thread's QOS should match the sending thread's QOS when calling sendSync()
https://bugs.webkit.org/show_bug.cgi?id=237800
<rdar://problem/90061548>

Reviewed by Geoffrey Garen.

Source/WebKit:

IPC thread's QOS should match the sending thread's QOS when calling sendSync(), since it blocks the calling thread.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendSyncMessage):

Source/WTF:

Add function to get the QoS of the current thread.

  • wtf/Threading.cpp:

(WTF::toQOS):
(WTF::Thread::currentThreadQOS):

  • wtf/Threading.h:
6:23 PM Changeset in webkit [291202] by Simon Fraser
  • 4 edits in trunk/Source/WebKit

Move RemoteLayerBackingStore flusher creation into RemoteLayerBackingStoreCollection
https://bugs.webkit.org/show_bug.cgi?id=237798

Reviewed by Tim Horton.

Move the code that creates layer flushers from RemoteLayerTreeDrawingArea into
RemoteLayerBackingStoreCollection, per the FIXME.

RemoteLayerBackingStoreCollection::didFlushLayers() then becomes internal, and gets renamed
to updateUnreachableBackingStores(). Now we only need to schedule the volatility timer from
one place.

  • Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:

(WebKit::RemoteLayerBackingStoreCollection::didFlushLayers):
(WebKit::RemoteLayerBackingStoreCollection::updateUnreachableBackingStores):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::updateRendering):

4:56 PM Changeset in webkit [291201] by Wenson Hsieh
  • 6 edits in trunk/Source

Refactor the filter block in DocumentMarkerController::filterMarkers() to return an enum type
https://bugs.webkit.org/show_bug.cgi?id=237794

Reviewed by Megan Gardner.

Source/WebCore:

Change the return value of the filter function argument in filterMarkers() from a bool to a named enum
type with 2 values: Keep or Remove; this makes it more obvious to call sites whether the return value will
cause document markers to remain or be removed from the document.

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::filterMarkers):
(WebCore::DocumentMarkerController::removeMarkers):

  • dom/DocumentMarkerController.h: Remove a FIXME and comment that's no longer needed.

Source/WebKit:

Drive-by fix: only remove the spellchecking document marker in removeAnnotationRelativeToSelection if the
annotation string of the marker matches the given annotation string to the method.

  • WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:

(WebKit::TextCheckingControllerProxy::removeAnnotationRelativeToSelection):

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::clearDictationAlternatives):

4:32 PM Changeset in webkit [291200] by commit-queue@webkit.org
  • 9 edits in trunk

Finish implementing modify-headers actions for WKContentRuleList SPI
https://bugs.webkit.org/show_bug.cgi?id=237784
Source/WebCore:

<rdar://72433048>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-11
Reviewed by Tim Hatcher.

I hadn't implemented regex substitution yet.

  • contentextensions/ContentExtensionActions.cpp:

(WebCore::ContentExtensions::RedirectAction::parse):
(WebCore::ContentExtensions::RedirectAction::serialize const):
(WebCore::ContentExtensions::RedirectAction::deserialize):
(WebCore::ContentExtensions::RedirectAction::applyToRequest):
(WebCore::ContentExtensions::RedirectAction::RegexSubstitutionAction::serialize const):
(WebCore::ContentExtensions::RedirectAction::RegexSubstitutionAction::deserialize):
(WebCore::ContentExtensions::makeJSString):
(WebCore::ContentExtensions::RedirectAction::RegexSubstitutionAction::applyToURL const):

  • contentextensions/ContentExtensionActions.h:

(WebCore::ContentExtensions::add):

  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::loadAction):
(WebCore::ContentExtensions::loadRule):

Source/WebKit:

<rdar://72433048>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-11
Reviewed by Tim Hatcher.

  • UIProcess/API/APIContentRuleListStore.h:

Tools:

Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-11
Reviewed by Tim Hatcher.

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):

4:00 PM Changeset in webkit [291199] by ysuzuki@apple.com
  • 2 edits in trunk/Source/bmalloc

Unreviewed, ASan specific build fix
https://bugs.webkit.org/show_bug.cgi?id=237572

  • libpas/src/libpas/pas_utils.h:

(pas_zero_memory):

3:42 PM Changeset in webkit [291198] by Nikos Mouchtaris
  • 10 edits
    2 adds in trunk

[iOS] Fix ovserscroll-behavior for main document
https://bugs.webkit.org/show_bug.cgi?id=237696

Reviewed by Simon Fraser.

Source/WebCore:

Make getters for overscroll behavior public.

Test: fast/scrolling/ios/overscroll-behavior-on-body.html

  • page/scrolling/ScrollingTreeScrollingNode.h:

Source/WebKit:

Get value of over scroll behavior from root scrolling node to set whether root
UIScrollView should rubber band or not. Add new UIScrollView SPI.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _updateScrollViewForTransaction:]):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::rootNode const):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:

(WebKit::ScrollingTreeScrollingNodeDelegateIOS::updateScrollViewForOverscrollBehavior):
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren):

LayoutTests:

Added test that does a scroll expecting a rubberband, sets overscroll-behavior:none for
the body, then does another scroll, expected that no rubberband occurs.

  • fast/scrolling/ios/overscroll-behavior-on-body-expected.txt: Added.
  • fast/scrolling/ios/overscroll-behavior-on-body.html: Added.
3:34 PM Changeset in webkit [291197] by Matteo Flores
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=231266

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
3:30 PM Changeset in webkit [291196] by J Pascoe
  • 2 edits in trunk/Source/WebKit

[WebAuthn] Unreviewed build fix after r291177
https://bugs.webkit.org/show_bug.cgi?id=237797
rdar://problem/90183881

Remove unused move that is breaking iOS build

  • UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
3:25 PM Changeset in webkit [291195] by Kocsen Chung
  • 1 copy in tags/Safari-614.1.5.10

Tag Safari-614.1.5.10.

2:55 PM Changeset in webkit [291194] by Adrian Perez de Castro
  • 6 edits in trunk

[GLib] Expose ArrayBuffer in the public API
https://bugs.webkit.org/show_bug.cgi?id=237088

Reviewed by Carlos Garcia Campos.

This adds a set of new functions to operate on JSCValue objects which refer to array
buffers in the JS side of the world. This allows sharing chunks of memory buffers
efficiently with native code, without needing to copy nor encode data back and forth.

Source/JavaScriptCore:

  • API/glib/JSCValue.cpp:

(jscArrayBufferDeallocate):
(jsc_value_new_array_buffer):
(jsc_value_is_array_buffer):
(jsc_value_array_buffer_get_data):
(jsc_value_array_buffer_get_length):

  • API/glib/JSCValue.h:
  • API/glib/docs/jsc-glib-4.0-sections.txt:

Tools:

  • TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: Added test for array buffers.

(testJSCArrayBuffer):
(main):

2:45 PM Changeset in webkit [291193] by Jonathan Bedard
  • 7 edits in trunk/Tools

[Merge-Queue] Add queue triggered by label addition
https://bugs.webkit.org/show_bug.cgi?id=237615
<rdar://problem/89983452>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/config.json: Add Merge-Queue.
  • Tools/CISupport/ews-build/events.py:

(GitHubEventHandlerNoEdits): Remove action list, add merge-queue labels.
(GitHubEventHandlerNoEdits.handle_pull_request): Let parent class filter actions, treat
merge-queue label addition as a 'synchronize', but change event name to trigger different
scheduler family.

  • Tools/CISupport/ews-build/factories.py:

(MergeQueueFactory): Added.

  • Tools/CISupport/ews-build/factories_unittest.py:

(TestExpectedBuildSteps):

  • Tools/CISupport/ews-build/loadConfig.py:

(loadBuilderConfig): AnyBranchSchedulers should only accept events which match their name.

  • Tools/CISupport/ews-build/loadConfig_unittest.py:

(ConfigDotJSONTest): Match pull request scheduler name to pull request event.

Canonical link: https://commits.webkit.org/248349@main

2:30 PM Changeset in webkit [291192] by Elliott Williams
  • 4 edits in trunk/Source

[Xcode] "Nest Headers" script phases copy headers incorrectly on Catalyst
https://bugs.webkit.org/show_bug.cgi?id=237793

Reviewed by Alexey Proskuryakov.

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:

Source/WTF:

SDK_VARIANT needs to be passed into the nested xcodebuild invocation that these script
phases run. Pass WK_USE_ALTERNATE_FRAMEWORKS_DIR=NO to prevent the default behavior where
Catalyst content is installed to /System/iOSSupport, as this causes headers to be copied to
WebKitBuild/Release/System/iOSSupport/...

This script phases only run under the legacy build system, so they do not affect production
builds. https://commits.webkit.org/247656@main provides more context on this hack (tl;dr
it's a temporary workaround for the XCBuild migration).

  • WTF.xcodeproj/project.pbxproj:
2:22 PM Changeset in webkit [291191] by Simon Fraser
  • 7 edits in trunk/Source/WebKit

Do buffer swapping on all RemoteLayerBackingStores before painting all of them
https://bugs.webkit.org/show_bug.cgi?id=237752

Reviewed by Tim Horton.

Buffer swapping requires sync IPC with the GPU Process, but painting can be asynchronous, so
do all the sync IPC before all the async IPC to avoid serializing everything.

During the recursive PlatformCALayerRemote::recursiveBuildTransaction() we now call
prepareToDisplay() which does the buffer swapping, and then we paint all the reachable
backing stores via RemoteLayerTreeContext::buildTransaction().

This is a 9% perf improvement on the "Images" MotionMark subtest.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::prepareToDisplay):
(WebKit::RemoteLayerBackingStore::display): Deleted.

  • Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:

(WebKit::RemoteLayerBackingStoreCollection::paintReachableBackingStoreContents):
(WebKit::RemoteLayerBackingStoreCollection::didFlushLayers): The local variables can
be pointers, rather than using references to pointers.
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatile): Ditto

  • WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::buildTransaction):

2:13 PM Changeset in webkit [291190] by pvollan@apple.com
  • 10 edits in trunk/Source

[macOS] Image decoders should be restricted for Mail
https://bugs.webkit.org/show_bug.cgi?id=237717
<rdar://89827733>

Reviewed by Geoffrey Garen.

Source/WebCore:

Only add restricted decoding flag when it is explicitly requested.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::createImageSourceOptions):
(WebCore::ImageDecoderCG::enableRestrictedDecoding):
(WebCore::ImageDecoderCG::restrictedDecodingEnabled):

  • platform/graphics/cg/ImageDecoderCG.h:

Source/WebKit:

We already restrict image decoders for Mail on iOS. We should do so on macOS too.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

  • WebProcess/com.apple.WebProcess.sb.in:
1:55 PM Changeset in webkit [291189] by Kocsen Chung
  • 2 edits in branches/safari-614.1.5-branch/Source/WebGPU

Cherry-pick r291184. rdar://problem/90172920

WebGPU Catalyst builds fail when using the system content path
https://bugs.webkit.org/show_bug.cgi?id=237790

Reviewed by Saam Barati.

The value of ALTERNATE_ROOT_PATH should be set to the framework directory instead of
DYLIB_INSTALL_NAME_BASE since it will include the system content path as a prefix for
Catalyst builds.

This is similar to the construction of ALTERNATE_ROOT_PATH for the other frameworks.

  • Configurations/WebGPU.xcconfig:

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

1:55 PM Changeset in webkit [291188] by Kocsen Chung
  • 16 edits in branches/safari-614.1.5-branch/Source

Cherry-pick r291139. rdar://problem/90127039

Catalyst JavaScriptCore, WebCore, WebKitLegacy, and WebKit shouldn't be copied to the Secondary Path
https://bugs.webkit.org/show_bug.cgi?id=237748

Reviewed by Mark Lam.

Updated the configuration to exclude copying Catalyst build products to the secondary path.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/ANGLE-dynamic.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/libwebrtc.xcconfig:

Source/WebCore:

  • Configurations/WebCore.xcconfig:

Source/WebGPU:

  • Configurations/WebGPU.xcconfig:

Source/WebInspectorUI:

  • Configurations/WebInspectorUIFramework.xcconfig:

Source/WebKit:

  • Configurations/Base.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/Base.xcconfig:

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

1:52 PM Changeset in webkit [291187] by Kocsen Chung
  • 9 edits in branches/safari-614.1.5-branch/Source

Versioning.

WebKit-7614.1.5.10

1:51 PM Changeset in webkit [291186] by Jonathan Bedard
  • 3 edits in trunk/Tools

[Merge-Queue] Check for merge-queue labels
https://bugs.webkit.org/show_bug.cgi?id=237690
<rdar://problem/90064892>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/steps.py:

(GitHubMixin):
(GitHubMixin.get_pr_json): Add retry.
(GitHubMixin._is_pr_in_merge_queue): Check for merge-queue label.
(GitHubMixin.should_send_email_for_pr): get_pr_json now owns logging.
(ValidateChange.init): Add verifyMergeQueue flag.
(ValidateChange):
(ValidateChange.start): Add log to indicate PR has a merge-queue flag.
(ValidateChange.validate_github): Add retry when getting PR json, add merge queue check.

  • Tools/CISupport/ews-build/steps_unittest.py:

Canonical link: https://commits.webkit.org/248345@main

1:25 PM Changeset in webkit [291185] by Jon Davis
  • 3 edits in trunk/Websites/webkit.org

Allow table of contents on posts in special cases
https://bugs.webkit.org/show_bug.cgi?id=237744

Reviewed by Devin Rousso.

  • wp-content/plugins/table-of-contents.php:
  • wp-content/themes/webkit/functions.php:
  • wp-content/themes/webkit/single.php:
1:08 PM Changeset in webkit [291184] by msaboff@apple.com
  • 2 edits in trunk/Source/WebGPU

WebGPU Catalyst builds fail when using the system content path
https://bugs.webkit.org/show_bug.cgi?id=237790

Reviewed by Saam Barati.

The value of ALTERNATE_ROOT_PATH should be set to the framework directory instead of
DYLIB_INSTALL_NAME_BASE since it will include the system content path as a prefix for
Catalyst builds.

This is similar to the construction of ALTERNATE_ROOT_PATH for the other frameworks.

  • Configurations/WebGPU.xcconfig:
1:07 PM Changeset in webkit [291183] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[iOS] Unreviewed gardening after r291169.

  • platform/ios/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
12:22 PM Changeset in webkit [291182] by Chris Dumez
  • 10 edits in trunk/Source/WebKit

Delay responsiveness checks for the Network Process until it has finished initialization
https://bugs.webkit.org/show_bug.cgi?id=237782
<rdar://88226412>

Reviewed by Geoffrey Garen.

Delay responsiveness checks for the Network Process until it has finished initialization.
Network process initialization can be slow but we have evidence that it is not truly
hung since we see network process terminations right as the network process is initiating
the WebProcess connection later on.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • UIProcess/AuxiliaryProcessProxy.cpp:

(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
(WebKit::AuxiliaryProcessProxy::beginResponsivenessChecks):
(WebKit::AuxiliaryProcessProxy::startResponsivenessTimer):

  • UIProcess/AuxiliaryProcessProxy.h:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::didFinishLaunching):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::sendCreationParametersToNewProcess):

  • UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp:

(WebKit::WebAuthnProcessProxy::didFinishLaunching):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didFinishLaunching):

11:14 AM Changeset in webkit [291181] by Elliott Williams
  • 2 edits in trunk

Makefile.shared: Rename WORKSPACE to WORKSPACE_PATH and allow overrides
https://bugs.webkit.org/show_bug.cgi?id=237746

Reviewed by Alexey Proskuryakov.

This permits Make-based workflows which build out of a different workspace, e.g. a workspace
that includes WebKitAdditions.

WORKSPACE_PATH was chosen as a new name for parity with SCRIPTS_PATH and to avoid confusion
with USE_WORKSPACE.

Refactors Makefile.shared a bit to prevent SCHEME or WORKSPACE_PATH being set without
USE_WORKSPACE from breaking the build.

  • Makefile.shared:
11:08 AM Changeset in webkit [291180] by Wenson Hsieh
  • 21 edits in trunk

[iOS] Add support for -[UITextInput removeEmojiAlternatives] on WKContentView
https://bugs.webkit.org/show_bug.cgi?id=237742
rdar://89647018

Reviewed by Kate Cheney.

Source/WebCore:

Add plumbing to AlternativeTextUIController and AlternativeTextContextController to replace an existing
DictationContext's NSTextAlternatives; passing in a nil NSTextAlternatives simply removes the DictationContext
and its existing text alternatives.

See WebKit ChangeLog for more details.

Tests: TextAlternatives.AddAndRemoveTextAlternativesWithMatch

TextAlternatives.AddAndRemoveTextAlternativesWithTextAndEmojis

  • dom/DocumentMarkerController.h:

Drive-by fix: adjust a comment to reflect the actual behavior in DocumentMarkerController, and also add a FIXME
to replace the bool return type with an enum type.

  • editing/cocoa/AlternativeTextContextController.h:
  • editing/cocoa/AlternativeTextContextController.mm:

(WebCore::AlternativeTextContextController::replaceAlternatives):

  • editing/cocoa/AlternativeTextUIController.h:
  • editing/cocoa/AlternativeTextUIController.mm:

(WebCore::AlternativeTextUIController::replaceAlternatives):

Source/WebKit:

Add support for -removeEmojiAlternatives, which removes all dictation alternatives at the current selection,
whose text alternative strings only contain emojis. See below for more details.

  • Platform/spi/ios/TextInputSPI.h:
  • UIProcess/Cocoa/PageClientImplCocoa.h:
  • UIProcess/Cocoa/PageClientImplCocoa.mm:

(WebKit::PageClientImplCocoa::replaceDictationAlternatives):

Add PageClient plumbing to the new AlternativeTextUIController methods in WebCore to replace an existing
dictation context's text alternatives.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::dictationAlternativesAtSelection):

We expand the selection range by one character here since DocumentMarkerController::markersInRange() does not
include document markers that end exactly at the given range.

(WebKit::WebPageProxy::clearDictationAlternatives):

Add two helper methods on WebPageProxy: one to query all dictation alternative identifiers that intersect with
the current selection range, and another to remove all dictation alternative document markers whose
DictationContext matches an identifier in a given list of identifiers.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView removeEmojiAlternatives]):

Implement the new SPI method with a two-step process:

  1. Request the list of dictation context IDs at the selection; for each ID, we either (a) replace the text

alternatives for that context ID with a new NSTextAlternatives object that doesn't have any of the emoji-
only alternatives that appear in the original NSTextAlternatives, or (b) remove the NSTextAlternatives and
dictation context ID mapping entirely, if all the alternatives only contain emojis.

  1. For all the text alternatives that were removed in step 1 (due to only containing emojis), clear out all

document markers corresponding to those text alternatives in the document.

  • WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:

(WebKit::TextCheckingControllerProxy::removeAnnotationRelativeToSelection):

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::dictationAlternativesAtSelection):
(WebKit::WebPage::clearDictationAlternatives):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

Adjust an API test and augment an existing test to exercise -removeEmojiAlternatives.

  • TestWebKitAPI/Tests/ios/TextAlternatives.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/ios/UIKitSPI.h:
11:05 AM Changeset in webkit [291179] by Russell Epstein
  • 1 copy in tags/Safari-613.2.2

Tag Safari-613.2.2.

10:42 AM Changeset in webkit [291178] by Simon Fraser
  • 7 edits in trunk/Source/WebKit

Some minor refactoring in RemoteLayerBackingStore
https://bugs.webkit.org/show_bug.cgi?id=237749

Reviewed by Tim Horton.

Simplify RemoteLayerBackingStore a little, primarily to push the setNeedsDisplay() calls
when swapToValidFrontBuffer() returns WebCore::SetNonVolatileResult::Empty out to the
callers, so it's clearer when m_dirtyRegion gets mutated.

In order to pass SetNonVolatileResult around more, change setBufferVolatility(bool) into
setBufferVolatile() and setFrontBufferNonVolatile(), which makes it clear that we only ever
set the front buffer to non-volatile.

Also move the call to clearBackendHandle() into
RemoteLayerWithRemoteRenderingBackingStoreCollection, since it's about GPU process.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::applySwappedBuffers):
(WebKit::RemoteLayerBackingStore::swapBuffers):
(WebKit::RemoteLayerBackingStore::setContents):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::paintContents):
(WebKit::RemoteLayerBackingStore::setBufferVolatile):
(WebKit::RemoteLayerBackingStore::setFrontBufferNonVolatile):
(WebKit::RemoteLayerBackingStore::willMakeBufferVolatile): Deleted.
(WebKit::RemoteLayerBackingStore::didMakeFrontBufferNonVolatile): Deleted.
(WebKit::RemoteLayerBackingStore::setBufferVolatility): Deleted.

  • Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:

(WebKit::RemoteLayerBackingStoreCollection::makeFrontBufferNonVolatile):
(WebKit::RemoteLayerBackingStoreCollection::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):

  • Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h:
  • Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:

(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::makeFrontBufferNonVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::swapToValidFrontBuffer):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::collectBackingStoreBufferIdentifiersToMarkVolatile):

10:25 AM Changeset in webkit [291177] by J Pascoe
  • 5 edits in trunk/Source/WebKit

[WebAuthn] Cancel running operations in ASA on navigation
https://bugs.webkit.org/show_bug.cgi?id=237452
rdar://problem/89781990

Reviewed by Brent Fulgham.

Pre-ASA WebAuthn calls cancel requests on navigation via calling authenticatorManager.cancelRequest
in WebPageProxy. In WebAuthn calls that go through ASA, the authenticatorManager lives in the ASA
process, so calls won't be cancelled on navigation.

This patch attempts to cancel ongoing operations whenever a WebAuthenticatorCoordinatorProxy that
uses ASA is destroyed, effectively cancelling requests on reload or navigation.

  • Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
  • UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:

(WebKit::WebAuthenticatorCoordinatorProxy::~WebAuthenticatorCoordinatorProxy):

  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
9:49 AM Changeset in webkit [291176] by J Pascoe
  • 28 edits
    3 copies in trunk

[WebAuthn] Support authenticatorSelection.residentKey ResidentKeyRequirement
https://bugs.webkit.org/show_bug.cgi?id=237567
rdar://89788378

Reviewed by Brent Fulgham and Chris Dumez.

Source/WebCore:

In Web Authentication level one, relying parties can specify authenticatorSelection.residentKeyRequired,
to signify they require a client-side discoverable credential. However, if the authenticator does not
support client-side discoverable credentials, the rp has no way to clarify they want a client-side
discoverable credential only if available.

This patch implements authenticatorSelection.residentKeyRequired introduced in level 2, which has three
values 'Preferred', 'Required', and 'Discouraged'. This allows RPs to create a client-side discoverable
credential if possible.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/webauthn/PublicKeyCredentialCreationOptions.h:

(WebCore::PublicKeyCredentialCreationOptions::AuthenticatorSelectionCriteria::encode const):
(WebCore::PublicKeyCredentialCreationOptions::AuthenticatorSelectionCriteria::decode):

  • Modules/webauthn/PublicKeyCredentialCreationOptions.idl:
  • Modules/webauthn/ResidentKeyRequirement.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorSelectionCriteria.mm.
  • Modules/webauthn/ResidentKeyRequirement.idl: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorSelectionCriteria.mm.
  • Modules/webauthn/fido/AuthenticatorSupportedOptions.cpp:

(fido::AuthenticatorSupportedOptions::setResidentKeyAvailability):
(fido::convertToCBOR):
(fido::AuthenticatorSupportedOptions::setSupportsResidentKey): Deleted.

  • Modules/webauthn/fido/AuthenticatorSupportedOptions.h:
  • Modules/webauthn/fido/DeviceRequestConverter.cpp:

(fido::encodeMakeCredenitalRequestAsCBOR):

  • Modules/webauthn/fido/DeviceRequestConverter.h:
  • Modules/webauthn/fido/DeviceResponseConverter.cpp:

(fido::readCTAPGetInfoResponse):

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

In Web Authentication level one, relying parties can specify authenticatorSelection.residentKeyRequired,
to signify they require a client-side discoverable credential. However, if the authenticator does not
support client-side discoverable credentials, the rp has no way to clarify they want a client-side
discoverable credential only if available.

This patch implements authenticatorSelection.residentKeyRequired introduced in level 2, which has three
values 'Preferred', 'Required', and 'Discouraged'. This allows RPs to create a client-side discoverable
credential if possible.

  • UIProcess/API/Cocoa/_WKAuthenticatorSelectionCriteria.h:
  • UIProcess/API/Cocoa/_WKAuthenticatorSelectionCriteria.mm:

(-[_WKAuthenticatorSelectionCriteria init]):

  • UIProcess/API/Cocoa/_WKResidentKeyRequirement.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorSelectionCriteria.mm.
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:

(residentKey):
(authenticatorSelectionCriteria):
(+[_WKWebAuthenticationPanel encodeMakeCredentialCommandWithClientDataJSON:options:userVerificationAvailability:]):
(+[_WKWebAuthenticationPanel encodeMakeCredentialCommandWithClientDataHash:options:userVerificationAvailability:]):

  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:

(WebKit::CtapAuthenticator::makeCredential):

  • WebKit.xcodeproj/project.pbxproj:

Tools:

Add API tests for authenticatorSelection.residentKey.

  • TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:

(TestWebKitAPI::TEST):

LayoutTests:

Add layout tests using residentKey field.

  • http/wpt/webauthn/public-key-credential-create-failure-hid.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-failure-hid.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
9:39 AM Changeset in webkit [291175] by Ben Nham
  • 2 edits in trunk/Source/WebCore

Fix WebContent jetsam that occurs when selecting text in a large e-mail
https://bugs.webkit.org/show_bug.cgi?id=237698

Reviewed by Simon Fraser.

When selecting text in a large e-mail in MobileMail, we often jetsam. This is due to this
chain of events:

  1. If the selection extends enough to start causing the content to pan (which is easy to do when zoomed in on the mail content), then AutoscrollController ends up changing the scroll position of the FrameView to perform the pan.
  2. FrameView::requestScrollPositionUpdate tries to prepopulate tiles around the endpoint of the pan by calling TileController::prepopulateRect with visibleContentRect's size.

The problem is that MobileMail resizes their web view (and therefore FrameView) to match
the size of the content. This causes FrameView's visibleContentRect to be very large (>100k
pts high for some emails). As a result, we end up prepopulating every single tile in the
email, causing a huge spike in IOSurface memory usage that leads to a jetsam.

To fix this, we make FrameView::requestScrollPositionUpdate act more like
RenderLayerCompositor::visibleRectForLayerFlushing. In particular, on iOS, we now use
exposedContentRect instead of visibleContentRect. Since exposedContentRect is derived from
contentOffset/contentSize of the scroll view in the UIProcess, it's more correct and is much
smaller than visibleContentRect in this case.

  • page/FrameView.cpp:

(WebCore::FrameView::requestScrollPositionUpdate):

9:38 AM Changeset in webkit [291174] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

[WinCairo] DrawingAreaWC::sendUpdateAC should keep a WeakPtr of this for the reply handler
https://bugs.webkit.org/show_bug.cgi?id=237757

Reviewed by Don Olmstead.

WinCairo Release was crashing by visiting some random web sites
for several minutes. The reply handler in
DrawingAreaWC::sendUpdateAC should check that this object is
still alive with weakThis.

  • WebProcess/WebPage/wc/DrawingAreaWC.cpp:

(WebKit::DrawingAreaWC::sendUpdateAC): Capture weakThis for the
reply handler and check it.

9:31 AM Changeset in webkit [291173] by don.olmstead@sony.com
  • 2 edits
    2 copies
    6 adds
    3 deletes in trunk/LayoutTests

Platforms implementing WebSocketTask pass hybi/close-and-server-script-exception-expected.txt
https://bugs.webkit.org/show_bug.cgi?id=237727

Reviewed by Alex Christensen.

The root expected.txt had a line with FAIL but all platforms that implement WebSocketTask
PASS the test fully. Make this the default and remove redundant expectations and add a
FAIL for Apple WebKitLegacy ports which don't implement WebSocketTask.

  • http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt:
  • platform/glib/http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt: Removed.
  • platform/ios-wk2/http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt: Removed.
  • platform/mac-wk1/http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt: Copied from LayoutTests/http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt.
  • platform/mac-wk2/http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt: Removed.
  • platform/win/http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt: Copied from LayoutTests/http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt.
9:16 AM Changeset in webkit [291172] by Brandon
  • 2 edits in trunk/Source/WebCore

Verify values before adding to hash map
https://bugs.webkit.org/show_bug.cgi?id=237781

Reviewed by Simon Fraser.

Verify values before adding to hash map to avoid hash map corruption.

Original patch by John Cunningham

  • page/scrolling/ScrollSnapOffsetsInfo.cpp:

(WebCore::updateSnapOffsetsForScrollableArea):

9:11 AM Changeset in webkit [291171] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] shape-rendering should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237767

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

9:08 AM Changeset in webkit [291170] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] vector-effect should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237766

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

8:44 AM Changeset in webkit [291169] by Alan Bujtas
  • 8 edits in trunk

[IFC][Integration] Add support for inline table
https://bugs.webkit.org/show_bug.cgi?id=237498

Reviewed by Antti Koivisto.

Source/WebCore:

This patch enables inline tables for IFC
e.g.
<div>inline content with <table style="display: inline-table">table</table></div>

We treat the inline table as any other atomic inline level box with synthetic baseline.

  • layout/integration/LayoutIntegrationBoxTree.cpp:

(WebCore::LayoutIntegration::BoxTree::buildTree):

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::updateInlineTableDimensions):
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):

  • layout/integration/LayoutIntegrationLineLayout.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutModernLines):

LayoutTests:

  • platform/mac/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
8:05 AM Changeset in webkit [291168] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS][WP] Add required sys call to sandbox
https://bugs.webkit.org/show_bug.cgi?id=237739

Reviewed by Chris Dumez.

Add a rarely used, but required syscall, to the WebContent process sandbox on macOS.

  • WebProcess/com.apple.WebProcess.sb.in:
7:33 AM Changeset in webkit [291167] by youenn@apple.com
  • 23 edits
    2 deletes in trunk

Do capture video frame downsampling in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=237316
<rdar://problem/89959777>

Reviewed by Eric Carlson.

Source/WebCore:

To prevent some flakinesses, we now compute the video frame size from MediaSample given to rvfc metadata.
We stop making requestToEnd as virtual by introducing a virtual endProducingData method.
RealtimeMediaSource::end calls the new endProducingData virtual method, which is stop by default.
RealtimeVideoSource::endProducingData is implemented by calling requestToEnd on the underlying source.
This makes sure that ending a source will not end a related cloned source.

Covered by existing tests.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
  • platform/mediastream/RealtimeMediaSource.cpp:
  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeVideoSource.cpp:
  • platform/mediastream/RealtimeVideoSource.h:

Source/WebKit:

Instead of cloning within WebProcess, we know clone in GPUProcess for camera tracks.
This allows to keep using IOSurfaces when several tracks are using the same device with different resolutions.
Since display tracks are already cloned remotely, we can merge RemoteRealtimeDisplaySource and RemoteRealtimeVideoSource.

We no longer need to stop the source in ~SourceProxy given we are removing ourselves from observing the source.
We rename UserMediaCaptureManagerProxy end to remove and requestToEnd to endProducingData.

  • SourcesCocoa.txt:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
  • WebProcess/cocoa/RemoteCaptureSampleManager.h:
  • WebProcess/cocoa/RemoteRealtimeDisplaySource.cpp: Removed.
  • WebProcess/cocoa/RemoteRealtimeDisplaySource.h: Removed.
  • WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp:
  • WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h:
  • WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:
  • WebProcess/cocoa/RemoteRealtimeVideoSource.h:
  • WebProcess/cocoa/UserMediaCaptureManager.cpp:
  • WebProcess/cocoa/UserMediaCaptureManager.h:

LayoutTests:

  • fast/mediastream/getDisplayMedia-size.html:

Remove potential race condition by restarting playing the stream to compute the size.

6:30 AM Changeset in webkit [291166] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] text-anchor should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237765

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

6:27 AM Changeset in webkit [291165] by Mikhail R. Gadelha
  • 3 edits in trunk/Source

Debug build failure after r246172: ASSERT_UNDER_CONSTEXPR_CONTEXT should work in constexpr contexts
https://bugs.webkit.org/show_bug.cgi?id=236728

Reviewed by Michael Catanzaro.

ASSERT_UNDER_CONSTEXPR_CONTEXT is calling a non-constexpr function (WTFReportAssertionFailure)
when it fails, so it cannot be used for an assert not reached.

This patch adds a new RELEASE_ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT() macro
that calls CRASH_UNDER_CONSTEXPR_CONTEXT() instead of WTFReportAssertionFailure.

No functional change.

  • wasm/WasmCompilationMode.h:

(JSC::Wasm::isOSREntry):
(JSC::Wasm::isAnyBBQ):
(JSC::Wasm::isAnyOMG):

6:27 AM Changeset in webkit [291164] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] stroke-linejoin should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237764

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

6:23 AM Changeset in webkit [291163] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] stroke-linecap should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237763

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

6:19 AM Changeset in webkit [291162] by commit-queue@webkit.org
  • 14 edits in trunk/Source/WebCore

Rename invalidation methods in SVGElement
https://bugs.webkit.org/show_bug.cgi?id=237716

Patch by Rob Buis <rbuis@igalia.com> on 2022-03-11
Reviewed by Martin Robinson.

Rename invalidation methods in SVGElement to be more specific. This in fact
uses the naming in the underlying ElementData.

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::svgAttributeChanged):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::commitPropertyChange):

  • svg/SVGElement.h:
  • svg/SVGElementInlines.h:

(WebCore::SVGElement::setAnimatedSVGAttributesAreDirty):
(WebCore::SVGElement::setPresentationalHintStyleIsDirty):
(WebCore::SVGElement::invalidateSVGAttributes): Deleted.
(WebCore::SVGElement::invalidateSVGPresentationalHintStyle): Deleted.

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::svgAttributeChanged):

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::svgAttributeChanged):

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::svgAttributeChanged):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::svgAttributeChanged):

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::svgAttributeChanged):

  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::svgAttributeChanged):

  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::svgAttributeChanged):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::svgAttributeChanged):

  • svg/properties/SVGAttributeAnimator.cpp:

(WebCore::SVGAttributeAnimator::invalidateStyle):

6:17 AM Changeset in webkit [291161] by graouts@webkit.org
  • 7 edits in trunk

[web-animations] mask-repeat should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237771

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::setMaskRepeatX):
(WebCore::RenderStyle::setMaskRepeatY):

6:08 AM Changeset in webkit [291160] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] mask-mode should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237770

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

6:05 AM Changeset in webkit [291159] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] mask-composite should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237769

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

Refactor FillLayerFillBoxPropertyWrapper to a templatized DiscreteFillLayerPropertyWrapper
which allows us to support other enum types like CompositeOperator.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

6:01 AM Changeset in webkit [291158] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] mask-type should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237768

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

5:48 AM Changeset in webkit [291157] by graouts@webkit.org
  • 6 edits in trunk

[web-animations] text-rendering should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237777

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

5:45 AM Changeset in webkit [291156] by graouts@webkit.org
  • 4 edits in trunk/Source/WebCore

[web-animations] refactor discrete FontCascadeDescription to use dedicated animation wrappers
https://bugs.webkit.org/show_bug.cgi?id=237776

Reviewed by Antti Koivisto.

We added getters and setters on RenderStyle for properties exposed on FontCascadeDescription
solely for the purpose of animation support. Instead, we add a couple of dedicated animation
wrapper that removes the methods from RenderStyle and do all the work in
CSSPropertyAnimation.cpp.

The base class DiscreteFontDescriptionWrapper and is used for CSS properties backed by several
FontCascadeDescription methods.

The subclass DiscreteFontDescriptionTypedWrapper is used for CSS properties backed by a single
FontCascadeDescrption method dealing with a simple type.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::DiscreteFontDescriptionWrapper::DiscreteFontDescriptionWrapper):
(WebCore::DiscreteFontDescriptionWrapper::propertiesInFontDescriptionAreEqual const):
(WebCore::DiscreteFontDescriptionWrapper::setPropertiesInFontDescription const):
(WebCore::DiscreteFontDescriptionTypedWrapper::DiscreteFontDescriptionTypedWrapper):
(WebCore::DiscreteFontDescriptionTypedWrapper::value const):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setFontPalette):
(WebCore::RenderStyle::setFontKerning): Deleted.
(WebCore::RenderStyle::setFontFeatureSettings): Deleted.
(WebCore::RenderStyle::setFontFamilies): Deleted.
(WebCore::RenderStyle::setFontSynthesis): Deleted.
(WebCore::RenderStyle::setFontVariantAlternates): Deleted.
(WebCore::RenderStyle::setFontVariantPosition): Deleted.
(WebCore::RenderStyle::setFontVariantCaps): Deleted.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::fontPalette const):
(WebCore::RenderStyle::fontKerning const): Deleted.
(WebCore::RenderStyle::fontFeatureSettings const): Deleted.
(WebCore::RenderStyle::fontFamilies const): Deleted.
(WebCore::RenderStyle::fontSynthesis const): Deleted.
(WebCore::RenderStyle::fontVariantAlternates const): Deleted.
(WebCore::RenderStyle::fontVariantPosition const): Deleted.
(WebCore::RenderStyle::fontVariantCaps const): Deleted.

4:59 AM Changeset in webkit [291155] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Allow AOM AV1 decoder and check for hardware AV1 decoders as well
https://bugs.webkit.org/show_bug.cgi?id=237713

Patch by Philippe Normand <pnormand@igalia.com> on 2022-03-11
Reviewed by Xabier Rodriguez-Calvar.

The AOM AV1 decoder performs better nowadays. Also it seems hardware-accelerated decoders
are appearing, so we should check for this as well.

  • platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:

(WebCore::GStreamerRegistryScanner::initializeDecoders):

3:51 AM Changeset in webkit [291154] by Antti Koivisto
  • 7 edits in trunk

[CSS Container Queries] Only apply inline-size containment when it is allowed
https://bugs.webkit.org/show_bug.cgi?id=237761

Reviewed by Antoine Quint.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-contain/container-queries/ineligible-containment-expected.txt:

Source/WebCore:

"Giving an element inline-size containment has no effect if any of the following are true:

if the element does not generate a principal box (as is the case with display: contents or display: none)
if its inner display type is table
if its principal box is an internal table box
if its principal box is an internal ruby box or a non-atomic inline-level box"

https://drafts.csswg.org/css-contain-3/#containment-inline-size

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

Check for valid inline-size containment.

  • rendering/RenderObject.cpp:

(WebCore::shouldApplyInlineSizeContainment):

  • rendering/RenderObject.h:
  • style/ContainerQueryEvaluator.cpp:

(WebCore::Style::ContainerQueryEvaluator::selectContainer const):

Cleanups.

(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):

Check for valid size containment for the type, evaluate to unknown if it doesn't exist.
Also check layout containment.

3:17 AM Changeset in webkit [291153] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed isInGPUProcess() fix after 248209@main
https://bugs.webkit.org/show_bug.cgi?id=237762

Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-03-11

  • platform/RuntimeApplicationChecks.h:

(WebCore::isInGPUProcess): Define isInGPUProcess() in all cases but
return false if ENABLE_GPU_PROCESS is disabled.

2:36 AM Changeset in webkit [291152] by Carlos Garcia Campos
  • 7 edits in trunk

[GTK] Add a unit tests to check the remote inspector HTTP server
https://bugs.webkit.org/show_bug.cgi?id=237708

Reviewed by Michael Catanzaro.

Source/WebKit:

Ensure we close the socket if it's still open when the remote inspector client is destroyed.

  • UIProcess/Inspector/glib/RemoteInspectorClient.cpp:

(WebKit::RemoteInspectorClient::~RemoteInspectorClient):

Source/WTF:

  • wtf/glib/SocketConnection.h: Export close().

Tools:

Rework the inspector server test to also allow to launch the HTTP server and check it correctly serves the
target list page.

  • TestWebKitAPI/Tests/WebKitGtk/InspectorTestServer.cpp:

(main):

  • TestWebKitAPI/Tests/WebKitGtk/TestInspectorServer.cpp:

(InspectorHTTPServerTest::setup):
(InspectorHTTPServerTest::teardown):
(testInspectorServerPageList):
(testInspectorHTTPServerPageList):
(beforeAll):
(afterAll):
(stopTestServer): Deleted.
(sigAbortHandler): Deleted.
(connectToInspectorServer): Deleted.
(waitUntilInspectorServerIsReady): Deleted.
(startTestServer): Deleted.

1:27 AM Changeset in webkit [291151] by graouts@webkit.org
  • 3 edits in trunk/Source/WebCore

[web-animations] refactor discrete SVG properties to use a dedicated animation wrapper
https://bugs.webkit.org/show_bug.cgi?id=237760

Reviewed by Antti Koivisto.

We added getters and setters on RenderStyle for properties exposed on SVGRenderStyle
solely for the purpose of animation support. Instead, we add a dedicated animation
wrapper that removes the methods from RenderStyle and do all the work in
CSSPropertyAnimation.cpp. This will be beneficial for future SVG properties
with discrete animation support that are yet to be added.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::clipRule const): Deleted.
(WebCore::RenderStyle::setClipRule): Deleted.
(WebCore::RenderStyle::colorInterpolation const): Deleted.
(WebCore::RenderStyle::setColorInterpolation): Deleted.
(WebCore::RenderStyle::colorInterpolationFilters const): Deleted.
(WebCore::RenderStyle::setColorInterpolationFilters): Deleted.
(WebCore::RenderStyle::dominantBaseline const): Deleted.
(WebCore::RenderStyle::setDominantBaseline): Deleted.
(WebCore::RenderStyle::fillRule const): Deleted.
(WebCore::RenderStyle::setFillRule): Deleted.

1:20 AM Changeset in webkit [291150] by Diego Pino Garcia
  • 2 edits in trunk/Source/WebKit

[GLIB] Debian Stable & Ubuntu LTS build is failing after r291093
https://bugs.webkit.org/show_bug.cgi?id=237756

Reviewed by Carlos Garcia Campos.

Use soup_websocket_connection_send_message when SOUP < 2.67.3.

  • UIProcess/Inspector/glib/RemoteInspectorHTTPServer.cpp:
12:40 AM Changeset in webkit [291149] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Disable WebGL and DOM GPU process when some dependencies are unavailable
https://bugs.webkit.org/show_bug.cgi?id=237700
<rdar://problem/88735051>

Reviewed by Eric Carlson.

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultUseGPUProcessForDOMRenderingEnabled):
(WebKit::defaultUseGPUProcessForWebGLEnabled):

Note: See TracTimeline for information about the timeline view.