Timeline



Aug 1, 2021: Today

7:46 PM Changeset in webkit [280524] by Fujii Hironori
  • 2 edits in trunk/Tools

[Win][DumpRenderTree] Clean up IndexedDB files between tests
https://bugs.webkit.org/show_bug.cgi?id=228692

Reviewed by Ryosuke Niwa.

storage/indexeddb/getdatabases.html was failing because it counted
up the remaining databases of previous tests.

Mac DRT removes IndexedDB after the testing (Bug 192796, r240358).
Win DRT also should do it.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(runTest): Call TestRunner::clearAllDatabases after the testing.

9:02 AM Changeset in webkit [280523] by youenn@apple.com
  • 12 edits in trunk/Source

Introduce an experimental feature to toggle WebRTC socket proxying
https://bugs.webkit.org/show_bug.cgi?id=228681

Reviewed by Eric Carlson.

Source/WebKit:

Decide whether to disable proxying based on experimental feature in WebProcess.
Send the disable relay value from WebProcess to NetworkProcess for TCP sockets.
Manually tested.

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::createClientTCPSocket):

  • NetworkProcess/webrtc/NetworkRTCProvider.h:
  • NetworkProcess/webrtc/NetworkRTCProvider.messages.in:
  • NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.h:
  • NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm:

(WebKit::NetworkRTCTCPSocketCocoa::createClientTCPSocket):
(WebKit::NetworkRTCTCPSocketCocoa::NetworkRTCTCPSocketCocoa):

  • WebProcess/Network/webrtc/LibWebRTCProvider.cpp:

(WebKit::RTCSocketFactory::CreateClientTcpSocket):
(WebKit::LibWebRTCProvider::createSocketFactory):

  • WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp:

(WebKit::LibWebRTCSocketFactory::createClientTcpSocket):

  • WebProcess/Network/webrtc/LibWebRTCSocketFactory.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
7:10 AM Changeset in webkit [280522] by Alexander Mikhaylenko
  • 2 edits in trunk/Tools

Add myself (Alexander Mikhaylenko) to contributors.json as a committer

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:

Jul 31, 2021: Yesterday

3:48 PM Changeset in webkit [280521] by mjs@apple.com
  • 2 edits in trunk/Source/WebCore

ListAttributeTargetObserver is needlessly created even when there is no list attribute
https://bugs.webkit.org/show_bug.cgi?id=228541

Reviewed by Yusuke Suzuki.

No new tests because no behavior change.

This is possibly a small improvement (~0.5%) on Speedometer subtests that do innerHTML, but not statistically significant.

Ported from a Chromium change by Adithya Srinivasan

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::resetListAttributeTargetObserver): check if there's a list attribute before making an observer.

1:47 PM Changeset in webkit [280520] by ysuzuki@apple.com
  • 4 edits in trunk/Source

[JSC] Move JIT_UNICODE_EXPRESSIONS to ENABLE(YARR_JIT_UNICODE_EXPRESSIONS) in PlatformEnable.h
https://bugs.webkit.org/show_bug.cgi?id=228669

Reviewed by Alexey Shvayka.

Source/JavaScriptCore:

Move JIT_UNICODE_EXPRESSIONS to PlatformEnable.h to align to the other YarrJIT flags.
This makes it easy to read that this is enabled on ARM64 and X86_64.

  • yarr/YarrJIT.cpp:

Source/WTF:

  • wtf/PlatformEnable.h:
1:43 PM Changeset in webkit [280519] by ysuzuki@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

[JSC] Clean up Yarr by using static constexpr
https://bugs.webkit.org/show_bug.cgi?id=228678

Reviewed by Alexey Shvayka.

Modernize Yarr code by using static constexpr.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::TrustedImm32::TrustedImm32):

  • yarr/YarrCanonicalizeUCS2.cpp:
  • yarr/YarrCanonicalizeUCS2.js:

(set characters.hex.set string_appeared_here):

  • yarr/YarrErrorCode.cpp:

(JSC::Yarr::errorMessage):

  • yarr/YarrJIT.cpp:
10:37 AM Changeset in webkit [280518] by youenn@apple.com
  • 11 edits in trunk/Source

Improve LocalSampleBufferDisplayLayer logging
https://bugs.webkit.org/show_bug.cgi?id=228582

Reviewed by Eric Carlson.

Source/WebCore:

Add logging to correlate a LocalSampleBufferDisplayLayer to its HTMLMediaElement and its MediaStreamTrack.
Introduce setLogIdentifer for that purpose.
No observable change of behavior.

  • platform/graphics/avfoundation/SampleBufferDisplayLayer.h:
  • platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.h:
  • platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:

(WebCore::LocalSampleBufferDisplayLayer::enqueueSample):
(WebCore::LocalSampleBufferDisplayLayer::onIrregularFrameRateNotification):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayers):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::checkSelectedVideoTrack):

Source/WebKit:

Send through IPC the log identifier to the GPU display layer.

  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:

(WebKit::RemoteSampleBufferDisplayLayer::setLogIdentifier):

  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in:
  • WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:

(WebKit::SampleBufferDisplayLayer::setLogIdentifier):

  • WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h:
9:53 AM Changeset in webkit [280517] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

AVVideoCaptureSource should not start/stop the camera if trying to apply the same size/frame rate configuration
https://bugs.webkit.org/show_bug.cgi?id=228634
<rdar://81174160>

Reviewed by Eric Carlson.

In some configurations, pages want to set a frame rate of 30, but the actual frame rate set will be 29.9999.
In that case, our heuristic to not recalibrate the camera fails.
To prevent this, we add checks in AVVideoCaptureSource to validate whether the new presets are the same as the already applied ones.

Manually tested.

  • platform/mediastream/mac/AVVideoCaptureSource.h:
  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::setSessionSizeAndFrameRate):

9:52 AM Changeset in webkit [280516] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

RemoteAudioMediaStreamTrackRendererInternalUnit should handle changes of requested sampleCount
https://bugs.webkit.org/show_bug.cgi?id=228631
<rdar://80690191>

Reviewed by Eric Carlson.

The requested number of samples might change in case the output device changes.
When changing device, we might have a generated buffer of 4096 while 1024 samples are requested.
For each 1024 sample chunk, we will request a buffer of 4096, which cannot be provided by WebProcess.
To prevent this case, we keep track of a requested sample count overshoot so that next time the render callback is called,
we might not request to generate another chunk.

  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp:

(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::start):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::render):

8:43 AM Changeset in webkit [280515] by Martin Robinson
  • 4 edits
    2 adds in trunk

REGRESSION(r279564): [GTK] Mouse wheel scrolling scrolls too little (take two)
https://bugs.webkit.org/show_bug.cgi?id=228572

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Test: platform/gtk/fast/scrolling/scroll-wheel-repeated-events.html

When scrolling by a delta with ScrollAnimationSmooth, base the target point
on the current scroll target instead of on the current position. We also
pass the point to updatePerAxisData instead of the delta in order to make
it more explicit what the desired behavior is for this method.

  • platform/ScrollAnimationSmooth.h: Update argument name.
  • platform/ScrollAnimationSmooth.cpp:

(WebCore::ScrollAnimationSmooth::scroll): Base the delta on the target position and
pass that as the argument to updatePerAxisData. When scrolling to a point, simply
pass that to updatePerAxisData.
(WebCore::ScrollAnimationSmooth::updatePerAxisData): Accept a point instead of a
delta, which makes it more obvious how to use this function and allows it to
be used the same way by both version of ScrollAnimationSmooth::scroll.

LayoutTests:

  • platform/gtk/fast/scrolling/scroll-wheel-repeated-events-expected.txt: Added.
  • platform/gtk/fast/scrolling/scroll-wheel-repeated-events.html: Added.
2:43 AM Changeset in webkit [280514] by ysuzuki@apple.com
  • 4773 edits
    322 adds in trunk/JSTests

[JSC] Upgrade test262
https://bugs.webkit.org/show_bug.cgi?id=228627

Reviewed by Ross Kirsling.

  • test262/config.yaml:
  • test262/expectations.yaml:
1:29 AM Changeset in webkit [280513] by jh718.park@samsung.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Remove the build warning below since r280493.
warning: variable ‘block’ set but not used [-Wunused-but-set-variable]

  • b3/B3CanonicalizePrePostIncrements.cpp:

(JSC::B3::canonicalizePrePostIncrements):

1:06 AM Changeset in webkit [280512] by ysuzuki@apple.com
  • 1 edit
    9 moves in trunk/LayoutTests

Move DOM-unrelated tests out of fast/regex/dom
https://bugs.webkit.org/show_bug.cgi?id=228661

Reviewed by Saam Barati.

By moving to fast/regex/, we can run them from JSC tests too.

  • fast/regex/lastIndex-expected.txt: Renamed from LayoutTests/fast/regex/dom/lastIndex-expected.txt.
  • fast/regex/lastIndex.html: Renamed from LayoutTests/fast/regex/dom/lastIndex.html.
  • fast/regex/non-pattern-characters-expected.txt: Renamed from LayoutTests/fast/regex/dom/non-pattern-characters-expected.txt.
  • fast/regex/non-pattern-characters.html: Renamed from LayoutTests/fast/regex/dom/non-pattern-characters.html.
  • fast/regex/script-tests/lastIndex.js: Renamed from LayoutTests/fast/regex/dom/script-tests/lastIndex.js.
  • fast/regex/script-tests/non-pattern-characters.js: Renamed from LayoutTests/fast/regex/dom/script-tests/non-pattern-characters.js.
  • fast/regex/script-tests/unicodeCaseInsensitive.js: Renamed from LayoutTests/fast/regex/dom/script-tests/unicodeCaseInsensitive.js.
  • fast/regex/unicodeCaseInsensitive-expected.txt: Renamed from LayoutTests/fast/regex/dom/unicodeCaseInsensitive-expected.txt.
  • fast/regex/unicodeCaseInsensitive.html: Renamed from LayoutTests/fast/regex/dom/unicodeCaseInsensitive.html.
12:52 AM Changeset in webkit [280511] by commit-queue@webkit.org
  • 7 edits
    1 delete in trunk

Unreviewed, reverting r280488.
https://bugs.webkit.org/show_bug.cgi?id=228677

media/modern-media-controls/ tests are failing or timed-out

Reverted changeset:

"[Cocoa] Remove support for AVAssetImageGenerator"
https://bugs.webkit.org/show_bug.cgi?id=228560
https://commits.webkit.org/r280488

Jul 30, 2021:

11:41 PM Changeset in webkit [280510] by sihui_liu@apple.com
  • 4 edits
    3 adds
    2 deletes in trunk/LayoutTests

[ macOS wk2 ARM 64 ] storage/indexeddb/IDBObject-leak.html is a flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=223453
<rdar://problem/75580609>

Reviewed by Youenn Fablet.

As JavaScriptCore uses conservative GC, transaction may be still be alive after one gc call, so we should invoke
gc multiple times.

Also, this patch renames IDBObject-leak.html to database-transaction-cycle.html to better indicate what it is
testing.

  • TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
  • storage/indexeddb/IDBObject-leak-expected.txt: Removed.
  • storage/indexeddb/IDBObject-leak.html: Removed.
  • storage/indexeddb/database-transaction-cycle-expected.txt: Added.
  • storage/indexeddb/database-transaction-cycle.html: Added.
  • storage/indexeddb/resources/database-transaction-cycle-iframe.html: Added.
11:07 PM Changeset in webkit [280509] by commit-queue@webkit.org
  • 20 edits
    2 adds in trunk

[css-overflow] Implement clip value for overflow
https://bugs.webkit.org/show_bug.cgi?id=198230

Patch by Rob Buis <rbuis@igalia.com> on 2021-07-30
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-overflow/overflow-clip-hit-testing-expected.txt: Added.
  • web-platform-tests/css/css-overflow/overflow-clip-scroll-size-expected.txt: Added.
  • web-platform-tests/css/css-overflow/parsing/overflow-computed-expected.txt:
  • web-platform-tests/css/css-overflow/parsing/overflow-valid-expected.txt:

Source/WebCore:

Implement overflow: clip. Parsing is like the other
overflow values but special logic is added to handle
the case where only one of overflow-x/overflow-y uses
'clip' [1]. Also adjusts code that computes layout and
visual overflow to take overflow: clip into account.

This matches Chrome and Firefox.

[1] https://drafts.csswg.org/css-overflow/#propdef-overflow-x

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator Overflow const):

  • css/CSSProperties.json:
  • css/parser/CSSParserContext.cpp:

(WebCore::operator==):
(WebCore::add):

  • css/parser/CSSParserContext.h:
  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):

  • page/FrameView.cpp: handle scrollbars

on viewport element same as overflow: hidden.
(WebCore::FrameView::applyOverflowToViewport):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateFromStyle):
(WebCore::RenderBox::scrollWidth const): overflow clip
forbids all scrolling.
(WebCore::RenderBox::scrollHeight const): Ditto.
(WebCore::RenderBox::setScrollLeft): Ditto.
(WebCore::RenderBox::setScrollTop): Ditto.
(WebCore::RenderBox::setScrollPosition): Ditto.
(WebCore::RenderBox::requiresLayerWithScrollableArea const): do
not create layer with scrollable area for overflow: clip.
(WebCore::RenderBox::canBeProgramaticallyScrolled const): overflow clip
forbids all scrolling.
(WebCore::RenderBox::scrollPosition const): overflow clip
forbids all scrolling.
(WebCore::RenderBox::overflowClipRect const): only clip the rect horizontally
for overflow-x: clip and only vertically for overflow-y: clip.
(WebCore::RenderBox::createsNewFormattingContext const): do
not create formatting context for overflow: clip.
(WebCore::RenderBox::addOverflowFromChild):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::layoutOverflowRectForPropagation const):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::enclosingScrollableContainerForSnapping const):

  • rendering/RenderObject.h: Add helper method that excludes overflow-x/y: clip.

(WebCore::RenderObject::hasPotentiallyScrollableOverflow const):

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:
  • style/StyleAdjuster.cpp: Add special logic is to handle the case where only

one of overflow-x/overflow-y uses 'clip'.
(WebCore::Style::Adjuster::adjust const):

Source/WTF:

Add preference for overflow: clip support.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

9:46 PM Changeset in webkit [280508] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] branchTest8 should not emit tst for Zero/NonZero cases
https://bugs.webkit.org/show_bug.cgi?id=228674

Reviewed by Mark Lam.

Previously, branchTest8(NonZero, BaseIndex) emits tst instruction
unnecessarily. This is because the mask is truncated into 8bit, which
makes branchTest32 (which is internally used in branchTest8) emits tst.
We observed many unnecessary tst in YarrJIT.

This patch removes this unnecessary truncation since Zero/NonZero does
not care high bits of mask in branchTest8. This is ok because the
ResultCondition version of mask8OnCondition() is always used to generate
a mask that is only used against a value that is loaded with
MacroAssemblerHelpers::load8OnCondition(). For Zero/NonZero conditions,
load8OnCondition() will always zero fill the upper bytes. The 0 filled
upper bytes will not affect the result of a branch on zero or branch on
not zero.

Before:

0x10a8068b0: ldrb w16, [x7, x6]
0x10a8068b4: tst w16, #0xff
0x10a8068b8: b.ne 0x10a8068cc

After:

0x1070068b0: ldrb w16, [x7, x6]
0x1070068b4: cbnz w16, 0x1070068c8

  • assembler/MacroAssemblerHelpers.h:

(JSC::MacroAssemblerHelpers::mask8OnCondition):

6:40 PM Changeset in webkit [280507] by rmorisset@apple.com
  • 6 edits
    1 add in trunk

Improve OSR entry into Wasm loops with arguments
https://bugs.webkit.org/show_bug.cgi?id=228595

Reviewed by Yusuke Suzuki.

JSTests:

Just a straightforward test that counts to 1M in a loop, to exercise both OSR entry and a loop with an argument at the same time.
100k iterations was not enough to reliably complete an OSR entry.

  • wasm/stress/osr-entry-with-loop-arguments.js: Added.

(async test):

Source/JavaScriptCore:

This patch has two parts:

  • improve the Wasm OSR code to fully support loop arguments (just some plumbing to make sure that the right values are propagated)
  • improve the B3 validator to fix a hole I noticed while writing the first part: we were not detecting code that introduce Upsilons in the wrong blocks. Naturally, this caused hard to debug issues, as B3 has no well-defined semantics for a Phi that is reached before the corresponding Upsilon(s).
  • b3/B3Validate.cpp:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck):
(JSC::Wasm::AirIRGenerator::addLoop):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::emitLoopTierUpCheck):
(JSC::Wasm::B3IRGenerator::addLoop):

  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::addLoop):

6:36 PM Changeset in webkit [280506] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Rename Temporal.now to Temporal.Now
https://bugs.webkit.org/show_bug.cgi?id=228658

Patch by Philip Chimento <pchimento@igalia.com> on 2021-07-30
Reviewed by Yusuke Suzuki.

See https://github.com/tc39/proposal-temporal/pull/1645. In the July
2021 meeting TC39 achieved consensus to rename Temporal.now to
Temporal.Now since it is a namespace.

  • runtime/TemporalNow.cpp: Change Now[@@toStringTag] accordingly.
  • runtime/TemporalObject.cpp: Rename now property to Now.
6:33 PM Changeset in webkit [280505] by Tadeu Zagallo
  • 5 edits in trunk

putInlineFastReplacingStaticPropertyIfNeeded should handle custom values
https://bugs.webkit.org/show_bug.cgi?id=227963

Reviewed by Alexey Shvayka.

JSTests:

  • stress/reflect-set-custom-value.js:

Source/JavaScriptCore:

Follow up after r280463: as it turns out, putInlineFastReplacingStaticPropertyIfNeeded also needs to handle
custom values, similar to how definePropertyOnReceiverSlow was updated. This function will be called when the
target property of the receiver is a custom value and isn't reified. The previous test case was expanded to
test both the reified and non-reified cases.

  • runtime/JSObject.cpp:

(JSC::JSObject::putInlineFastReplacingStaticPropertyIfNeeded):

  • tools/JSDollarVM.cpp:
5:07 PM Changeset in webkit [280504] by Chris Dumez
  • 96 edits
    3 copies
    1 add in trunk

Add initial support for 'Cross-Origin-Opener-Policy' HTTP header
https://bugs.webkit.org/show_bug.cgi?id=192193
<rdar://problem/42013525>

Reviewed by Geoff Garen.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that most tests are passing.

  • web-platform-tests/IndexedDB/serialize-sharedarraybuffer-throws.https-expected.txt:
  • web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/blob-popup.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/coep-blob-popup.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/coep-navigate-popup.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/coep-redirect.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/coep.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/coop-coep-sandbox.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/coop-csp-sandbox-navigate.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/coop-csp-sandbox.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/coop-navigated-history-popup.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/coop-navigated-popup.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/coop-sandbox.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/header-parsing.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/historical/coep-navigate-popup-unsafe-inherit.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-cross-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-origin-unsafe-allow-outgoing-with-same-site.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-cross-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-unsafe-allow-outgoing-with-same-site.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-with-cross-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/historical/popup-same-site-with-same-site.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups-to-same-origin-allow-popups.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups-to-same-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/iframe-popup-same-origin-to-same-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/iframe-popup-same-origin-to-unsafe-none.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/iframe-popup-unsafe-none-to-same-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/javascript-url.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/navigate-to-aboutblank.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/no-https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-coop-by-sw-from-coop.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-coop-by-sw.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-redirect-cache.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-redirect-same-origin-allow-popups.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-allow-popups-with-cross-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-allow-popups-with-same-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-allow-popups-with-same-site.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-with-cross-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-with-same-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-same-origin-with-same-site.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-unsafe-none-with-cross-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-unsafe-none-with-same-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-unsafe-none-with-same-site.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-unspecified-with-cross-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-unspecified-with-same-origin.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-unspecified-with-same-site.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/popup-with-structured-header.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/resource-popup.https-expected.txt:
  • web-platform-tests/html/cross-origin-opener-policy/resources/resource-popup.html:
  • web-platform-tests/html/dom/idlharness.worker-expected.txt:

Source/WebCore:

Add initial support for 'Cross-Origin-Opener-Policy' HTTP header:

Support is complete enough to pass most WPT tests with the exception of:

  • The ones involving blob. Support for Blob does not seem trivial so I will address separately (https://github.com/whatwg/html/issues/5198).
  • The ones that requires reporting COOP enforcement as this is not supported yet. This is a fairly large task so I'll handle separately.
  • The ones that involve Cross-Origin-Embedder-Policy (COEP) and this is not yet supported.

I tried to stay as close as possible to the HTML specification as possible in terms
of structuring and naming. I also have code comments to link to the relevant HTML
spec sections.

Note that as it stands, we do not currently swap process based on COOP header. We
merely do isolation of the new browsing context at JS level for now. At some point,
we'll want to actually process-swap, once we support COEP and we want to re-enable
some Web APIs such as SharedArrayBuffer.

No new tests, covered by web-plaform-tests/html/cross-origin-opener-policy.

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • dom/Document.cpp:

(WebCore::Document::initSecurityContext):
(WebCore::Document::shouldForceNoOpenerBasedOnCOOP const):
(WebCore::Document::crossOriginOpenerPolicy const):
(WebCore::Document::setCrossOriginOpenerPolicy):

  • dom/Document.h:

(WebCore::Document::isSameOriginAsTopDocument const):

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::enforceSandboxFlags):

  • dom/SecurityContext.h:

(WebCore::SecurityContext::creationSandboxFlags const):

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::openURLExternally):

  • loader/CrossOriginEmbedderPolicy.cpp: Copied from Source/WebCore/page/AbstractFrame.cpp.

(WebCore::obtainCrossOriginEmbedderPolicy):

  • loader/CrossOriginEmbedderPolicy.h: Copied from Source/WebCore/page/AbstractFrame.cpp.
  • loader/CrossOriginOpenerPolicy.cpp: Added.

(WebCore::obtainCrossOriginOpenerPolicy):

  • loader/CrossOriginOpenerPolicy.h: Copied from Source/WebCore/page/AbstractFrame.h.
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest):
(WebCore::checkIfCOOPValuesRequireBrowsingContextGroupSwitch):
(WebCore::computeResponseOriginAndCOOP):
(WebCore::DocumentLoader::doCrossOriginOpenerHandlingOfResponse):
(WebCore::DocumentLoader::enforceResponseCrossOriginOpenerPolicy):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::maybeLoadEmpty):

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::crossOriginOpenerPolicy const):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::begin):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::didBeginDocument):
(WebCore::FrameLoader::setOpener):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::createWindow):
(WebCore::FrameLoader::switchBrowsingContextsGroup):

  • loader/FrameLoader.h:
  • loader/NavigationAction.cpp:
  • loader/NavigationAction.h:

(WebCore::NavigationAction::Requester::securityOrigin const):
(WebCore::NavigationAction::Requester::topOrigin const):
(WebCore::NavigationAction::Requester::crossOriginOpenerPolicy const):

  • page/AbstractFrame.cpp:

(WebCore::AbstractFrame::resetWindowProxy):

  • page/AbstractFrame.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::crossOriginIsolated const):
(WebCore::DOMWindow::createWindow):

  • page/DOMWindow.h:
  • page/Frame.cpp:

(WebCore::Frame::resetScript):

  • page/Frame.h:
  • page/Page.h:

(WebCore::Page::setOpenedByDOMWithOpener):

  • page/WindowOrWorkerGlobalScope.idl:
  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::applyPolicyToScriptExecutionContext):

  • platform/network/HTTPHeaderNames.in:
  • platform/network/HTTPParsers.cpp:

(WebCore::parseStructuredFieldValue):

  • platform/network/HTTPParsers.h:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::isSafeRedirectionResponseHeader):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::crossOriginIsolated const):

  • workers/WorkerGlobalScope.h:

Source/WTF:

Add experimental feature flag for 'Cross-Origin-Opener-Policy' HTTP header
support.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

Update test expectations.

  • TestExpectations:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk2/TestExpectations:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac/TestExpectations:
4:57 PM Changeset in webkit [280503] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] http/wpt/service-workers/navigation-redirect-main-frame.https.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=228670

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:08 PM Changeset in webkit [280502] by Chris Dumez
  • 28 edits in trunk

Unreviewed, reverting r280482.

Will take a more conservative approach

Reverted changeset:

"HTMLElement.innerText setter should convert new lines to
<br>"
https://bugs.webkit.org/show_bug.cgi?id=228605
https://commits.webkit.org/r280482

4:04 PM Changeset in webkit [280501] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Add spacebar functionality for macOS smooth scrolling
https://bugs.webkit.org/show_bug.cgi?id=228155

Patch by Dana Estra <destra@apple.com> on 2021-07-30
Reviewed by Tim Horton.

Fixed bug that was causing spacebar events to return false from beginKeyboardScrollGesture.

Manually tested on webpage.

  • platform/KeyboardScrollingAnimator.cpp:

(WebCore::KeyboardScrollingAnimator::beginKeyboardScrollGesture):

3:38 PM Changeset in webkit [280500] by Jean-Yves Avenard
  • 5 edits in trunk

REGRESSION (r274460?): Infinite recursion on fullscreen/full-screen-remove-ancestor.html in WTR::InjectedBundlePage::closeFullScreen
https://bugs.webkit.org/show_bug.cgi?id=224085
rdar://75576840

Reviewed by Eric Carlson.

Source/WebKit:

WebFullScreenManager::close() is used to cleanup a transient error when exiting or
attempting to exit fullscreen; it then calls InjectedBundleXXX::closeFullScreen().
It is possible for the injected bundle's closeFullScreen() to attempt to exit full
screen mode again.
Rather than making the bundle responsible for doing the right thing, we add a
workaround in the fullscreen manager to ensure no recursion is happening.

Covered by existing test.

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::close):

  • WebProcess/FullScreen/WebFullScreenManager.h: Make close() method private

LayoutTests:

  • platform/mac-wk2/TestExpectations: re-enable test.
3:29 PM Changeset in webkit [280499] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iPad ] fast/canvas/canvas-color-space-display-p3.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=228663

Unreviewed test gardening.

  • platform/ipad/TestExpectations:
3:03 PM Changeset in webkit [280498] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed follow-up to r280491 to address review feedback from Darin Adler.

Use URL::isBlankURL() instead of a case-sensitive match for aboutBlankURL().

  • dom/Document.cpp:

(WebCore::Document::updateBaseURL):

2:35 PM Changeset in webkit [280497] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS Debug ] fast/events/tabindex-focus-blur-all.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=228659

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:16 PM Changeset in webkit [280496] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix wrong access width
https://bugs.webkit.org/show_bug.cgi?id=228301
rdar://81341472

  • yarr/YarrJIT.cpp:
1:58 PM Changeset in webkit [280495] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

REGRESSION (r275641): [ iPad Debug ] accessibility/ios-simulator/scroll-in-overflow-div.html is asserting.
https://bugs.webkit.org/show_bug.cgi?id=228622

Unreviewed test gardening.

  • platform/ipad/TestExpectations:
1:46 PM Changeset in webkit [280494] by Ayumi Kojima
  • 1 edit
    1 add in trunk/LayoutTests

[ iPad ] Rebaselining fast/dom/collection-iterators.html.
https://bugs.webkit.org/show_bug.cgi?id=228657

Unreviewed test gardening.

  • platform/ipad/fast/dom/collection-iterators-expected.txt: Added.
1:44 PM Changeset in webkit [280493] by Yijia Huang
  • 16 edits
    1 copy
    1 add in trunk/Source/JavaScriptCore

Add Pre/Post-Indexed Address Mode to Air for ARM64
https://bugs.webkit.org/show_bug.cgi?id=228047

Reviewed by Phil Pizlo.

Pre-indexed addressing means that the address is the sum of the value in the 64-bit base register
and an offset, and the address is then written back to the base register. And post-indexed
addressing means that the address is the value in the 64-bit base register, and the sum of the
address and the offset is then written back to the base register. They are relatively common for
loops to iterate over an array by increasing/decreasing a pointer into the array at each iteration.
With such an addressing mode, the instruction selector can merge the increment and access the array.

#####################################
## Pre-Index Address Mode For Load ##
#####################################

LDR Wt, [Xn, #imm]!

In B3 Reduction Strength, since we have this reduction rule:

Turn this: Load(Add(address, offset1), offset = offset2)
Into this: Load(address, offset = offset1 + offset2)

Then, the equivalent pattern is:

address = Add(base, offset)
...
memory = Load(base, offset)

First, we convert it to the canonical form:

address = Add(base, offset)
newMemory = Load(base, offset) move the memory to just after the address
...
memory = Identity(newMemory)

Next, lower to Air:

Move %base, %address
Move (%address, prefix(offset)), %newMemory

######################################
## Post-Index Address Mode For Load ##
######################################

LDR Wt, [Xn], #imm

Then, the equivalent pattern is:

memory = Load(base, 0)
...
address = Add(base, offset)

First, we convert it to the canonical form:

newOffset = Constant
newAddress = Add(base, offset)
memory = Load(base, 0) move the offset and address to just before the memory
...
offset = Identity(newOffset)
address = Identity(newAddress)

Next, lower to Air:

Move %base, %newAddress
Move (%newAddress, postfix(offset)), %memory

#############################
## Pattern Match Algorithm ##
#############################

To detect the pattern for prefix/postfix increment address is tricky due to the structure in B3 IR. The
algorithm used in this patch is to collect the first valid values (add/load), then search for any
paired value (load/add) to match all of them. In worst case, the runtime complexity is O(n2)
when n is the number of all values.

After collecting two sets of candidates, we match the prefix incremental address first since it seems
more beneficial to the compiler (shown in the next section). And then, go for the postfix one.

##############################################
## Test for Pre/Post-Increment Address Mode ##
##############################################

Given Loop with Pre-Increment:
int64_t ldr_pre(int64_t *p) {

int64_t res = 0;
while (res < 10)

res += *++p;

return res;

}

B3 IR:


BB#0: ; frequency = 1.000000

Int64 b@0 = Const64(0)
Int64 b@2 = ArgumentReg(%x0)
Void b@20 = Upsilon($0(b@0), 18, WritesLocalState)
Void b@21 = Upsilon(b@2,
19, WritesLocalState)
Void b@4 = Jump(Terminal)

Successors: #1
BB#1: ; frequency = 1.000000
Predecessors: #0, #2

Int64 b@18 = Phi(ReadsLocalState)
Int64 b@19 = Phi(ReadsLocalState)
Int64 b@7 = Const64(10)
Int32 b@8 = AboveEqual(b@18, $10(b@7))
Void b@9 = Branch(b@8, Terminal)

Successors: Then:#3, Else:#2
BB#2: ; frequency = 1.000000
Predecessors: #1

Int64 b@10 = Const64(8)
Int64 b@11 = Add(b@19, $8(b@10))
Int64 b@13 = Load(b@11, ControlDependent|Reads:Top)
Int64 b@14 = Add(b@18, b@13)
Void b@22 = Upsilon(b@14, 18, WritesLocalState)
Void b@23 = Upsilon(b@11,
19, WritesLocalState)
Void b@16 = Jump(Terminal)

Successors: #1
BB#3: ; frequency = 1.000000
Predecessors: #1

Void b@17 = Return(b@18, Terminal)

Variables:

Int64 var0
Int64 var1


W/O Pre-Increment Address Mode:


...
BB#2: ; frequency = 1.000000
Predecessors: #1

Move $8, %x3, $8(b@12)
Add64 $8, %x0, %x1, b@11
Move (%x0,%x3), %x0, b@13
Add64 %x0, %x2, %x2, b@14
Move %x1, %x0, b@23
Jump b@16

Successors: #1
...


W/ Pre-Increment Address Mode:


...
BB#2: ; frequency = 1.000000
Predecessors: #1

MoveWithIncrement64 (%x0,Pre($8)), %x2, b@13
Add64 %x2, %x1, %x1, b@14
Jump b@16

Successors: #1
...


Given Loop with Post-Increment:
int64_t ldr_pre(int64_t *p) {

int64_t res = 0;
while (res < 10)

res += *p++;

return res;

}

B3 IR:


BB#0: ; frequency = 1.000000

Int64 b@0 = Const64(0)
Int64 b@2 = ArgumentReg(%x0)
Void b@20 = Upsilon($0(b@0), 18, WritesLocalState)
Void b@21 = Upsilon(b@2,
19, WritesLocalState)
Void b@4 = Jump(Terminal)

Successors: #1
BB#1: ; frequency = 1.000000
Predecessors: #0, #2

Int64 b@18 = Phi(ReadsLocalState)
Int64 b@19 = Phi(ReadsLocalState)
Int64 b@7 = Const64(10)
Int32 b@8 = AboveEqual(b@18, $10(b@7))
Void b@9 = Branch(b@8, Terminal)

Successors: Then:#3, Else:#2
BB#2: ; frequency = 1.000000
Predecessors: #1

Int64 b@10 = Load(b@19, ControlDependent|Reads:Top)
Int64 b@11 = Add(b@18, b@10)
Int64 b@12 = Const64(8)
Int64 b@13 = Add(b@19, $8(b@12))
Void b@22 = Upsilon(b@11, 18, WritesLocalState)
Void b@23 = Upsilon(b@13,
19, WritesLocalState)
Void b@16 = Jump(Terminal)

Successors: #1
BB#3: ; frequency = 1.000000
Predecessors: #1

Void b@17 = Return(b@18, Terminal)

Variables:

Int64 var0
Int64 var1


W/O Post-Increment Address Mode:


...
BB#2: ; frequency = 1.000000
Predecessors: #1

Move (%x0), %x2, b@10
Add64 %x2, %x1, %x1, b@11
Add64 $8, %x0, %x0, b@13
Jump b@16

Successors: #1
...


W/ Post-Increment Address Mode:


...
BB#2: ; frequency = 1.000000
Predecessors: #1

MoveWithIncrement64 (%x0,Post($8)), %x2, b@10
Add64 %x2, %x1, %x1, b@11
Jump b@16

Successors: #1
...


  • Sources.txt:
  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::PreIndexAddress::PreIndexAddress):
(JSC::AbstractMacroAssembler::PostIndexAddress::PostIndexAddress):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::load64):
(JSC::MacroAssemblerARM64::load32):
(JSC::MacroAssemblerARM64::store64):
(JSC::MacroAssemblerARM64::store32):

  • assembler/testmasm.cpp:

(JSC::testStorePrePostIndex32):
(JSC::testStorePrePostIndex64):
(JSC::testLoadPrePostIndex32):
(JSC::testLoadPrePostIndex64):

  • b3/B3CanonicalizePrePostIncrements.cpp: Added.

(JSC::B3::canonicalizePrePostIncrements):

  • b3/B3CanonicalizePrePostIncrements.h: Copied from Source/JavaScriptCore/b3/B3ValueKeyInlines.h.
  • b3/B3Generate.cpp:

(JSC::B3::generateToAir):

  • b3/B3LowerToAir.cpp:
  • b3/B3ValueKey.h:
  • b3/B3ValueKeyInlines.h:

(JSC::B3::ValueKey::ValueKey):

  • b3/air/AirArg.cpp:

(JSC::B3::Air::Arg::jsHash const):
(JSC::B3::Air::Arg::dump const):
(WTF::printInternal):

  • b3/air/AirArg.h:

(JSC::B3::Air::Arg::preIndex):
(JSC::B3::Air::Arg::postIndex):
(JSC::B3::Air::Arg::isPreIndex const):
(JSC::B3::Air::Arg::isPostIndex const):
(JSC::B3::Air::Arg::isMemory const):
(JSC::B3::Air::Arg::base const):
(JSC::B3::Air::Arg::offset const):
(JSC::B3::Air::Arg::isGP const):
(JSC::B3::Air::Arg::isFP const):
(JSC::B3::Air::Arg::isValidPreIndexForm):
(JSC::B3::Air::Arg::isValidPostIndexForm):
(JSC::B3::Air::Arg::isValidForm const):
(JSC::B3::Air::Arg::forEachTmpFast):
(JSC::B3::Air::Arg::forEachTmp):
(JSC::B3::Air::Arg::asPreIndexAddress const):
(JSC::B3::Air::Arg::asPostIndexAddress const):

  • b3/air/AirOpcode.opcodes:
  • b3/air/opcode_generator.rb:
  • b3/testb3.h:
  • b3/testb3_3.cpp:

(testLoadPreIndex32):
(testLoadPreIndex64):
(testLoadPostIndex32):
(testLoadPostIndex64):
(addShrTests):

  • jit/ExecutableAllocator.cpp:

(JSC::jitWriteThunkGenerator):

1:26 PM Changeset in webkit [280492] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk/Source/WebCore

Add key-driven smooth scrolling to macOS
https://bugs.webkit.org/show_bug.cgi?id=228009

Patch by Dana Estra <destra@apple.com> on 2021-07-30
Reviewed by Tim Horton.

Cause keyboard scroll event to trigger start of smooth scroll animation, using same physics implementation as iOS smooth scrolling.

No tests yet.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Node.cpp:

(WebCore::Node::defaultEventHandler):

  • page/EventHandler.cpp:

(WebCore::EventHandler::defaultKeyboardEventHandler):
(WebCore::EventHandler::scrollDistance):
(WebCore::EventHandler::stopKeyboardScrolling):
(WebCore::EventHandler::startKeyboardScrolling):

  • platform/KeyboardScrollingAnimator.cpp: Added.
  • platform/KeyboardScrollingAnimator.h: Added.
  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::startAnimationCallback):

  • platform/ScrollAnimator.h:
  • platform/ScrollController.cpp:

(WebCore::ScrollController::animationCallback):
(WebCore::ScrollController::startOrStopAnimationCallbacks):
(WebCore::ScrollController::beginKeyboardScrolling):
(WebCore::ScrollController::stopKeyboardScrolling):
(WebCore::ScrollController::setIsAnimatingKeyboardScrolling):
(WebCore::ScrollController::updateKeyboardScrollingAnimatingState):

  • platform/ScrollController.h:

(WebCore::ScrollControllerClient::updateKeyboardScrollPosition):

1:25 PM Changeset in webkit [280491] by Chris Dumez
  • 15 edits
    5 moves in trunk

Document's fallback base URL should be deduced from its creator when URL is about:blank
https://bugs.webkit.org/show_bug.cgi?id=228624

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT test now that one more check is passing.

  • web-platform-tests/html/infrastructure/urls/terminology-0/document-base-url-expected.txt:

Source/WebCore:

Document's fallback base URL should be deduced from its creator when URL is about:blank:

Chrome and Firefox match the specification here.

Tests: http/tests/dom/iframe-no-src-local-origin-allow.html

http/tests/dom/iframe-no-src-set-location.html

  • dom/Document.cpp:

(WebCore::Document::updateBaseURL):

LayoutTests:

Update existing tests to reflect behavior change. I have verified that those tests were failing in Firefox & Chrome and
are now passing in those browsers.

  • http/tests/dom/iframe-no-src-local-origin-allow-expected.txt: Renamed from LayoutTests/fast/frames/iframe-no-src-local-origin-allow-expected.txt.
  • http/tests/dom/iframe-no-src-local-origin-allow.html: Renamed from LayoutTests/fast/frames/iframe-no-src-local-origin-allow.html.
  • http/tests/dom/iframe-no-src-set-location-expected.txt: Renamed from LayoutTests/fast/frames/iframe-no-src-set-location-expected.txt.
  • http/tests/dom/iframe-no-src-set-location.html: Renamed from LayoutTests/fast/frames/iframe-no-src-set-location.html.
  • http/tests/dom/resources/iframe-no-src-set-location-pass.html: Renamed from LayoutTests/fast/frames/resources/iframe-no-src-set-location-pass.html.
  • http/tests/security/aboutBlank/security-context-expected.txt:
  • http/tests/security/aboutBlank/security-context-grandchildren-expected.txt:
  • http/tests/security/aboutBlank/security-context-grandchildren-lexical-expected.txt:
  • http/tests/security/aboutBlank/security-context-grandchildren-write-lexical-expected.txt:
  • http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical-expected.txt:
  • http/tests/security/aboutBlank/security-context-window-open-expected.txt:
  • http/tests/security/aboutBlank/security-context-with-base-tag-expected.txt:
  • http/tests/security/aboutBlank/security-context-write-expected.txt:
  • http/tests/security/aboutBlank/security-context-writeln-expected.txt:
12:49 PM Changeset in webkit [280490] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Accessibility code logs to stderr in many layout test runs
https://bugs.webkit.org/show_bug.cgi?id=228653

Reviewed by Wenson Hsieh.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::accessibilityPreferencesDidChange):
r279342 accidentally landed a WTFLogAlways in a common codepath. Remove it.

11:56 AM Changeset in webkit [280489] by Alexey Shvayka
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r280460): 42 JSC test failures on Debug arm64 with ASSERTION FAILED: !m_needExceptionCheck
https://bugs.webkit.org/show_bug.cgi?id=228652

Unreviewed unchecked exception fix.

Release scope before calling RegExpGlobalData::getBackref().

  • runtime/RegExpConstructor.cpp:

(JSC::JSC_DEFINE_CUSTOM_GETTER):

11:49 AM Changeset in webkit [280488] by jer.noble@apple.com
  • 7 edits
    1 add in trunk

[Cocoa] Remove support for AVAssetImageGenerator
https://bugs.webkit.org/show_bug.cgi?id=228560

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

The 2x2-green.mp4 file fails to decode as its natural size is too small for the system decoder to handle. Replace with
a media file of more reasonable size.

  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-aspect-ratio.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base.html:
  • web-platform-tests/media/16x16-green.mp4: Added.

Source/WebCore:

AVAssetImageGenerator is used when there is not yet an available image from AVPlayerItemVideoOutput.
However, AVAssetImageGenerator is a synchronous API call; if data for the current time is not available,
the generator will cause a request for that data to be issued, and if the main thread is blocked in a
synchronous call to the generator, that request can never be completed, causing a deadlock.

Instead, always block moving to a readyState >= HAVE_CURRENT_DATA until either the AVPlayerLayer or
the AVPlayerItemVideoOutput report having an available frame. This prevents clients from attempting
to paint until a frame is available, and ensures that we will always have an available frame for
painting, removing the need for the synchronous generator call.

To ensure the readyState is updated when AVPlayerItemVideoOutput has an available image, register
with the output at creation time for a notification as soon as an image is available. And in the existing
delegate object, send a message back to the MediaPlayerPrivateAVFoundationObjC when that occurs.

No tests needed; this should reduce flakiness of existing tests and cause no regression in behavior.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::updateStates):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::hasContextRenderer const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::outputMediaDataWillChange):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
(-[WebCoreAVFPullDelegate setParent:]):
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageGenerator): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyImageGenerator): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Deleted.

11:25 AM Changeset in webkit [280487] by Russell Epstein
  • 1 copy in tags/Safari-612.1.26

Tag Safari-612.1.26.

11:13 AM Changeset in webkit [280486] by Russell Epstein
  • 2 edits in branches/safari-612.1.26-branch/Source/WebKit

Cherry-pick r280433. rdar://problem/81334141

The bundle path of downlevel Safari is wrong
https://bugs.webkit.org/show_bug.cgi?id=228339

Reviewed by Tim Horton.

Use the same approach as isSystemWebKit to check whether the WebKit bundle
is from the staged framework.

  • Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm: (WebKit::isFeatureFlagEnabled):

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

11:13 AM Changeset in webkit [280485] by Russell Epstein
  • 2 edits in branches/safari-612.1.26-branch/Source/WebKit

Cherry-pick r280424. rdar://problem/81334136

[macOS Catalina] Some feature preferences have wrong default values
https://bugs.webkit.org/show_bug.cgi?id=228564

Reviewed by Tim Horton.

When HAVE(SYSTEM_FEATURE_FLAGS) is false, we still need to enable
some features by default.

This patch makes sure the following features are enabled by default
on macOS (consistent with the properties in WebKit-macos.plist):

  • async_frame_and_overflow_scrolling
  • gpu_process_canvas_rendering
  • gpu_process_media
  • gpu_process_webrtc
  • incremental_pdf
  • vp9_decoder
  • webm_format_reader
  • webm_parser
  • Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultUseGPUProcessForCanvasRenderingEnabled): (WebKit::defaultUseGPUProcessForDOMRenderingEnabled): (WebKit::defaultUseGPUProcessForMediaEnabled): (WebKit::defaultCaptureAudioInGPUProcessEnabled): (WebKit::defaultCaptureVideoInGPUProcessEnabled): (WebKit::defaultWebRTCCodecsInGPUProcess): (WebKit::defaultIncrementalPDFEnabled): (WebKit::defaultWebMFormatReaderEnabled):

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

11:08 AM Changeset in webkit [280484] by youenn@apple.com
  • 3 edits in trunk/Source/WebKit

softlink nw_parameters_allow_sharing_port_with_listener
https://bugs.webkit.org/show_bug.cgi?id=228636

Reviewed by Eric Carlson.

  • NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:

(WebKit::NetworkRTCUDPSocketCocoaConnections::createNWConnection):
This helps compiling/running WebKit on older OSes.
Also make use of nw_endpoint_create_host_with_numeric_port to remove the need for string to int conversion.

  • Platform/spi/Cocoa/NWParametersSPI.h:
10:46 AM Changeset in webkit [280483] by Jonathan Bedard
  • 4 edits in trunk/Tools

[git-webkit] Forward errors from log and blame
https://bugs.webkit.org/show_bug.cgi?id=228621
<rdar://problem/81297642>

Rubber-stamped by Aakash Jain.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:

(FilteredCommand.main): If the exit code is non-zero, print all errors.

10:46 AM Changeset in webkit [280482] by Chris Dumez
  • 28 edits in trunk

HTMLElement.innerText setter should convert new lines to <br>
https://bugs.webkit.org/show_bug.cgi?id=228605

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaselined WPT tests that are now passing. Note that those were failing in WebKit but passing in Firefox
and Chrome.

  • web-platform-tests/html/dom/elements/the-innertext-and-outertext-properties/innertext-setter-expected.txt:
  • web-platform-tests/html/dom/elements/the-innertext-idl-attribute/setter-expected.txt:
  • web-platform-tests/innerText/setter-expected.txt:

Source/WebCore:

HTMLElement.innerText setter should convert new lines to <br>:

Our innerText setter had some logic that was specific to form elements and specific render
styles that wasn't part of the specification. It was causing us to not replace the new lines
with <br> in some cases. I dropped this logic to align with Blink and Gecko, as those are
passing the same WPT tests.

No new tests, rebaselined existing tests.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setInnerText):

LayoutTests:

Rebaseline a few tests that changed output.

  • editing/pasteboard/smart-paste-paragraph-003-expected.txt:
  • platform/mac/editing/input/reveal-caret-of-multiline-input-expected.txt:
  • platform/mac/fast/forms/basic-textareas-quirks-expected.txt:
  • platform/mac/fast/forms/textarea-scroll-height-expected.txt:
  • platform/mac/fast/forms/textarea-scrollbar-expected.txt:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
  • platform/mac/fast/forms/textarea-width-expected.txt:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/mac/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
10:30 AM Changeset in webkit [280481] by youenn@apple.com
  • 8 edits in trunk/Source/WebKit

Attribute nw connections to the source application
https://bugs.webkit.org/show_bug.cgi?id=228641
<rdar://81039713>

Reviewed by Alex Christensen.

Add source application token for every nw connection/listener, like done for WebSocket or NSURLSession tasks.
This will allow the nw layer to do custom processing based on the application doing the loads.
Introduce an audit_token_t getter on NetworkProcess.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::sourceApplicationAuditData const):
(WebKit::NetworkProcess::sourceApplicationAuditToken const):

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::NetworkRTCProvider):

  • NetworkProcess/webrtc/NetworkRTCProvider.h:

(WebKit::NetworkRTCProvider::sourceApplicationAuditToken const):

  • NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm:

(WebKit::NetworkRTCTCPSocketCocoa::NetworkRTCTCPSocketCocoa):

  • NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:

(WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections):
(WebKit::NetworkRTCUDPSocketCocoaConnections::configureParameters):

  • Platform/spi/Cocoa/NWParametersSPI.h:
10:02 AM Changeset in webkit [280480] by sihui_liu@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test imported/w3c/web-platform-tests/IndexedDB/fire-error-event-exception.html is a Flaky Failure
https://bugs.webkit.org/show_bug.cgi?id=201481
<rdar://problem/55046055>

Reviewed by Youenn Fablet.

The test always passes now according to recent results, but it is shown as failed as TEXT because of the
expectation.

  • platform/mac/TestExpectations:
9:41 AM Changeset in webkit [280479] by Chris Dumez
  • 13 edits in trunk

Clicking an HTMLLinkElement should not trigger a navigation
https://bugs.webkit.org/show_bug.cgi?id=228618

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline WPT test now that more checks are passing.

  • web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/navigation.sub-expected.txt:

Source/WebCore:

Clicking an HTMLLinkElement should not trigger a navigation because HTMLLinkElement has no activation
behavior as per the HTML specification:

Firefox and Chrome follow the specification here.

No new tests, updated/rebaselined existing tests.

  • html/HTMLLinkElement.cpp:
  • html/HTMLLinkElement.h:

LayoutTests:

Update existing tests to reflect behavior change. I verified that the tests were failing
in both Firefox and Chrome prior to me updating them.

  • fast/dom/html-link-element-activation-behavior-on-element-click-expected.txt:
  • fast/dom/html-link-element-activation-behavior-on-element-click.html:
  • fast/dom/html-link-element-activation-behavior-on-mouse-click-expected.txt:
  • fast/dom/html-link-element-activation-behavior-on-mouse-click.html:
  • fast/dom/resources/html-link-element-activation-behavior-on-element-click-step1.html:
  • fast/dom/resources/html-link-element-activation-behavior-on-mouse-click-step1.html:
  • fast/dom/resources/html-link-element-activation-behavior-target.html:
9:35 AM Changeset in webkit [280478] by Jonathan Bedard
  • 4 edits in trunk/Tools

[git-webkit] Not all platforms support more -F
https://bugs.webkit.org/show_bug.cgi?id=228619
<rdar://problem/81296290>

Reviewed by Aakash Jain.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:

(FilteredCommand.pager): Only pass -F to more on Darwin.

9:21 AM Changeset in webkit [280477] by dino@apple.com
  • 7 edits in trunk

[Media Controls] Add an option for having no scrubber on the time control and parameterize margin
https://bugs.webkit.org/show_bug.cgi?id=228633
rdar://81314458

Reviewed by Tim Horton.

Source/WebCore:

Add support for a scrubber bar that does not have a knob (or, to be clear, an
invisible knob). While here, move the constant for the margin into a custom
CSS property so it can be easily overridden.

  • Modules/modern-media-controls/controls/media-controls.css:

(*): Add --scrubber-margin custom property.

  • Modules/modern-media-controls/controls/slider.css:

(.slider > .custom-slider > .knob.none): Add style for a "none" knob.

  • Modules/modern-media-controls/controls/slider.js:

(Slider.prototype.commit): Support "none".

  • Modules/modern-media-controls/controls/time-control.js: Get the margin from

the new custom property.
(TimeControl.prototype.get minimumWidth):
(TimeControl.prototype.get idealMinimumWidth):
(TimeControl.prototype.layout):
(TimeControl.prototype._performIdealLayout):

LayoutTests:

Make sure the TimeControls element is in the document so its computed style
can be read.

  • media/modern-media-controls/time-control/time-control.html:
8:47 AM Changeset in webkit [280476] by Chris Dumez
  • 6 edits in trunk

postMessage() should throw if any duplicate transferable is found in transferList
https://bugs.webkit.org/show_bug.cgi?id=228608

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline WPT test now that more checks are passing.

  • web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt:

Source/WebCore:

postMessage() should throw if any duplicate transferable is found in transferList:

No new tests, rebaselined existing test.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::create):

8:25 AM Changeset in webkit [280475] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ BigSur Release wk2 arm64] imported/w3c/web-platform-tests/html/cross-origin-opener-policy/iframe-popup-unsafe-none-to-same-origin.https.html.
https://bugs.webkit.org/show_bug.cgi?id=228644.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
8:02 AM Changeset in webkit [280474] by Eric Hutchison
  • 3 edits in trunk/LayoutTests

Updated test expectations for imported/w3c/web-platform-tests/html/cross-origin-opener-policy/header-parsing.https.html.
https://bugs.webkit.org/show_bug.cgi?id=228197.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
7:52 AM Changeset in webkit [280473] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

imported/w3c/web-platform-tests/html/cross-origin-opener-policy/iframe-popup-same-origin-to-unsafe-none.https.html is a flaky failure .
https://bugs.webkit.org/show_bug.cgi?id=228642.

Unreviewed test gardening.

  • platform/mac/TestExpectations:
7:00 AM Changeset in webkit [280472] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[Mac Debug] imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.tentative.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228640.

Unreviewed test gardening.

  • platform/mac/TestExpectations:
2:09 AM Changeset in webkit [280471] by commit-queue@webkit.org
  • 4 edits in trunk

[AspectRatio] Fix replaced-element-034.html
https://bugs.webkit.org/show_bug.cgi?id=228223

Patch by Rob Buis <rbuis@igalia.com> on 2021-07-30
Reviewed by Manuel Rego Casasnovas.

Source/WebCore:

Fix replaced-element-034.html by making hasReplacedLogicalHeight
return false for *-content when aspect-ratio is provided and relying
on computeReplacedLogicalHeight to take aspect-ratio into account.

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::hasReplacedLogicalHeight const):

LayoutTests:

1:41 AM Changeset in webkit [280470] by ysuzuki@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Use UCPURegister argument to remove zero extension in JIT code
https://bugs.webkit.org/show_bug.cgi?id=228625

Reviewed by Robin Morisset.

Yarr JIT code emits zeroExtend32ToWord for some arguments, but this is not necessary if
argument is defined as UCPURegister. In that case, caller guarantees that top 32bits are
cleared.

  • yarr/YarrJIT.cpp:
  • yarr/YarrJIT.h:
1:29 AM Changeset in webkit [280469] by Adrian Perez de Castro
  • 2 edits in trunk

[CMake] Fix fallback methods in the libgcrypt find module
https://bugs.webkit.org/show_bug.cgi?id=228581

Reviewed by Carlos Alberto Lopez Perez.

  • Source/cmake/FindLibGcrypt.cmake: Make sure to use the libgcrypt-config script as

first fallback if libgcrypt.pc is not present, and fix the regexp used as last fallback
that checks the version from the gcrypt.h header as last fallback to only include digits
and periods.

Jul 29, 2021:

11:43 PM Changeset in webkit [280468] by Tomoki Imai
  • 3 edits
    2 adds in trunk

Missing playing events when the ready state becomes HAVE_FUTURE_DATA/HAVE_ENOUGH_DATA from HAVE_METADATA state
https://bugs.webkit.org/show_bug.cgi?id=228531

Reviewed by Eric Carlson.

Source/WebCore:

The main issue is that missing playing event when the ready state becomes HAVE_FUTURE_DATA or HAVE_ENOUGH_DATA from HAVE_METADATA.
According to the specification, we need to "notify about playing" in the following cases:

  • If the previous ready state was HAVE_CURRENT_DATA or less, and the new ready state is HAVE_FUTURE_DATA, and it's not paused.
  • If the new ready state is HAVE_ENOUGH_DATA, and it's eligible for autoplay

The implementation didn't cover these cases and had web compatibility issues.

We also should move scheduleNotifyAboutPlaying from setPlaying to playInternal and checks the ready state.

  • Without this change, playing event is fired twice. The first one is fired by setReadyState, and the second is called from setPlaying.
  • According to the specification, scheduleNotifyAboutPlaying should be in "internal play steps" and check the ready state. Checking ready state fixes the issue where playing event is fired twice.

Test: media/media-source/media-source-monitor-playing-event.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setReadyState): Added missing scheduleNotifyAboutPlaying calls. Added do-while to make the implementation similar to the specification text
(WebCore::HTMLMediaElement::playInternal): Added scheduleNotifyAboutPlaying call.

According to the specification, "internal play steps" should "notify about playing" when
the ready state is HAVE_FUTURE_DATA or HAVE_ENOUGH_DATA.

(WebCore::HTMLMediaElement::setPlaying): Removed scheduleNotifyAboutPlaying call because playInternal now calls scheduleNotifyAboutPlaying instead.

Reference:

LayoutTests:

Added the testcase to checks if the playing event is fired correctly on the ready state changes.

  • media/media-source/media-source-monitor-playing-event-expected.txt: Added.
  • media/media-source/media-source-monitor-playing-event.html: Added.
8:53 PM Changeset in webkit [280467] by mmaxfield@apple.com
  • 71 edits
    396 deletes in trunk

Stop building WebGPU and the WHLSL compiler to decrease binary size
https://bugs.webkit.org/show_bug.cgi?id=228179

Reviewed by Dean Jackson, Robin Morisset, and Devin Rousso.

.:

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/OptionsWinCairo.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmake/tools/vsprops/FeatureDefines.props:
  • Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Source/JavaScriptCore:

This patch deletes the existing implementation just to reduce binary size in releases of WebKit
which don't enable WebGPU by default. It doesn't represent a change in direction or policy or
anything regarding WebGPU. It's a (somewhat temporary) pragmatic change.

Our current implementation of WebGPU:

  1. Is off by default on all platforms
  2. Is extremely outdated
  3. Has no notion of the GPU Process, and therefore needs to be redesigned and largely rewritten
  4. Only implements a fraction of what is in the spec

Removing the code from the tree doesn't delete it from existence; it's still in source control.
The benefit of reducing binary size seems to outweigh having this code in the tree.

  • inspector/protocol/Canvas.json:
  • inspector/scripts/codegen/generator.py:

Source/WebCore:

No new tests because there is no behavior change.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/webgpu/GPUBindGroupLayoutBinding.h: Removed.
  • Modules/webgpu/GPUBindGroupLayoutBinding.idl: Removed.
  • Modules/webgpu/GPUBindGroupLayoutDescriptor.h: Removed.
  • Modules/webgpu/GPUBindGroupLayoutDescriptor.idl: Removed.
  • Modules/webgpu/GPUBlendDescriptor.idl: Removed.
  • Modules/webgpu/GPUBufferDescriptor.idl: Removed.
  • Modules/webgpu/GPUBufferUsage.idl: Removed.
  • Modules/webgpu/GPUCanvasContext.cpp: Removed.
  • Modules/webgpu/GPUCanvasContext.h: Removed.
  • Modules/webgpu/GPUCanvasContext.idl: Removed.
  • Modules/webgpu/GPUColor.idl: Removed.
  • Modules/webgpu/GPUColorStateDescriptor.idl: Removed.
  • Modules/webgpu/GPUColorWrite.idl: Removed.
  • Modules/webgpu/GPUCompareFunction.idl: Removed.
  • Modules/webgpu/GPUDepthStencilStateDescriptor.idl: Removed.
  • Modules/webgpu/GPUErrorFilter.idl: Removed.
  • Modules/webgpu/GPUExtent3D.idl: Removed.
  • Modules/webgpu/GPULoadOp.idl: Removed.
  • Modules/webgpu/GPUOrigin3D.h: Removed.
  • Modules/webgpu/GPUOrigin3D.idl: Removed.
  • Modules/webgpu/GPUOutOfMemoryError.idl: Removed.
  • Modules/webgpu/GPURequestAdapterOptions.idl: Removed.
  • Modules/webgpu/GPUSamplerDescriptor.idl: Removed.
  • Modules/webgpu/GPUShaderStage.h: Removed.
  • Modules/webgpu/GPUShaderStage.idl: Removed.
  • Modules/webgpu/GPUStoreOp.idl: Removed.
  • Modules/webgpu/GPUTextureDescriptor.idl: Removed.
  • Modules/webgpu/GPUTextureFormat.idl: Removed.
  • Modules/webgpu/GPUTextureUsage.idl: Removed.
  • Modules/webgpu/GPUUncapturedErrorEvent.cpp: Removed.
  • Modules/webgpu/GPUUncapturedErrorEvent.h: Removed.
  • Modules/webgpu/GPUUncapturedErrorEvent.idl: Removed.
  • Modules/webgpu/GPUValidationError.idl: Removed.
  • Modules/webgpu/GPUVertexAttributeDescriptor.idl: Removed.
  • Modules/webgpu/GPUVertexBufferDescriptor.idl: Removed.
  • Modules/webgpu/GPUVertexInputDescriptor.idl: Removed.
  • Modules/webgpu/Navigator+GPU.idl: Removed.
  • Modules/webgpu/NavigatorGPU.cpp: Removed.
  • Modules/webgpu/NavigatorGPU.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLAST.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLAddressEscapeMode.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLArrayReferenceType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLArrayType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLAssignmentExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLBaseFunctionAttribute.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLBaseSemantic.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLBlock.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLBooleanLiteral.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLBreak.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLBuiltInSemantic.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLBuiltInSemantic.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLCallExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLCommaExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLConstantExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLContinue.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLDefaultDelete.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLDereferenceExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLDoWhileLoop.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLDotExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLEffectfulExpressionStatement.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLEntryPointType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLEnumerationDefinition.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLEnumerationMember.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLEnumerationMemberLiteral.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLExpression.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLFallthrough.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLFloatLiteral.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLFloatLiteralType.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLFloatLiteralType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLForLoop.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLFunctionAttribute.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLFunctionDeclaration.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLFunctionDefinition.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLGlobalVariableReference.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLIfStatement.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLIndexExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteral.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteral.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteralType.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteralType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLLogicalExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLLogicalNotExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLMakeArrayReferenceExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLMakePointerExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLNameSpace.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLNamedType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLNativeFunctionDeclaration.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLNativeTypeDeclaration.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLNumThreadsFunctionAttribute.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLPointerType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLPropertyAccessExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLQualifier.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLReadModifyWriteExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLReferenceType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLReplaceWith.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLResolvableType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLResourceSemantic.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLResourceSemantic.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLReturn.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLSemantic.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLSpecializationConstantSemantic.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLSpecializationConstantSemantic.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLStageInOutSemantic.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLStageInOutSemantic.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLStatement.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLStructureDefinition.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLStructureElement.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLSwitchCase.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLSwitchStatement.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLTernaryExpression.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLTypeArgument.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLTypeArgument.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLTypeDefinition.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLTypeReference.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLTypeReference.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLUnnamedType.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLUnnamedType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLUnnamedTypeHash.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteral.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteral.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteralType.cpp: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteralType.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLVariableDeclaration.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLVariableDeclarationsStatement.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLVariableReference.h: Removed.
  • Modules/webgpu/WHLSL/AST/WHLSLWhileLoop.h: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.h: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLMangledNames.h: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.cpp: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.h: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.h: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLNativeTypeWriter.cpp: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLNativeTypeWriter.h: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.cpp: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.h: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLVertexBufferIndexCalculator.cpp: Removed.
  • Modules/webgpu/WHLSL/Metal/WHLSLVertexBufferIndexCalculator.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLASTDumper.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLASTDumper.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLBuildStandardLibraryFunctionMap.py: Removed.
  • Modules/webgpu/WHLSL/WHLSLCheckDuplicateFunctions.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLCheckDuplicateFunctions.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLCheckReferenceTypes.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLCheckReferenceTypes.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLCheckTextureReferences.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLCheckTextureReferences.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLChecker.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLChecker.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLCodeLocation.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLComputeDimensions.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLComputeDimensions.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLError.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLFunctionStageChecker.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLFunctionStageChecker.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLHighZombieFinder.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLInferTypes.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLInferTypes.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLIntrinsics.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLIntrinsics.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLLexer.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLLexer.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLNameContext.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLNameContext.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLNameResolver.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLNameResolver.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLParser.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLParser.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLParsingMode.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLPipelineDescriptor.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLPrepare.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLPrepare.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLProgram.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLPropertyResolver.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLPruneUnreachableStandardLibraryFunctions.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLPruneUnreachableStandardLibraryFunctions.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLRecursionChecker.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLRecursiveTypeChecker.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLRecursiveTypeChecker.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLResolvingType.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLScopedSetAdder.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLSemanticMatcher.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLSemanticMatcher.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt: Removed.
  • Modules/webgpu/WHLSL/WHLSLStandardLibraryFunctionMap.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLStandardLibraryUtilities.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLStandardLibraryUtilities.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLStatementBehaviorChecker.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLStatementBehaviorChecker.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLSynthesizeEnumerationFunctions.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLSynthesizeEnumerationFunctions.h: Removed.
  • Modules/webgpu/WHLSL/WHLSLVisitor.cpp: Removed.
  • Modules/webgpu/WHLSL/WHLSLVisitor.h: Removed.
  • Modules/webgpu/WebGPU.cpp: Removed.
  • Modules/webgpu/WebGPU.h: Removed.
  • Modules/webgpu/WebGPU.idl: Removed.
  • Modules/webgpu/WebGPUAdapter.cpp: Removed.
  • Modules/webgpu/WebGPUAdapter.h: Removed.
  • Modules/webgpu/WebGPUAdapter.idl: Removed.
  • Modules/webgpu/WebGPUBindGroup.cpp: Removed.
  • Modules/webgpu/WebGPUBindGroup.h: Removed.
  • Modules/webgpu/WebGPUBindGroup.idl: Removed.
  • Modules/webgpu/WebGPUBindGroupBinding.h: Removed.
  • Modules/webgpu/WebGPUBindGroupBinding.idl: Removed.
  • Modules/webgpu/WebGPUBindGroupDescriptor.cpp: Removed.
  • Modules/webgpu/WebGPUBindGroupDescriptor.h: Removed.
  • Modules/webgpu/WebGPUBindGroupDescriptor.idl: Removed.
  • Modules/webgpu/WebGPUBindGroupLayout.cpp: Removed.
  • Modules/webgpu/WebGPUBindGroupLayout.h: Removed.
  • Modules/webgpu/WebGPUBindGroupLayout.idl: Removed.
  • Modules/webgpu/WebGPUBuffer.cpp: Removed.
  • Modules/webgpu/WebGPUBuffer.h: Removed.
  • Modules/webgpu/WebGPUBuffer.idl: Removed.
  • Modules/webgpu/WebGPUBufferBinding.h: Removed.
  • Modules/webgpu/WebGPUBufferBinding.idl: Removed.
  • Modules/webgpu/WebGPUCommandBuffer.cpp: Removed.
  • Modules/webgpu/WebGPUCommandBuffer.h: Removed.
  • Modules/webgpu/WebGPUCommandBuffer.idl: Removed.
  • Modules/webgpu/WebGPUCommandEncoder.cpp: Removed.
  • Modules/webgpu/WebGPUCommandEncoder.h: Removed.
  • Modules/webgpu/WebGPUCommandEncoder.idl: Removed.
  • Modules/webgpu/WebGPUComputePassEncoder.cpp: Removed.
  • Modules/webgpu/WebGPUComputePassEncoder.h: Removed.
  • Modules/webgpu/WebGPUComputePassEncoder.idl: Removed.
  • Modules/webgpu/WebGPUComputePipeline.cpp: Removed.
  • Modules/webgpu/WebGPUComputePipeline.h: Removed.
  • Modules/webgpu/WebGPUComputePipeline.idl: Removed.
  • Modules/webgpu/WebGPUComputePipelineDescriptor.cpp: Removed.
  • Modules/webgpu/WebGPUComputePipelineDescriptor.h: Removed.
  • Modules/webgpu/WebGPUComputePipelineDescriptor.idl: Removed.
  • Modules/webgpu/WebGPUDevice.cpp: Removed.
  • Modules/webgpu/WebGPUDevice.h: Removed.
  • Modules/webgpu/WebGPUDevice.idl: Removed.
  • Modules/webgpu/WebGPUDeviceErrorScopes.cpp: Removed.
  • Modules/webgpu/WebGPUDeviceErrorScopes.h: Removed.
  • Modules/webgpu/WebGPUDeviceErrorScopes.idl: Removed.
  • Modules/webgpu/WebGPUDeviceEventHandler.idl: Removed.
  • Modules/webgpu/WebGPUPipeline.cpp: Removed.
  • Modules/webgpu/WebGPUPipeline.h: Removed.
  • Modules/webgpu/WebGPUPipelineDescriptorBase.h: Removed.
  • Modules/webgpu/WebGPUPipelineDescriptorBase.idl: Removed.
  • Modules/webgpu/WebGPUPipelineLayout.cpp: Removed.
  • Modules/webgpu/WebGPUPipelineLayout.h: Removed.
  • Modules/webgpu/WebGPUPipelineLayout.idl: Removed.
  • Modules/webgpu/WebGPUPipelineLayoutDescriptor.cpp: Removed.
  • Modules/webgpu/WebGPUPipelineLayoutDescriptor.h: Removed.
  • Modules/webgpu/WebGPUPipelineLayoutDescriptor.idl: Removed.
  • Modules/webgpu/WebGPUProgrammablePassEncoder.cpp: Removed.
  • Modules/webgpu/WebGPUProgrammablePassEncoder.h: Removed.
  • Modules/webgpu/WebGPUProgrammablePassEncoder.idl: Removed.
  • Modules/webgpu/WebGPUProgrammableStageDescriptor.cpp: Removed.
  • Modules/webgpu/WebGPUProgrammableStageDescriptor.h: Removed.
  • Modules/webgpu/WebGPUProgrammableStageDescriptor.idl: Removed.
  • Modules/webgpu/WebGPUQueue.cpp: Removed.
  • Modules/webgpu/WebGPUQueue.h: Removed.
  • Modules/webgpu/WebGPUQueue.idl: Removed.
  • Modules/webgpu/WebGPURenderPassDescriptor.cpp: Removed.
  • Modules/webgpu/WebGPURenderPassDescriptor.h: Removed.
  • Modules/webgpu/WebGPURenderPassDescriptor.idl: Removed.
  • Modules/webgpu/WebGPURenderPassEncoder.cpp: Removed.
  • Modules/webgpu/WebGPURenderPassEncoder.h: Removed.
  • Modules/webgpu/WebGPURenderPassEncoder.idl: Removed.
  • Modules/webgpu/WebGPURenderPipeline.cpp: Removed.
  • Modules/webgpu/WebGPURenderPipeline.h: Removed.
  • Modules/webgpu/WebGPURenderPipeline.idl: Removed.
  • Modules/webgpu/WebGPURenderPipelineDescriptor.cpp: Removed.
  • Modules/webgpu/WebGPURenderPipelineDescriptor.h: Removed.
  • Modules/webgpu/WebGPURenderPipelineDescriptor.idl: Removed.
  • Modules/webgpu/WebGPUSampler.cpp: Removed.
  • Modules/webgpu/WebGPUSampler.h: Removed.
  • Modules/webgpu/WebGPUSampler.idl: Removed.
  • Modules/webgpu/WebGPUShaderModule.cpp: Removed.
  • Modules/webgpu/WebGPUShaderModule.h: Removed.
  • Modules/webgpu/WebGPUShaderModule.idl: Removed.
  • Modules/webgpu/WebGPUShaderModuleDescriptor.h: Removed.
  • Modules/webgpu/WebGPUShaderModuleDescriptor.idl: Removed.
  • Modules/webgpu/WebGPUSwapChain.cpp: Removed.
  • Modules/webgpu/WebGPUSwapChain.h: Removed.
  • Modules/webgpu/WebGPUSwapChain.idl: Removed.
  • Modules/webgpu/WebGPUSwapChainDescriptor.cpp: Removed.
  • Modules/webgpu/WebGPUSwapChainDescriptor.h: Removed.
  • Modules/webgpu/WebGPUTexture.cpp: Removed.
  • Modules/webgpu/WebGPUTexture.h: Removed.
  • Modules/webgpu/WebGPUTexture.idl: Removed.
  • Modules/webgpu/WebGPUTextureView.cpp: Removed.
  • Modules/webgpu/WebGPUTextureView.h: Removed.
  • Modules/webgpu/WebGPUTextureView.idl: Removed.
  • Modules/webgpu/WorkerNavigator+GPU.idl: Removed.
  • Modules/webgpu/WorkerNavigatorGPU.cpp: Removed.
  • Modules/webgpu/WorkerNavigatorGPU.h: Removed.
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • dom/Document.cpp:

(WebCore::Document::getCSSCanvasContext):

  • dom/Document.h:
  • dom/Document.idl:
  • dom/EventNames.in:
  • dom/EventTargetFactory.in:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::isWebGPUType): Deleted.
(WebCore::HTMLCanvasElement::createContextWebGPU): Deleted.
(WebCore::HTMLCanvasElement::getContextWebGPU): Deleted.

  • html/HTMLCanvasElement.h:
  • html/HTMLCanvasElement.idl:
  • html/canvas/CanvasRenderingContext.h:

(WebCore::CanvasRenderingContext::isWebGL const):
(WebCore::CanvasRenderingContext::isWebGPU const): Deleted.

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::InspectorCanvas):
(WebCore::InspectorCanvas::canvasElement const):
(WebCore::InspectorCanvas::scriptExecutionContext const):
(WebCore::InspectorCanvas::resolveContext const):
(WebCore:: const):
(WebCore::InspectorCanvas::resetRecordingData):
(WebCore::InspectorCanvas::recordAction):
(WebCore::InspectorCanvas::buildObjectForCanvas):
(WebCore::InspectorCanvas::releaseObjectForRecording):
(WebCore::InspectorCanvas::buildInitialState):
(WebCore::canvasIfContextMatchesDevice): Deleted.
(WebCore::InspectorCanvas::deviceContext const): Deleted.
(WebCore::InspectorCanvas::isDeviceForCanvasContext const): Deleted.

  • inspector/InspectorCanvas.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCreateWebGPUDeviceImpl): Deleted.
(WebCore::InspectorInstrumentation::willDestroyWebGPUDeviceImpl): Deleted.
(WebCore::InspectorInstrumentation::willConfigureSwapChainImpl): Deleted.
(WebCore::InspectorInstrumentation::didCreateWebGPUPipelineImpl): Deleted.
(WebCore::InspectorInstrumentation::willDestroyWebGPUPipelineImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didCreateWebGPUDevice): Deleted.
(WebCore::InspectorInstrumentation::willDestroyWebGPUDevice): Deleted.
(WebCore::InspectorInstrumentation::willConfigureSwapChain): Deleted.
(WebCore::InspectorInstrumentation::didCreateWebGPUPipeline): Deleted.
(WebCore::InspectorInstrumentation::willDestroyWebGPUPipeline): Deleted.

  • inspector/InspectorShaderProgram.cpp:

(WebCore::InspectorShaderProgram::requestShaderSource):
(WebCore::InspectorShaderProgram::updateShader):
(WebCore::InspectorShaderProgram::buildObjectForShaderProgram):
(WebCore::InspectorShaderProgram::pipeline const): Deleted.

  • inspector/InspectorShaderProgram.h:
  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::startRecording):
(WebCore::InspectorCanvasAgent::stopRecording):
(WebCore::InspectorCanvasAgent::didChangeCanvasMemory):
(WebCore::InspectorCanvasAgent::recordAction):
(WebCore::InspectorCanvasAgent::reset):
(WebCore::InspectorCanvasAgent::didCreateWebGPUDevice): Deleted.
(WebCore::InspectorCanvasAgent::willDestroyWebGPUDevice): Deleted.
(WebCore::InspectorCanvasAgent::willConfigureSwapChain): Deleted.
(WebCore::InspectorCanvasAgent::didCreateWebGPUPipeline): Deleted.
(WebCore::InspectorCanvasAgent::willDestroyWebGPUPipeline): Deleted.

  • inspector/agents/InspectorCanvasAgent.h:
  • page/ProcessWarming.cpp:

(WebCore::ProcessWarming::prewarmGlobally):

  • platform/Logging.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(WebCore::PlatformCALayerCocoa::layerTypeForPlatformLayer):
(WebCore::PlatformCALayerCocoa::PlatformCALayerCocoa):

  • platform/graphics/cocoa/WebGPULayer.h: Removed.
  • platform/graphics/cocoa/WebGPULayer.mm: Removed.
  • platform/graphics/gpu/GPUBindGroup.h: Removed.
  • platform/graphics/gpu/GPUBindGroupAllocator.h: Removed.
  • platform/graphics/gpu/GPUBindGroupBinding.h: Removed.
  • platform/graphics/gpu/GPUBindGroupDescriptor.h: Removed.
  • platform/graphics/gpu/GPUBindGroupLayout.h: Removed.
  • platform/graphics/gpu/GPUBlendDescriptor.h: Removed.
  • platform/graphics/gpu/GPUBuffer.cpp: Removed.
  • platform/graphics/gpu/GPUBuffer.h: Removed.
  • platform/graphics/gpu/GPUBufferBinding.h: Removed.
  • platform/graphics/gpu/GPUBufferDescriptor.h: Removed.
  • platform/graphics/gpu/GPUBufferUsage.h: Removed.
  • platform/graphics/gpu/GPUColor.h: Removed.
  • platform/graphics/gpu/GPUColorStateDescriptor.h: Removed.
  • platform/graphics/gpu/GPUColorWrite.h: Removed.
  • platform/graphics/gpu/GPUCommandBuffer.h: Removed.
  • platform/graphics/gpu/GPUCompareFunction.h: Removed.
  • platform/graphics/gpu/GPUComputePassEncoder.h: Removed.
  • platform/graphics/gpu/GPUComputePipeline.h: Removed.
  • platform/graphics/gpu/GPUComputePipelineDescriptor.h: Removed.
  • platform/graphics/gpu/GPUDepthStencilStateDescriptor.h: Removed.
  • platform/graphics/gpu/GPUDevice.cpp: Removed.
  • platform/graphics/gpu/GPUDevice.h:

(WebCore::GPUDevice::platformDevice const): Deleted.
(WebCore::GPUDevice::swapChain const): Deleted.
(WebCore::GPUDevice::setErrorScopes): Deleted.

  • platform/graphics/gpu/GPUError.cpp: Removed.
  • platform/graphics/gpu/GPUError.h: Removed.
  • platform/graphics/gpu/GPUErrorFilter.h: Removed.
  • platform/graphics/gpu/GPUErrorScopes.cpp: Removed.
  • platform/graphics/gpu/GPUErrorScopes.h: Removed.
  • platform/graphics/gpu/GPUExtent3D.h: Removed.
  • platform/graphics/gpu/GPULimits.h: Removed.
  • platform/graphics/gpu/GPULoadOp.h: Removed.
  • platform/graphics/gpu/GPUObjectBase.h: Removed.
  • platform/graphics/gpu/GPUOutOfMemoryError.h: Removed.
  • platform/graphics/gpu/GPUPipeline.cpp: Removed.
  • platform/graphics/gpu/GPUPipeline.h: Removed.
  • platform/graphics/gpu/GPUPipelineDescriptorBase.h: Removed.
  • platform/graphics/gpu/GPUPipelineLayout.cpp: Removed.
  • platform/graphics/gpu/GPUPipelineLayout.h: Removed.
  • platform/graphics/gpu/GPUPipelineLayoutDescriptor.h: Removed.
  • platform/graphics/gpu/GPUPlatformTypes.h: Removed.
  • platform/graphics/gpu/GPUProgrammablePassEncoder.cpp: Removed.
  • platform/graphics/gpu/GPUProgrammablePassEncoder.h: Removed.
  • platform/graphics/gpu/GPUProgrammableStageDescriptor.h: Removed.
  • platform/graphics/gpu/GPUQueue.h: Removed.
  • platform/graphics/gpu/GPURenderPassDescriptor.h: Removed.
  • platform/graphics/gpu/GPURenderPassEncoder.h: Removed.
  • platform/graphics/gpu/GPURenderPipeline.h: Removed.
  • platform/graphics/gpu/GPURenderPipelineDescriptor.h: Removed.
  • platform/graphics/gpu/GPURequestAdapterOptions.h: Removed.
  • platform/graphics/gpu/GPUSampler.h: Removed.
  • platform/graphics/gpu/GPUSamplerDescriptor.h: Removed.
  • platform/graphics/gpu/GPUShaderModule.h: Removed.
  • platform/graphics/gpu/GPUShaderModuleDescriptor.h: Removed.
  • platform/graphics/gpu/GPUStoreOp.h: Removed.
  • platform/graphics/gpu/GPUSwapChain.h: Removed.
  • platform/graphics/gpu/GPUSwapChainDescriptor.h: Removed.
  • platform/graphics/gpu/GPUTexture.h: Removed.
  • platform/graphics/gpu/GPUTextureDescriptor.h: Removed.
  • platform/graphics/gpu/GPUTextureFormat.h: Removed.
  • platform/graphics/gpu/GPUTextureUsage.h: Removed.
  • platform/graphics/gpu/GPUUtils.h: Removed.
  • platform/graphics/gpu/GPUValidationError.cpp: Removed.
  • platform/graphics/gpu/GPUValidationError.h: Removed.
  • platform/graphics/gpu/GPUVertexAttributeDescriptor.h: Removed.
  • platform/graphics/gpu/GPUVertexBufferDescriptor.h: Removed.
  • platform/graphics/gpu/GPUVertexInputDescriptor.h: Removed.
  • platform/graphics/gpu/cocoa/GPUBindGroupAllocatorMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUBufferMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUComputePassEncoderMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUComputePipelineMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUDeviceMetal.mm:

(WebCore::prewarmGPU):
(WebCore::isAcceptableDevice): Deleted.
(WebCore::GPUDevice::prewarm): Deleted.
(WebCore::GPUDevice::tryCreate): Deleted.
(WebCore::GPUDevice::GPUDevice): Deleted.

  • platform/graphics/gpu/cocoa/GPUPipelineMetalConvertLayout.cpp: Removed.
  • platform/graphics/gpu/cocoa/GPUPipelineMetalConvertLayout.h: Removed.
  • platform/graphics/gpu/cocoa/GPUPlatformTypesMetal.h: Removed.
  • platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUQueueMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUSamplerMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUShaderModuleMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUTextureMetal.mm: Removed.
  • platform/graphics/gpu/cocoa/GPUUtilsMetal.mm: Removed.
  • platform/graphics/gpu/dawn/GPUBindGroupAllocatorDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUBindGroupDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUBindGroupLayoutDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUBufferDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUCommandBufferDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUComputePassEncoderDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUComputePipelineDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUDeviceDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUPlatformTypesDawn.h: Removed.
  • platform/graphics/gpu/dawn/GPUProgrammablePassEncoderDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUQueueDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPURenderPassEncoderDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPURenderPipelineDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUSamplerDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUShaderModuleDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUSwapChainDawn.cpp: Removed.
  • platform/graphics/gpu/dawn/GPUTextureDawn.cpp: Removed.
  • platform/ios/DragImageIOS.mm:
  • platform/mediastream/mac/WindowDisplayCapturerMac.mm:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::contentChanged):

Source/WebKit:

  • FeatureFlags/WebKit-appletvos.plist:
  • FeatureFlags/WebKit-ios.plist:
  • FeatureFlags/WebKit-macos.plist:
  • FeatureFlags/WebKit-watchos.plist:
  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultWebGPUEnabled): Deleted.

  • Shared/WebPreferencesDefaultValues.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences webGPUEnabled]): Deleted.
(-[WebPreferences setWebGPUEnabled:]): Deleted.

  • WebView/WebPreferencesDefaultValues.h:
  • WebView/WebPreferencesDefaultValues.mm:

(WebKit::defaultWebGPUEnabled): Deleted.

  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/PlatformEnable.h:
  • wtf/PlatformEnableCocoa.h:

LayoutTests:

  • TestExpectations:
  • fast/dom/navigator-detached-no-crash-expected.txt:
  • inspector/canvas/create-context-webgpu-expected.txt: Removed.
  • inspector/canvas/create-context-webgpu.html: Removed.
  • inspector/canvas/requestClientNodes-webgpu-expected.txt: Removed.
  • inspector/canvas/requestClientNodes-webgpu.html: Removed.
  • inspector/canvas/requestShaderSource-webgpu-expected.txt: Removed.
  • inspector/canvas/requestShaderSource-webgpu.html: Removed.
  • inspector/canvas/resolveContext-webgpu-expected.txt: Removed.
  • inspector/canvas/resolveContext-webgpu.html: Removed.
  • inspector/canvas/shaderProgram-add-remove-webgpu-expected.txt: Removed.
  • inspector/canvas/shaderProgram-add-remove-webgpu.html: Removed.
  • inspector/canvas/updateShader-webgpu-expected.txt: Removed.
  • inspector/canvas/updateShader-webgpu-sharedVertexFragment-expected.txt: Removed.
  • inspector/canvas/updateShader-webgpu-sharedVertexFragment.html: Removed.
  • inspector/canvas/updateShader-webgpu.html: Removed.
  • platform/glib/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • webgpu/bind-groups-expected.txt: Removed.
  • webgpu/bind-groups.html: Removed.
  • webgpu/blend-color-triangle-strip-expected.html: Removed.
  • webgpu/blend-color-triangle-strip.html: Removed.
  • webgpu/blend-triangle-strip-expected.html: Removed.
  • webgpu/blend-triangle-strip.html: Removed.
  • webgpu/blit-commands-expected.html: Removed.
  • webgpu/blit-commands-texture-to-texture-expected.html: Removed.
  • webgpu/blit-commands-texture-to-texture.html: Removed.
  • webgpu/blit-commands.html: Removed.
  • webgpu/buffer-command-buffer-races-expected.html: Removed.
  • webgpu/buffer-command-buffer-races.html: Removed.
  • webgpu/buffer-errors-expected.txt: Removed.
  • webgpu/buffer-errors.html: Removed.
  • webgpu/color-write-mask-triangle-strip-expected.html: Removed.
  • webgpu/color-write-mask-triangle-strip.html: Removed.
  • webgpu/command-buffers-expected.txt: Removed.
  • webgpu/command-buffers.html: Removed.
  • webgpu/compute-pipeline-errors-expected.txt: Removed.
  • webgpu/compute-pipeline-errors.html: Removed.
  • webgpu/depth-enabled-triangle-strip-expected.html: Removed.
  • webgpu/depth-enabled-triangle-strip.html: Removed.
  • webgpu/draw-indexed-triangles-expected.html: Removed.
  • webgpu/draw-indexed-triangles.html: Removed.
  • webgpu/error-scopes-test-expected.txt: Removed.
  • webgpu/error-scopes-test.html: Removed.
  • webgpu/expando-properties-expected.txt: Removed.
  • webgpu/expando-properties.html: Removed.
  • webgpu/js/webgpu-functions.js: Removed.
  • webgpu/map-read-buffers-expected.txt: Removed.
  • webgpu/map-read-buffers.html: Removed.
  • webgpu/map-write-buffers-expected.txt: Removed.
  • webgpu/map-write-buffers.html: Removed.
  • webgpu/pipeline-layouts-expected.txt: Removed.
  • webgpu/pipeline-layouts.html: Removed.
  • webgpu/queue-creation-expected.txt: Removed.
  • webgpu/queue-creation.html: Removed.
  • webgpu/render-command-encoding-expected.txt: Removed.
  • webgpu/render-command-encoding.html: Removed.
  • webgpu/render-pipeline-errors-expected.txt: Removed.
  • webgpu/render-pipeline-errors.html: Removed.
  • webgpu/render-pipelines-expected.txt: Removed.
  • webgpu/render-pipelines.html: Removed.
  • webgpu/resources/blue-checkered.png: Removed.
  • webgpu/resources/green-400.png: Removed.
  • webgpu/shader-modules-expected.txt: Removed.
  • webgpu/shader-modules.html: Removed.
  • webgpu/simple-triangle-strip-expected.html: Removed.
  • webgpu/simple-triangle-strip.html: Removed.
  • webgpu/texture-creation-expected.txt: Removed.
  • webgpu/texture-creation.html: Removed.
  • webgpu/texture-triangle-strip-expected.html: Removed.
  • webgpu/texture-triangle-strip.html: Removed.
  • webgpu/textures-textureviews-expected.txt: Removed.
  • webgpu/textures-textureviews.html: Removed.
  • webgpu/uncaptured-errors-expected.txt: Removed.
  • webgpu/uncaptured-errors.html: Removed.
  • webgpu/vertex-buffer-triangle-strip-expected.html: Removed.
  • webgpu/vertex-buffer-triangle-strip.html: Removed.
  • webgpu/viewport-scissor-rect-triangle-strip-expected.html: Removed.
  • webgpu/viewport-scissor-rect-triangle-strip.html: Removed.
  • webgpu/whlsl/address-of-swizzle-expected.txt: Removed.
  • webgpu/whlsl/address-of-swizzle.html: Removed.
  • webgpu/whlsl/arbitrary-vertex-attribute-locations-expected.html: Removed.
  • webgpu/whlsl/arbitrary-vertex-attribute-locations.html: Removed.
  • webgpu/whlsl/argument-evaluation-order-expected.txt: Removed.
  • webgpu/whlsl/argument-evaluation-order.html: Removed.
  • webgpu/whlsl/array-length-spec-tests-expected.txt: Removed.
  • webgpu/whlsl/array-length-spec-tests.html: Removed.
  • webgpu/whlsl/array-oob-alias-expected.txt: Removed.
  • webgpu/whlsl/array-oob-alias.html: Removed.
  • webgpu/whlsl/array-spec-tests-expected.txt: Removed.
  • webgpu/whlsl/array-spec-tests.html: Removed.
  • webgpu/whlsl/bad-add-expected.txt: Removed.
  • webgpu/whlsl/bad-add.html: Removed.
  • webgpu/whlsl/bad-literals-expected.txt: Removed.
  • webgpu/whlsl/bad-literals.html: Removed.
  • webgpu/whlsl/bitwise-bool-ops-expected.txt: Removed.
  • webgpu/whlsl/bitwise-bool-ops.html: Removed.
  • webgpu/whlsl/bool-matrix-expected.txt: Removed.
  • webgpu/whlsl/bool-matrix.html: Removed.
  • webgpu/whlsl/bools-expected.txt: Removed.
  • webgpu/whlsl/bools.html: Removed.
  • webgpu/whlsl/buffer-fragment-expected.html: Removed.
  • webgpu/whlsl/buffer-fragment.html: Removed.
  • webgpu/whlsl/buffer-length-expected.txt: Removed.
  • webgpu/whlsl/buffer-length.html: Removed.
  • webgpu/whlsl/buffer-vertex-expected.html: Removed.
  • webgpu/whlsl/buffer-vertex.html: Removed.
  • webgpu/whlsl/builtin-vectors-2-expected.txt: Removed.
  • webgpu/whlsl/builtin-vectors-2.html: Removed.
  • webgpu/whlsl/builtin-vectors-expected.txt: Removed.
  • webgpu/whlsl/builtin-vectors.html: Removed.
  • webgpu/whlsl/casts-expected.txt: Removed.
  • webgpu/whlsl/casts.html: Removed.
  • webgpu/whlsl/checker-should-set-type-of-read-modify-write-variables-expected.txt: Removed.
  • webgpu/whlsl/checker-should-set-type-of-read-modify-write-variables.html: Removed.
  • webgpu/whlsl/clamp-stdlib-expected.txt: Removed.
  • webgpu/whlsl/clamp-stdlib.html: Removed.
  • webgpu/whlsl/comment-parsing-expected.txt: Removed.
  • webgpu/whlsl/comment-parsing.html: Removed.
  • webgpu/whlsl/compute-expected.txt: Removed.
  • webgpu/whlsl/compute.html: Removed.
  • webgpu/whlsl/copy-expected.txt: Removed.
  • webgpu/whlsl/copy.html: Removed.
  • webgpu/whlsl/dereference-ordering-expected.txt: Removed.
  • webgpu/whlsl/dereference-ordering.html: Removed.
  • webgpu/whlsl/dereference-pointer-should-type-check-expected.html: Removed.
  • webgpu/whlsl/dereference-pointer-should-type-check.html: Removed.
  • webgpu/whlsl/device-proper-type-checker-expected.txt: Removed.
  • webgpu/whlsl/device-proper-type-checker.html: Removed.
  • webgpu/whlsl/do-while-loop-break-expected.html: Removed.
  • webgpu/whlsl/do-while-loop-break.html: Removed.
  • webgpu/whlsl/do-while-loop-continue-expected.html: Removed.
  • webgpu/whlsl/do-while-loop-continue.html: Removed.
  • webgpu/whlsl/do-while-loop-expected.html: Removed.
  • webgpu/whlsl/do-while-loop.html: Removed.
  • webgpu/whlsl/dont-crash-parsing-enum-expected.html: Removed.
  • webgpu/whlsl/dont-crash-parsing-enum.html: Removed.
  • webgpu/whlsl/dot-expressions-expected.html: Removed.
  • webgpu/whlsl/dot-expressions.html: Removed.
  • webgpu/whlsl/double-not-expected.txt: Removed.
  • webgpu/whlsl/double-not.html: Removed.
  • webgpu/whlsl/duplicate-types-should-not-produce-duplicate-ctors-expected.txt: Removed.
  • webgpu/whlsl/duplicate-types-should-not-produce-duplicate-ctors.html: Removed.
  • webgpu/whlsl/duplicates-expected.txt: Removed.
  • webgpu/whlsl/duplicates.html: Removed.
  • webgpu/whlsl/ensure-proper-pointer-usage-expected.txt: Removed.
  • webgpu/whlsl/ensure-proper-pointer-usage.html: Removed.
  • webgpu/whlsl/ensure-proper-variable-lifetime-2-expected.html: Removed.
  • webgpu/whlsl/ensure-proper-variable-lifetime-2.html: Removed.
  • webgpu/whlsl/ensure-proper-variable-lifetime-3-expected.html: Removed.
  • webgpu/whlsl/ensure-proper-variable-lifetime-3.html: Removed.
  • webgpu/whlsl/ensure-proper-variable-lifetime-expected.html: Removed.
  • webgpu/whlsl/ensure-proper-variable-lifetime.html: Removed.
  • webgpu/whlsl/enum-integer-constructor-expected.txt: Removed.
  • webgpu/whlsl/enum-integer-constructor.html: Removed.
  • webgpu/whlsl/enum-spec-tests-expected.txt: Removed.
  • webgpu/whlsl/enum-spec-tests.html: Removed.
  • webgpu/whlsl/enums-2-expected.txt: Removed.
  • webgpu/whlsl/enums-2.html: Removed.
  • webgpu/whlsl/enums-expected.txt: Removed.
  • webgpu/whlsl/enums.html: Removed.
  • webgpu/whlsl/equality-expected.txt: Removed.
  • webgpu/whlsl/equality.html: Removed.
  • webgpu/whlsl/float-math-expected.txt: Removed.
  • webgpu/whlsl/float-math.html: Removed.
  • webgpu/whlsl/getter-setter-type-expected.txt: Removed.
  • webgpu/whlsl/getter-setter-type.html: Removed.
  • webgpu/whlsl/huge-array-expected.txt: Removed.
  • webgpu/whlsl/huge-array.html: Removed.
  • webgpu/whlsl/if-statement-expected.txt: Removed.
  • webgpu/whlsl/if-statement.html: Removed.
  • webgpu/whlsl/increment-decrement-expected.txt: Removed.
  • webgpu/whlsl/increment-decrement.html: Removed.
  • webgpu/whlsl/increment-setter-expected.txt: Removed.
  • webgpu/whlsl/increment-setter.html: Removed.
  • webgpu/whlsl/index-getter-setter-expected.txt: Removed.
  • webgpu/whlsl/index-getter-setter.html: Removed.
  • webgpu/whlsl/int-bit-math-expected.txt: Removed.
  • webgpu/whlsl/int-bit-math.html: Removed.
  • webgpu/whlsl/int-literal-compare-expected.txt: Removed.
  • webgpu/whlsl/int-literal-compare.html: Removed.
  • webgpu/whlsl/js/test-harness.js: Removed.
  • webgpu/whlsl/length-stdlib-expected.txt: Removed.
  • webgpu/whlsl/length-stdlib.html: Removed.
  • webgpu/whlsl/lexing-expected.txt: Removed.
  • webgpu/whlsl/lexing.html: Removed.
  • webgpu/whlsl/literals-expected.txt: Removed.
  • webgpu/whlsl/literals.html: Removed.
  • webgpu/whlsl/logical-negation-expected.txt: Removed.
  • webgpu/whlsl/logical-negation.html: Removed.
  • webgpu/whlsl/loops-break-expected.html: Removed.
  • webgpu/whlsl/loops-break.html: Removed.
  • webgpu/whlsl/loops-continue-expected.html: Removed.
  • webgpu/whlsl/loops-continue.html: Removed.
  • webgpu/whlsl/loops-expected.html: Removed.
  • webgpu/whlsl/loops-spec-tests-expected.txt: Removed.
  • webgpu/whlsl/loops-spec-tests.html: Removed.
  • webgpu/whlsl/loops.html: Removed.
  • webgpu/whlsl/lots-of-local-variables-expected.txt: Removed.
  • webgpu/whlsl/lots-of-local-variables.html: Removed.
  • webgpu/whlsl/lvalues-expected.txt: Removed.
  • webgpu/whlsl/lvalues.html: Removed.
  • webgpu/whlsl/make-array-ref-spec-tests-expected.txt: Removed.
  • webgpu/whlsl/make-array-ref-spec-tests.html: Removed.
  • webgpu/whlsl/make-array-reference-expected.txt: Removed.
  • webgpu/whlsl/make-array-reference.html: Removed.
  • webgpu/whlsl/matrices-spec-tests-expected.txt: Removed.
  • webgpu/whlsl/matrices-spec-tests.html: Removed.
  • webgpu/whlsl/matrix-2-expected.txt: Removed.
  • webgpu/whlsl/matrix-2.html: Removed.
  • webgpu/whlsl/matrix-alignment-expected.txt: Removed.
  • webgpu/whlsl/matrix-alignment.html: Removed.
  • webgpu/whlsl/matrix-compare-expected.txt: Removed.
  • webgpu/whlsl/matrix-compare.html: Removed.
  • webgpu/whlsl/matrix-constructors-expected.txt: Removed.
  • webgpu/whlsl/matrix-constructors-list-of-scalars-expected.txt: Removed.
  • webgpu/whlsl/matrix-constructors-list-of-scalars.html: Removed.
  • webgpu/whlsl/matrix-constructors.html: Removed.
  • webgpu/whlsl/matrix-expected.txt: Removed.
  • webgpu/whlsl/matrix-index-assign-expected.txt: Removed.
  • webgpu/whlsl/matrix-index-assign.html: Removed.
  • webgpu/whlsl/matrix-index-order-expected.txt: Removed.
  • webgpu/whlsl/matrix-index-order.html: Removed.
  • webgpu/whlsl/matrix-memory-layout-expected.txt: Removed.
  • webgpu/whlsl/matrix-memory-layout.html: Removed.
  • webgpu/whlsl/matrix.html: Removed.
  • webgpu/whlsl/nested-dot-expression-rvalue-expected.html: Removed.
  • webgpu/whlsl/nested-dot-expression-rvalue.html: Removed.
  • webgpu/whlsl/nested-loop-expected.html: Removed.
  • webgpu/whlsl/nested-loop.html: Removed.
  • webgpu/whlsl/null-arg-expected.txt: Removed.
  • webgpu/whlsl/null-arg.html: Removed.
  • webgpu/whlsl/null-array-property-access-expected.txt: Removed.
  • webgpu/whlsl/null-array-property-access.html: Removed.
  • webgpu/whlsl/null-array-ref.html: Removed.
  • webgpu/whlsl/oob-access-2-expected.txt: Removed.
  • webgpu/whlsl/oob-access-2.html: Removed.
  • webgpu/whlsl/oob-access-expected.txt: Removed.
  • webgpu/whlsl/oob-access.html: Removed.
  • webgpu/whlsl/operator-div-expected.txt: Removed.
  • webgpu/whlsl/operator-div.html: Removed.
  • webgpu/whlsl/operator-equal-equal-expected.txt: Removed.
  • webgpu/whlsl/operator-equal-equal.html: Removed.
  • webgpu/whlsl/operator-minus-expected.txt: Removed.
  • webgpu/whlsl/operator-minus.html: Removed.
  • webgpu/whlsl/operator-overload-expected.txt: Removed.
  • webgpu/whlsl/operator-overload.html: Removed.
  • webgpu/whlsl/operator-plus-expected.txt: Removed.
  • webgpu/whlsl/operator-plus.html: Removed.
  • webgpu/whlsl/operator-syntax-expected.txt: Removed.
  • webgpu/whlsl/operator-syntax.html: Removed.
  • webgpu/whlsl/operator-times-expected.txt: Removed.
  • webgpu/whlsl/operator-times.html: Removed.
  • webgpu/whlsl/operator-vector-assign-expected.txt: Removed.
  • webgpu/whlsl/operator-vector-assign.html: Removed.
  • webgpu/whlsl/operator-vector-load-expected.txt: Removed.
  • webgpu/whlsl/operator-vector-load.html: Removed.
  • webgpu/whlsl/operator-xy-expected.txt: Removed.
  • webgpu/whlsl/operator-xy.html: Removed.
  • webgpu/whlsl/overload-expected.txt: Removed.
  • webgpu/whlsl/overload.html: Removed.
  • webgpu/whlsl/plus-equals-expected.txt: Removed.
  • webgpu/whlsl/plus-equals.html: Removed.
  • webgpu/whlsl/pointer-spec-tests-expected.txt: Removed.
  • webgpu/whlsl/pointer-spec-tests.html: Removed.
  • webgpu/whlsl/postfix-prefix-expected.txt: Removed.
  • webgpu/whlsl/postfix-prefix.html: Removed.
  • webgpu/whlsl/property-evaluation-order-expected.txt: Removed.
  • webgpu/whlsl/property-evaluation-order.html: Removed.
  • webgpu/whlsl/read-modify-write-expected.txt: Removed.
  • webgpu/whlsl/read-modify-write-high-zombies-expected.txt: Removed.
  • webgpu/whlsl/read-modify-write-high-zombies.html: Removed.
  • webgpu/whlsl/read-modify-write.html: Removed.
  • webgpu/whlsl/recursive-structs-expected.txt: Removed.
  • webgpu/whlsl/recursive-structs.html: Removed.
  • webgpu/whlsl/return-local-variable-expected.html: Removed.
  • webgpu/whlsl/return-local-variable.html: Removed.
  • webgpu/whlsl/return-spec-tests-expected.txt: Removed.
  • webgpu/whlsl/return-spec-tests.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-10-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-10.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-11-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-11.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-12-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-12.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-13-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-13.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-14-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-14.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-15-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-15.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-16-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-16.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-17-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-17.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-18-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-18.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-19-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-19.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-2-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-2.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-20-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-20.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-21-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-21.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-22-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-22.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-23-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-23.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-24-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-24.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-25-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-25.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-26-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-26.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-27-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-27.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-3-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-3.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-4-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-4.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-5-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-5.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-6-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-6.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-7-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-7.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-8-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-8.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-9-expected.txt: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-9.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules-expected.html: Removed.
  • webgpu/whlsl/separate-shader-modules/separate-shader-modules.html: Removed.
  • webgpu/whlsl/setter-spec-tests-expected.txt: Removed.
  • webgpu/whlsl/setter-spec-tests.html: Removed.
  • webgpu/whlsl/simple-arrays-expected.txt: Removed.
  • webgpu/whlsl/simple-arrays.html: Removed.
  • webgpu/whlsl/simple-getter-setter-expected.txt: Removed.
  • webgpu/whlsl/simple-getter-setter.html: Removed.
  • webgpu/whlsl/simple-tests-expected.txt: Removed.
  • webgpu/whlsl/simple-tests.html: Removed.
  • webgpu/whlsl/simple-while-loop-expected.txt: Removed.
  • webgpu/whlsl/simple-while-loop.html: Removed.
  • webgpu/whlsl/smaller-than-32-bit-types-expected.txt: Removed.
  • webgpu/whlsl/smaller-than-32-bit-types.html: Removed.
  • webgpu/whlsl/sparse-bind-group-2-expected.txt: Removed.
  • webgpu/whlsl/sparse-bind-group-2.html: Removed.
  • webgpu/whlsl/sparse-bind-group-3-expected.txt: Removed.
  • webgpu/whlsl/sparse-bind-group-3.html: Removed.
  • webgpu/whlsl/sparse-bind-group-expected.txt: Removed.
  • webgpu/whlsl/sparse-bind-group.html: Removed.
  • webgpu/whlsl/store-null-expected.txt: Removed.
  • webgpu/whlsl/store-null.html: Removed.
  • webgpu/whlsl/store-to-property-updates-properly-expected.html: Removed.
  • webgpu/whlsl/store-to-property-updates-properly.html: Removed.
  • webgpu/whlsl/struct-expected.txt: Removed.
  • webgpu/whlsl/struct.html: Removed.
  • webgpu/whlsl/structure-field-enumeration-element-clash-expected.txt: Removed.
  • webgpu/whlsl/structure-field-enumeration-element-clash.html: Removed.
  • webgpu/whlsl/switch-expected.txt: Removed.
  • webgpu/whlsl/switch.html: Removed.
  • webgpu/whlsl/ternary-spec-test-expected.txt: Removed.
  • webgpu/whlsl/ternary-spec-test.html: Removed.
  • webgpu/whlsl/test-harness-test-expected.txt: Removed.
  • webgpu/whlsl/test-harness-test.html: Removed.
  • webgpu/whlsl/textures-getdimensions-expected.txt: Removed.
  • webgpu/whlsl/textures-getdimensions.html: Removed.
  • webgpu/whlsl/textures-load-expected.html: Removed.
  • webgpu/whlsl/textures-load.html: Removed.
  • webgpu/whlsl/textures-sample-bias-expected.html: Removed.
  • webgpu/whlsl/textures-sample-bias.html: Removed.
  • webgpu/whlsl/textures-sample-expected.html: Removed.
  • webgpu/whlsl/textures-sample-grad-expected.html: Removed.
  • webgpu/whlsl/textures-sample-grad.html: Removed.
  • webgpu/whlsl/textures-sample-level-expected.html: Removed.
  • webgpu/whlsl/textures-sample-level.html: Removed.
  • webgpu/whlsl/textures-sample.html: Removed.
  • webgpu/whlsl/two-dimensional-array-expected.txt: Removed.
  • webgpu/whlsl/two-dimensional-array.html: Removed.
  • webgpu/whlsl/type-mismatch-expected.txt: Removed.
  • webgpu/whlsl/type-mismatch.html: Removed.
  • webgpu/whlsl/uint-bitwise-expected.txt: Removed.
  • webgpu/whlsl/uint-bitwise.html: Removed.
  • webgpu/whlsl/use-undefined-variable-2-expected.txt: Removed.
  • webgpu/whlsl/use-undefined-variable-2.html: Removed.
  • webgpu/whlsl/use-undefined-variable-expected.txt: Removed.
  • webgpu/whlsl/use-undefined-variable.html: Removed.
  • webgpu/whlsl/variable-shadowing-expected.txt: Removed.
  • webgpu/whlsl/variable-shadowing.html: Removed.
  • webgpu/whlsl/vector-compare-expected.txt: Removed.
  • webgpu/whlsl/vector-compare.html: Removed.
  • webgpu/whlsl/vector-constructors-expected.txt: Removed.
  • webgpu/whlsl/vector-constructors.html: Removed.
  • webgpu/whlsl/vector-matrix-addition-subtraction-expected.txt: Removed.
  • webgpu/whlsl/vector-matrix-addition-subtraction.html: Removed.
  • webgpu/whlsl/vector-syntax-expected.txt: Removed.
  • webgpu/whlsl/vector-syntax.html: Removed.
  • webgpu/whlsl/void-variable-parameter-expected.txt: Removed.
  • webgpu/whlsl/void-variable-parameter.html: Removed.
  • webgpu/whlsl/while-loop-break-expected.html: Removed.
  • webgpu/whlsl/while-loop-break.html: Removed.
  • webgpu/whlsl/while-loop-continue-expected.html: Removed.
  • webgpu/whlsl/while-loop-continue.html: Removed.
  • webgpu/whlsl/whlsl-expected.html: Removed.
  • webgpu/whlsl/whlsl.html: Removed.
  • webgpu/whlsl/wrong-argument-length-expected.txt: Removed.
  • webgpu/whlsl/wrong-argument-length.html: Removed.
  • webgpu/whlsl/wrong-types-expected.txt: Removed.
  • webgpu/whlsl/wrong-types.html: Removed.
  • webgpu/whlsl/zero-initialize-values-2-expected.html: Removed.
  • webgpu/whlsl/zero-initialize-values-2.html: Removed.
  • webgpu/whlsl/zero-initialize-values-expected.html: Removed.
  • webgpu/whlsl/zero-initialize-values.html: Removed.
7:57 PM Changeset in webkit [280466] by clopez@igalia.com
  • 7 edits in trunk

[WPE][GTK] build broken with python2 after r280382
https://bugs.webkit.org/show_bug.cgi?id=228629

Reviewed by Philippe Normand.

Source/JavaScriptCore:

Call {PYTHON_EXECUTABLE} instead of python3.

  • PlatformGTK.cmake:

Source/WebKit:

Call {PYTHON_EXECUTABLE} instead of python3. Our build currently
supports both versions of python (2 and 3). If the user wants
to force a specific version it can do that via the CMake argument
-DPYTHON_EXECUTABLE=/path/to/python/interpreter

No new tests, is a build fix.

  • PlatformGTK.cmake:
  • PlatformWPE.cmake:

Tools:

Fix compatibility with python2.

  • glib/apply-build-revision-to-files.py:

(main):

7:32 PM Changeset in webkit [280465] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS|AS] VTImageRotationSession returns a kVTImageRotationNotSupportedErr, breaks painting rotated videos
https://bugs.webkit.org/show_bug.cgi?id=228620

Reviewed by Per Arne Vollan.

Error is thrown from ImageRotationSessionVT, forcing WebKit to go down software rotation path.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
7:05 PM Changeset in webkit [280464] by Andres Gonzalez
  • 3 edits in trunk/Source/WebCore

Crash at WebCore: -[WebAccessibilityObjectWrapper _accessibilityTableAncestor].
https://bugs.webkit.org/show_bug.cgi?id=228600
rdar://79910135

Reviewed by Chris Fleizach.

The cause of the crash was that [WebAccessibilityObjectWrapper
_accessibilityTableAncestor] was dereferencing self.axBackingObject
which can be null.
The same problem was present in a number of methods that are retrieving
an ancestor of a given role. This patch solves this problem by calling
_prepareAccessibilityCall before trying to dereference the backing core
object.
Avoided code repetition by adding the helper function ancestorWithRole.

  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(ancestorWithRole):
(-[WebAccessibilityObjectWrapper _accessibilityTreeAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityDescriptionListAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityListAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityArticleAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityLandmarkAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityIsInTableCell]):
(-[WebAccessibilityObjectWrapper _accessibilityFieldsetAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityFrameAncestor]):

7:00 PM Changeset in webkit [280463] by Tadeu Zagallo
  • 4 edits
    1 add in trunk

definePropertyOnReceiver should check if receiver canPerformFastPutInline
https://bugs.webkit.org/show_bug.cgi?id=227963
<rdar://80259710>

Reviewed by Alexey Shvayka.

JSTests:

  • stress/reflect-set-custom-value.js: Added.

Source/JavaScriptCore:

definePropertyOnReceiver has a fast path if the slot is not opaque and the receiver doesn't
have a custom defineOwnProperty implementation, in which case it calls putInlineFast (and
transitively putDirectInternal<PutModePut>). The issue is that putDirectInternal does not
handle customValues correctly: it just overwrites the property without changing the attributes.
To fix that, we should first check if the property might be a custom value, and if that's the case
we now call definePropertyOnReceiverSlow, which has been updated to handle custom values correctly.
I also added assertions to putInlineFastReplacingStaticPropertyIfNeeded and putDirectInternal
to make sure we don't accidentally overwrite custom values in the future.

  • runtime/JSObject.cpp:

(JSC::definePropertyOnReceiverSlow):
(JSC::JSObject::definePropertyOnReceiver):
(JSC::JSObject::putInlineFastReplacingStaticPropertyIfNeeded):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::putDirectInternal):

6:51 PM Changeset in webkit [280462] by jer.noble@apple.com
  • 6 edits in trunk/Source/WebCore

[Cocoa|WK1] -[NSAttributeString loadFromHTML...] methods will disable bluetooth route switching
https://bugs.webkit.org/show_bug.cgi?id=228593
<rdar://81160969>

Reviewed by Eric Carlson.

NSAttributedString will use WebKitLegacy APIs to load provided HTML; in so doing, an AudioSessionIOS
singleton object is created, and -[AVAudioSession setEligibleForBTSmartRoutingConsideration:error:]
is called with a NO parameter, disabling smart routing for the calling process.

Disable this behavior if DeprecatedGlobalSettings::shouldManageAudioSessionCategory() returns false;
this setting is disabled for all WK1 clients, and enabled for WK2.

  • page/DeprecatedGlobalSettings.cpp:

(WebCore::DeprecatedGlobalSettings::setShouldManageAudioSessionCategory):
(WebCore::DeprecatedGlobalSettings::shouldManageAudioSessionCategory):

  • page/DeprecatedGlobalSettings.h:

(WebCore::DeprecatedGlobalSettings::setShouldManageAudioSessionCategory): Deleted.
(WebCore::DeprecatedGlobalSettings::shouldManageAudioSessionCategory): Deleted.

  • platform/audio/AudioSession.h:
  • platform/audio/ios/AudioSessionIOS.mm:

(WebCore::setEligibleForSmartRouting):

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

[CMake] Fix missing libgpg-error not added to link commands as libgcrypt dep after r280423
https://bugs.webkit.org/show_bug.cgi?id=228581

Reviewed by Carlos Alberto Lopez Perez.

  • Source/cmake/FindLibGcrypt.cmake: Manually search for libgpg-error, which is not listed

in libgcrypt.pc as a dependency, add an imported target for it, and add it as a dependency
of LibGcrypt::LibGcrypt to avoid missing symbols at link time.

6:36 PM Changeset in webkit [280460] by Alexey Shvayka
  • 24 edits
    3 adds
    3 deletes in trunk

[JSC] Legacy RegExp fields should be accessors
https://bugs.webkit.org/show_bug.cgi?id=220233

Reviewed by Tadeu Zagallo.

JSTests:

  • ChakraCore/test/Lib/forin_lib_v3.baseline-jsc:
  • microbenchmarks/assign-custom-setter-polymorphic.js:
  • microbenchmarks/assign-custom-setter.js:
  • microbenchmarks/custom-setter-getter-as-put-get-by-id.js:
  • microbenchmarks/custom-value-2.js:
  • microbenchmarks/custom-value.js:
  • microbenchmarks/get-custom-getter.js:
  • stress/custom-value-delete-property-1.js:
  • stress/custom-value-delete-property-2.js:
  • stress/custom-value-delete-property-3.js:
  • stress/object-assign-fast-path.js:
  • stress/reflect-set.js:
  • stress/regexp-constructor-dollar-getters-are-unique.js: Added.
  • stress/regexp-setter-realm.js: Added.
  • stress/static-put-in-prototype-chain.js: Added.
  • test262/config.yaml:
  • test262/expectations.yaml:

Source/JavaScriptCore:

This patch implements a part of Legacy RegExp features proposal [1], replacing
custom values with custom accessors that require |this| value to be RegExp
constructor of the same realm.

Apart from fixing property descriptors, this change brings legacy RegExpConstructor
fields in compliance with invariants of internal methods [2] (described in #151348),
aligning JSC with V8 and SpiderMonkey.

It doesn't, however, implement LegacyFeaturesEnabled? and RegExp.prototype.compile
changes.

[1]: https://github.com/tc39/proposal-regexp-legacy-features
[2]: https://tc39.es/ecma262/#sec-invariants-of-the-essential-internal-methods

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

  • runtime/RegExpConstructor.cpp:

(JSC::JSC_DEFINE_CUSTOM_GETTER):
(JSC::JSC_DEFINE_CUSTOM_SETTER):
(JSC::regExpConstructorDollarImpl): Deleted.

  • tools/JSDollarVM.cpp:

LayoutTests:

  • js/dom/getOwnPropertyDescriptor-expected.txt:
  • js/dom/regexp-caching-expected.txt:
  • js/dom/regexp-caching.html:
  • js/resources/getOwnPropertyDescriptor.js:
  • js/script-tests/static-put-in-prototype-chain.js:
  • js/static-put-in-prototype-chain-expected.txt:
  • js/static-put-in-prototype-chain.html:
5:28 PM Changeset in webkit [280459] by Devin Rousso
  • 18 edits
    3 adds in trunk

[Payment Request] additionalShippingMethods are not used if a paymentMethodType is provided
https://bugs.webkit.org/show_bug.cgi?id=228599
<rdar://problem/81190366>

Reviewed by Andy Estes.

Source/WebCore:

r275169 made it so that paymentMethodType is no longer required so that additionalShippingMethods
can be specified without having to limit it to a specific payment method type. While this
works in theory, WebKit doesn't know about the user's selected payment method type until the
user actually selects a payment method, meaning that until then the additionalShippingMethods
are not used. Unfortunately (until now) PKPaymentRequestPaymentMethodUpdate did not
support providing a NSArray<PKShippingMethod *> *, so there was no way to update the list
of shipping methods when the user changed their selected payment method, meaning that WebKit
would have to wait/rely on the user to change their shipping address _after_ selecting a
payment method in order for additionalShippingMethods to take effect.

This also fixes an issue with WebKit's implementation of the W3C Payment Request API by
allowing any generic (i.e. things not specific to Apple Pay) shippingOptions provided in
PaymentDetailsUpdate to actually be used and update the Apple Pay sheet accordingly.

Test: http/tests/paymentrequest/ApplePayModifier-paymentMethodType.https.html

  • Modules/applepay/ApplePayModifier.idl:
  • Modules/applepay/ApplePayModifier.h:
  • Modules/applepay/ApplePayPaymentMethodUpdate.idl:
  • Modules/applepay/ApplePayPaymentMethodUpdate.h:

(WebCore::ApplePayPaymentMethodUpdate::encode const):
(WebCore::ApplePayPaymentMethodUpdate::decode):

  • Modules/applepay/ApplePayShippingMethodUpdate.idl:
  • Modules/applepay/ApplePayShippingMethodUpdate.h:

(WebCore::ApplePayShippingMethodUpdate::encode const):
(WebCore::ApplePayShippingMethodUpdate::decode):
Add (or wrap existing) additionalShippingMethods/newShippingMethods properties.

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::ApplePayPaymentHandler::computeShippingMethods):
(WebCore::ApplePayPaymentHandler::detailsUpdated):
(WebCore::ApplePayPaymentHandler::shippingOptionUpdated):
(WebCore::ApplePayPaymentHandler::paymentMethodUpdated):
Also call computeShippingMethods() and add the result to the update.

  • testing/MockPaymentCoordinator.cpp:

(WebCore::MockPaymentCoordinator::completeShippingMethodSelection):
(WebCore::MockPaymentCoordinator::completeShippingContactSelection):
(WebCore::MockPaymentCoordinator::completePaymentMethodSelection):
(WebCore::MockPaymentCoordinator::completeCouponCodeChange):
Support for testing.

Source/WebCore/PAL:

r275169 made it so that paymentMethodType is no longer required so that additionalShippingMethods
can be specified without having to limit it to a specific payment method type. While this
works in theory, WebKit doesn't know about the user's selected payment method type until the
user actually selects a payment method, meaning that until then the additionalShippingMethods
are not used. Unfortunately (until now) PKPaymentRequestPaymentMethodUpdate did not
support providing a NSArray<PKShippingMethod *> *, so there was no way to update the list
of shipping methods when the user changed their selected payment method, meaning that WebKit
would have to wait/rely on the user to change their shipping address _after_ selecting a
payment method in order for additionalShippingMethods to take effect.

This also fixes an issue with WebKit's implementation of the W3C Payment Request API by
allowing any generic (i.e. things not specific to Apple Pay) shippingOptions provided in
PaymentDetailsUpdate to actually be used and update the Apple Pay sheet accordingly.

  • pal/spi/cocoa/PassKitSPI.h:
    • add the new shippingMethods property on PKPaymentRequestUpdate
    • add the existing errors property on PKPaymentRequestPaymentMethodUpdate

Source/WebKit:

r275169 made it so that paymentMethodType is no longer required so that additionalShippingMethods
can be specified without having to limit it to a specific payment method type. While this
works in theory, WebKit doesn't know about the user's selected payment method type until the
user actually selects a payment method, meaning that until then the additionalShippingMethods
are not used. Unfortunately (until now) PKPaymentRequestPaymentMethodUpdate did not
support providing a NSArray<PKShippingMethod *> *, so there was no way to update the list
of shipping methods when the user changed their selected payment method, meaning that WebKit
would have to wait/rely on the user to change their shipping address _after_ selecting a
payment method in order for additionalShippingMethods to take effect.

This also fixes an issue with WebKit's implementation of the W3C Payment Request API by
allowing any generic (i.e. things not specific to Apple Pay) shippingOptions provided in
PaymentDetailsUpdate to actually be used and update the Apple Pay sheet accordingly.

  • Platform/cocoa/PaymentAuthorizationPresenter.mm:

(WebKit::PaymentAuthorizationPresenter::completePaymentMethodSelection):
(WebKit::PaymentAuthorizationPresenter::completeShippingMethodSelection):
Also convert and set the shippingMethods on the update.

Source/WTF:

r275169 made it so that paymentMethodType is no longer required so that additionalShippingMethods
can be specified without having to limit it to a specific payment method type. While this
works in theory, WebKit doesn't know about the user's selected payment method type until the
user actually selects a payment method, meaning that until then the additionalShippingMethods
are not used. Unfortunately (until now) PKPaymentRequestPaymentMethodUpdate did not
support providing a NSArray<PKShippingMethod *> *, so there was no way to update the list
of shipping methods when the user changed their selected payment method, meaning that WebKit
would have to wait/rely on the user to change their shipping address _after_ selecting a
payment method in order for additionalShippingMethods to take effect.

This also fixes an issue with WebKit's implementation of the W3C Payment Request API by
allowing any generic (i.e. things not specific to Apple Pay) shippingOptions provided in
PaymentDetailsUpdate to actually be used and update the Apple Pay sheet accordingly.

  • wtf/PlatformHave.h:
  • wtf/PlatformEnableCocoa.h:

Add new compile flags for PassKit supporting modifying shipping methods with any update.

LayoutTests:

  • http/tests/paymentrequest/ApplePayModifier-paymentMethodType.https.html: Added.
  • http/tests/paymentrequest/ApplePayModifier-paymentMethodType.https-expected.txt: Added.
  • platform/ios-14-wk2/TestExpectations:
  • platform/mac-bigsur-wk2/TestExpectations: Added.

Skip on older macOS/iOS since they don't support modifying shipping methods with any update.

5:14 PM Changeset in webkit [280458] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ Mac wk1 Debug] imported/w3c/web-platform-tests/html/cross-origin-opener-policy/coop-csp-sandbox.https.html.
https://bugs.webkit.org/show_bug.cgi?id=228626.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
5:10 PM Changeset in webkit [280457] by Jonathan Bedard
  • 4 edits in trunk/Tools

[git-webkit] Handle relative paths in filtered commands
https://bugs.webkit.org/show_bug.cgi?id=228606
<rdar://problem/81289748>

Reviewed by Aakash Jain.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:

(FilteredCommand.pager): Child process should use the same current working directory.
(FilteredCommand.main): Convert any file names to their absolute paths.

4:54 PM Changeset in webkit [280456] by mmaxfield@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add WebGPU to webkit.org/status
https://bugs.webkit.org/show_bug.cgi?id=228623

Reviewed by Robin Morisset.

  • features.json:
4:12 PM Changeset in webkit [280455] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] compositing/video/poster.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=228616

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:02 PM Changeset in webkit [280454] by achristensen@apple.com
  • 5 edits in trunk

[ Mac ] fast/dom/webtiming-document-open.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=228571

Reviewed by Chris Dumez.

Source/WebCore:

In r278391 I made PerformanceTiming::monotonicTimeToIntegerMilliseconds call MonotonicTime::approximateWallTime,
which, if called multiple times, can give slightly different values, usually differing by 1 (millisecond, in this case).
To fix this, cache the value from the first call. This uses an additional 168 bytes per frame in pages that use PerformanceTiming.
Once bug 227336 is turned on and the web is given a year or so to move to that replacement API, this whole API will be removed.

  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::navigationStart const):
(WebCore::PerformanceTiming::unloadEventStart const):
(WebCore::PerformanceTiming::unloadEventEnd const):
(WebCore::PerformanceTiming::redirectStart const):
(WebCore::PerformanceTiming::redirectEnd const):
(WebCore::PerformanceTiming::fetchStart const):
(WebCore::PerformanceTiming::domainLookupStart const):
(WebCore::PerformanceTiming::domainLookupEnd const):
(WebCore::PerformanceTiming::connectStart const):
(WebCore::PerformanceTiming::connectEnd const):
(WebCore::PerformanceTiming::secureConnectionStart const):
(WebCore::PerformanceTiming::requestStart const):
(WebCore::PerformanceTiming::responseStart const):
(WebCore::PerformanceTiming::responseEnd const):
(WebCore::PerformanceTiming::domLoading const):
(WebCore::PerformanceTiming::domInteractive const):
(WebCore::PerformanceTiming::domContentLoadedEventStart const):
(WebCore::PerformanceTiming::domContentLoadedEventEnd const):
(WebCore::PerformanceTiming::domComplete const):
(WebCore::PerformanceTiming::loadEventStart const):
(WebCore::PerformanceTiming::loadEventEnd const):

  • page/PerformanceTiming.h:

LayoutTests:

  • platform/mac/TestExpectations:
3:52 PM Changeset in webkit [280453] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Simplify ImageDiff SDK logic
https://bugs.webkit.org/show_bug.cgi?id=228603
<rdar://problem/81281548>

Reviewed by Sam Weinig.

  • ImageDiff/Makefile:

For any non-macOS SDK, build a macOS ImageDiff (because we use it on the host, not the target).

3:26 PM Changeset in webkit [280452] by ysuzuki@apple.com
  • 11 edits
    5 adds in trunk

[JSC] Yarr should perform BoyerMoore search
https://bugs.webkit.org/show_bug.cgi?id=228301

Reviewed by Saam Barati.

JSTests:

  • microbenchmarks/jquery-todomvc-regexp.js:
  • stress/regexp--bm-search-long-character.js: Added.

(shouldBe):

  • stress/regexp--bm-search-long-map.js: Added.

(shouldBe):

  • stress/regexp-bitvector-reuse.js: Added.

(shouldBe):

  • stress/regexp-non-ascii-bm-search-character.js: Added.

(shouldBe):

  • stress/regexp-non-ascii-bm-search-map.js: Added.

(shouldBe):

Source/JavaScriptCore:

This patch emits skipping fast-path at the beginning of body alternatives with a large stride. So we can quickly discard unrelated characters
and attempt to find possibly related sequence in the long sequence. The method is derived from V8's implementation (with some extensions).

If we have a searching pattern /abcdef/, then we can check the 6th character against a set of {a, b, c, d, e, f}.
If it does not match, we can shift 6 characters. We use this strategy since this way can be extended easily to support
disjunction, character-class, and ignore-cases. For example, in the case of /(?:abc|def)/, we can check 3rd character
against {a, b, c, d, e, f} and shift 3 characters if it does not match.

Then, the best way to perform the above shifting is that finding the longest character sequence which does not have
many candidates. In the case of /[a-z]aaaaaaa[a-z]/, we can extract "aaaaaaa" sequence and check 8th character against {a}.
If it does not match, then we can shift 7 characters (length of "aaaaaaa"). This shifting is better than using "[a-z]aaaaaaa[a-z]"
sequence and {a-z} set since {a-z} set will almost always match.

We first collect possible characters for each character position. Then, apply heuristics to extract good character sequence from
that and construct fast searching with long stride.

Microbenchmark which performs RegExp ops in Speedometer2/jQuery-TodoMVC shows 25% improvement.

ToT Patched

jquery-todomvc-regexp 723.9739+-1.3997 579.1698+-1.2505 definitely 1.2500x faster

This improves Speedometer2/jQuery-TodoMVC by 3%.

----------------------------------------------------------------------------------------------------------------------------------
| subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |
----------------------------------------------------------------------------------------------------------------------------------
| Elm-TodoMVC |123.365625 |123.456250 |1.000735 | 0.804077 |
| VueJS-TodoMVC |26.912500 |26.925000 |1.000464 | 0.969603 |
| EmberJS-TodoMVC |127.540625 |127.562500 |1.000172 | 0.960474 |
| BackboneJS-TodoMVC |50.606250 |50.518750 |0.998271 | 0.670313 |
| Preact-TodoMVC |21.018750 |20.850000 |0.991971 | 0.563818 |
| AngularJS-TodoMVC |136.943750 |137.271875 |1.002396 | 0.531513 |
| Vanilla-ES2015-TodoMVC |68.521875 |68.593750 |1.001049 | 0.701376 |
| Inferno-TodoMVC |65.559375 |65.803125 |1.003718 | 0.414418 |
| Flight-TodoMVC |77.284375 |76.715625 |0.992641 | 0.219870 |
| Angular2-TypeScript-TodoMVC |40.725000 |40.318750 |0.990025 | 0.281212 |
| VanillaJS-TodoMVC |55.209375 |54.715625 |0.991057 | 0.056921 |
| jQuery-TodoMVC |266.396875 |258.471875 |0.970251 | 0.000000 (significant) |
| EmberJS-Debug-TodoMVC |341.550000 |341.856250 |1.000897 | 0.618140 |
| React-TodoMVC |88.731250 |88.871875 |1.001585 | 0.512407 |
| React-Redux-TodoMVC |150.340625 |150.065625 |0.998171 | 0.412940 |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |65.390625 |65.362500 |0.999570 | 0.834760 |
----------------------------------------------------------------------------------------------------------------------------------
a mean = 245.96997
b mean = 246.86366
pValue = 0.0061448402
(Bigger means are better.)
1.004 times better
Results ARE significant

  • runtime/OptionsList.h:
  • yarr/YarrJIT.cpp:

(JSC::Yarr::BoyerMooreInfo::BoyerMooreInfo):
(JSC::Yarr::BoyerMooreInfo::length const):
(JSC::Yarr::BoyerMooreInfo::set):
(JSC::Yarr::BoyerMooreInfo::index const):
(JSC::Yarr::BoyerMooreInfo::setIndex):
(JSC::Yarr::BoyerMooreInfo::create):
(JSC::Yarr::BoyerMooreInfo::findBestCharacterSequence const):
(JSC::Yarr::BoyerMooreInfo::findWorthwhileCharacterSequenceForLookahead const):
(JSC::Yarr::BoyerMooreInfo::createCandidateBitmap const):

  • yarr/YarrJIT.h:

(JSC::Yarr::BoyerMooreBitmap::count const):
(JSC::Yarr::BoyerMooreBitmap::map const):
(JSC::Yarr::BoyerMooreBitmap::isMaskEffective const):
(JSC::Yarr::BoyerMooreBitmap::add):
(JSC::Yarr::BoyerMooreByteVector::BoyerMooreByteVector):
(JSC::Yarr::YarrCodeBlock::set8BitCode):
(JSC::Yarr::YarrCodeBlock::set16BitCode):
(JSC::Yarr::YarrCodeBlock::set8BitCodeMatchOnly):
(JSC::Yarr::YarrCodeBlock::set16BitCodeMatchOnly):
(JSC::Yarr::YarrCodeBlock::clear):
(JSC::Yarr::YarrCodeBlock::findSameVector const):

Source/WTF:

  • wtf/BitVector.cpp:

(WTF::BitVector::dump const):

  • wtf/Bitmap.h:

(WTF::WordType>::dump const):

  • wtf/UniqueRef.h:

(WTF::makeUniqueRefFromNonNullUniquePtr):
(WTF::UniqueRef::UniqueRef):

3:12 PM Changeset in webkit [280451] by commit-queue@webkit.org
  • 11 edits
    2 moves
    1 add in trunk/Source

REGRESSION (r278877) [Cocoa] WebAuthn stopped working for non-Safari browsers
https://bugs.webkit.org/show_bug.cgi?id=228116
<rdar://problem/80693607>

Patch by Brent Fulgham.

Patch by Kate Cheney <Kate Cheney> on 2021-07-29
Reviewed by Per Arne Vollan.

Source/WebKit:

We should not be using the PAC key to confirm a valid WebContent process is the source of
WebAuthn-related messages. Instead, we should confirm the message source is an Apple-signed
executable, and that the signining identity is for the WebContent process.

  • Shared/Cocoa/CodeSigning.h: Renamed from Source/WebKit/Shared/mac/CodeSigning.h.
  • Shared/Cocoa/CodeSigning.mm: Renamed from Source/WebKit/Shared/mac/CodeSigning.mm.

(WebKit::codeSigningIdentifier):
(WebKit::codeSigningIdentifierForCurrentProcess):
(WebKit::currentProcessIsPlatformBinary):
(WebKit::codeSigningIdentifierAndPlatformBinaryStatus):

  • Shared/Cocoa/XPCEndpoint.mm:

(WebKit::XPCEndpoint::XPCEndpoint):

  • SourcesCocoa.txt:
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::messageSourceIsValidWebContentProcess):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getWebAuthnProcessConnection):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/mac/WebProcessProxyMac.mm:
  • WebKit.xcodeproj/project.pbxproj:

Source/WTF:

Add new SPI header for code signing features.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/spi/cocoa/SecuritySPI.h:
  • wtf/spi/darwin/CodeSignSPI.h: Added.
2:55 PM Changeset in webkit [280450] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] 2 http/tests/cookies/same-site tests are flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=228604

RUnreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:49 PM Changeset in webkit [280449] by Ayumi Kojima
  • 1 edit
    1 add in trunk/LayoutTests

[ iPad ] Rebaselining editing/selection/ios/change-selection-by-tapping-with-existing-selection.html.
https://bugs.webkit.org/show_bug.cgi?id=228607

Unreviewed test gardening.

  • platform/ipad/editing/selection/ios/change-selection-by-tapping-with-existing-selection-expected.txt: Added.
2:23 PM Changeset in webkit [280448] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

-Wreturn-type warning in SQLiteDatabase.cpp
https://bugs.webkit.org/show_bug.cgi?id=228602

Unreviewed, add missing RELEASE_ASSERT_NOT_REACHED().

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-07-29

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::checkpointModeValue):

2:00 PM Changeset in webkit [280447] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] 2 http/tests/cookies/same-site tests are flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=228604

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
1:59 PM Changeset in webkit [280446] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Disable hanging punctuation content
https://bugs.webkit.org/show_bug.cgi?id=228598

Reviewed by Antti Koivisto.

Currently we only check the root for hanging punctuation, but it is applicable to all elements including inline boxes.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

1:43 PM Changeset in webkit [280445] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WTF

[iOS] Don't set capture attribution dynamically in the simulator
https://bugs.webkit.org/show_bug.cgi?id=228596
rdar://81176531

Reviewed by Jer Noble.

  • wtf/PlatformHave.h: Don't define HAVE_SYSTEM_STATUS for the simulator.
1:17 PM Changeset in webkit [280444] by Alan Coon
  • 1 copy in tags/Safari-612.1.24.11.7

Tag Safari-612.1.24.11.7.

1:15 PM Changeset in webkit [280443] by Alan Coon
  • 2 edits in branches/safari-612.1.24.11-branch/Source/WebKit

Cherry-pick r280433. rdar://problem/81286942

The bundle path of downlevel Safari is wrong
https://bugs.webkit.org/show_bug.cgi?id=228339

Reviewed by Tim Horton.

Use the same approach as isSystemWebKit to check whether the WebKit bundle
is from the staged framework.

  • Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm: (WebKit::isFeatureFlagEnabled):

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

1:15 PM Changeset in webkit [280442] by Alan Coon
  • 2 edits in branches/safari-612.1.24.11-branch/Source/WebKit

Cherry-pick r280424. rdar://problem/81286934

[macOS Catalina] Some feature preferences have wrong default values
https://bugs.webkit.org/show_bug.cgi?id=228564

Reviewed by Tim Horton.

When HAVE(SYSTEM_FEATURE_FLAGS) is false, we still need to enable
some features by default.

This patch makes sure the following features are enabled by default
on macOS (consistent with the properties in WebKit-macos.plist):

  • async_frame_and_overflow_scrolling
  • gpu_process_canvas_rendering
  • gpu_process_media
  • gpu_process_webrtc
  • incremental_pdf
  • vp9_decoder
  • webm_format_reader
  • webm_parser
  • Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultUseGPUProcessForCanvasRenderingEnabled): (WebKit::defaultUseGPUProcessForDOMRenderingEnabled): (WebKit::defaultUseGPUProcessForMediaEnabled): (WebKit::defaultCaptureAudioInGPUProcessEnabled): (WebKit::defaultCaptureVideoInGPUProcessEnabled): (WebKit::defaultWebRTCCodecsInGPUProcess): (WebKit::defaultIncrementalPDFEnabled): (WebKit::defaultWebMFormatReaderEnabled):

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

12:54 PM Changeset in webkit [280441] by commit-queue@webkit.org
  • 6 edits in trunk/Source

GetIdentifierStringForPreferredVoiceInListWithLocale() is deprecated in Monterey
<https://webkit.org/b/228066>
<rdar://problem/80577312>

Patch by David Kilzer.

Patch by Kate Cheney <Kate Cheney> on 2021-07-29
Reviewed by David Kilzer.

Source/WebCore:

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(WebCore::speechSynthesisGetDefaultVoiceIdentifierForLocale):

  • Switch to use CopyIdentifierStringForPreferredVoiceInListWithLocale() in Monterey.
  • Change to return RetainPtr<> to handle lifetime of object returned from new function.

(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):

  • Change varible type to 'auto' since return type of speechSynthesisGetDefaultVoiceIdentifierForLocale() changed.

Source/WebCore/PAL:

  • pal/spi/mac/SpeechSynthesisSPI.h:
  • pal/spi/mac/SpeechSynthesisSPI.h:

(CopyIdentifierStringForPreferredVoiceInListWithLocale): Add.

  • Define replacement function for GetIdentifierStringForPreferredVoiceInListWithLocale() in Monterey.

Source/WTF:

  • wtf/PlatformHave.h:
  • Add HAVE(SPEECHSYNTHESIS_MONTEREY_SPI).
12:47 PM Changeset in webkit [280440] by Jonathan Bedard
  • 7 edits in trunk/Tools

[webkitscmpy] Return remote objects from remote() function
https://bugs.webkit.org/show_bug.cgi?id=226980
<rdar://problem/79299760>

Reviewed by Dewei Zhu.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.url): Add function to return remote url directly.
(Git.remote): Construct the appropriate remote object.

  • Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:

(Svn.url): Add function to return the remote url directly.
(Svn.remote): Construct the appropriate remote object.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(TestGit.test_url):
(TestGit.test_remote):
(TestGit.test_remote_github):
(TestGit.test_remote_bitbucket):

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:

(TestLocalSvn.test_url):
(TestLocalSvn.test_remote):

12:04 PM Changeset in webkit [280439] by Peng Liu
  • 5 edits in trunk/Tools

[Catalina][GPUP] Some API tests fail after GPU Process features are enabled
https://bugs.webkit.org/show_bug.cgi?id=228589

Reviewed by Aakash Jain.

Disable a few API tests while the investigation is ongoing.

  • TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:

(TEST_F):

  • TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:

(TEST_F):

11:58 AM Changeset in webkit [280438] by sihui_liu@apple.com
  • 3 edits in trunk/LayoutTests

Fix fast/speechrecognition/detached-iframe.html
https://bugs.webkit.org/show_bug.cgi?id=228586

Reviewed by Chris Dumez.

The result of detached-iframe.html does not print description as remove() removes document.body instead of
the iframe.

  • fast/speechrecognition/detached-iframe-expected.txt:
  • fast/speechrecognition/detached-iframe.html:
11:44 AM Changeset in webkit [280437] by aakash_jain@apple.com
  • 4 edits in trunk/Tools

Send email notification when VerifyGitHubIntegrity step fails
https://bugs.webkit.org/show_bug.cgi?id=228592

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/emails.json:
  • CISupport/ews-build/send_email.py:

(send_email_to_github_admin):

  • CISupport/ews-build/steps.py:

(VerifyGitHubIntegrity):
(VerifyGitHubIntegrity.evaluateCommand):
(VerifyGitHubIntegrity.send_email_for_github_issue):

11:32 AM Changeset in webkit [280436] by Jonathan Bedard
  • 7 edits
    2 copies
    1 add in trunk/Tools

[git-webkit] Add identifiers to 'log' and 'blame'
https://bugs.webkit.org/show_bug.cgi?id=228027
<rdar://problem/80691164>

Reviewed by Dewei Zhu.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:

(Scm.from_path): Pass all kwargs to local SCM object.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py:

(main): Add Blame and Log commands.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/blame.py: Added.

(Blame): Invoke pager.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:

(FilteredCommand): Shared command that handles replace hashes/revisions in
an SCM command with identifiers.
(FilteredCommand.parser): Allow user to change the prefered commit representation.
(FilteredCommand.pager): Pass output through more if called from a terminal.
(FilteredCommand.main): Modify output of provided command to replace commit representation
with the preffered commit representation.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py: Added.

(Log): Invoke pager.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/log_unittest.py: Added.

(TestLog):
(TestLog.setUp):
(TestLog.test_git):
(TestLog.test_git_svn):
(TestLog.test_git):

11:18 AM Changeset in webkit [280435] by Jonathan Bedard
  • 4 edits in trunk/Tools

[webkitcorepy] Catch AttributeError when getting password
https://bugs.webkit.org/show_bug.cgi?id=228590
<rdar://problem/81278799>

Reviewed by Aakash Jain.

  • Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
  • Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:

(credentials): Catch AttributeError.

10:52 AM Changeset in webkit [280434] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iOS ] http/tests/appcache/main-resource-redirect-with-sw.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=228588

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
10:50 AM Changeset in webkit [280433] by Peng Liu
  • 2 edits in trunk/Source/WebKit

The bundle path of downlevel Safari is wrong
https://bugs.webkit.org/show_bug.cgi?id=228339

Reviewed by Tim Horton.

Use the same approach as isSystemWebKit to check whether the WebKit bundle
is from the staged framework.

  • Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:

(WebKit::isFeatureFlagEnabled):

10:48 AM Changeset in webkit [280432] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

[ Mac wk2] fast/scrolling/mac/programmatic-scroll-overrides-rubberband.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228591.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
10:21 AM Changeset in webkit [280431] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] VerifyGitHubIntegrity step fails with an exception
https://bugs.webkit.org/show_bug.cgi?id=228587

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/steps.py:

(VerifyGitHubIntegrity): Fixed the base class.
(VerifyGitHubIntegrity.getResultSummary): Drive-by fix to improve error message.

  • CISupport/ews-build/steps_unittest.py: Added unit-tests.
10:15 AM Changeset in webkit [280430] by Russell Epstein
  • 8 edits in branches/safari-612.1.26-branch/Source

Versioning.

WebKit-7612.1.26

10:14 AM Changeset in webkit [280429] by Russell Epstein
  • 1 copy in branches/safari-612.1.26-branch

New branch.

10:12 AM Changeset in webkit [280428] by Russell Epstein
  • 8 edits in trunk/Source

Versioning.

WebKit-7612.1.27

10:04 AM Changeset in webkit [280427] by Chris Dumez
  • 5 edits in trunk/LayoutTests

Unreviewed, unskip storage/indexeddb/detached-iframe.html now that it is no longer flaky after r280426.

  • platform/glib/TestExpectations:
  • platform/ios-14/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk2/TestExpectations:
9:55 AM Changeset in webkit [280426] by Chris Dumez
  • 3 edits in trunk/LayoutTests

storage/indexeddb/detached-iframe.html is flaky on some bots
https://bugs.webkit.org/show_bug.cgi?id=228569
<rdar://80396559>

Reviewed by Sihui Liu.

The test was flaky because the detachIframe() function was incorrect and actually
removing the iframe's parent instead of the iframe (Credit to Sihui for finding this
out). This patch fixes the issue and also adds a description() to improve the test
output.

  • storage/indexeddb/detached-iframe-expected.txt:
  • storage/indexeddb/detached-iframe.html:
9:47 AM Changeset in webkit [280425] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

CORS preflight checks not attributed to the correct application
https://bugs.webkit.org/show_bug.cgi?id=228585
<rdar://problem/81220151>

Reviewed by Alex Christensen.

We use _attributedBundleIdentifier to attribute loads to the correct
application. This parameter is set on each NSURLSession in the per-page
session sets. This patch sets the webPageProxyID for CORS preflight check
in the load parameters so the network data task knows to use the per-page
session set, so the loads get attributed to the right application.

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::startPreflight):

9:27 AM Changeset in webkit [280424] by Peng Liu
  • 2 edits in trunk/Source/WebKit

[macOS Catalina] Some feature preferences have wrong default values
https://bugs.webkit.org/show_bug.cgi?id=228564

Reviewed by Tim Horton.

When HAVE(SYSTEM_FEATURE_FLAGS) is false, we still need to enable
some features by default.

This patch makes sure the following features are enabled by default
on macOS (consistent with the properties in WebKit-macos.plist):

  • async_frame_and_overflow_scrolling
  • gpu_process_canvas_rendering
  • gpu_process_media
  • gpu_process_webrtc
  • incremental_pdf
  • vp9_decoder
  • webm_format_reader
  • webm_parser
  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultUseGPUProcessForCanvasRenderingEnabled):
(WebKit::defaultUseGPUProcessForDOMRenderingEnabled):
(WebKit::defaultUseGPUProcessForMediaEnabled):
(WebKit::defaultCaptureAudioInGPUProcessEnabled):
(WebKit::defaultCaptureVideoInGPUProcessEnabled):
(WebKit::defaultWebRTCCodecsInGPUProcess):
(WebKit::defaultIncrementalPDFEnabled):
(WebKit::defaultWebMFormatReaderEnabled):

8:30 AM WebKitGTK/2.32.x edited by Michael Catanzaro
(diff)
8:16 AM Changeset in webkit [280423] by Adrian Perez de Castro
  • 7 edits in trunk

[CMake] Use an imported target for the libgcrypt library
https://bugs.webkit.org/show_bug.cgi?id=228581

Reviewed by Michael Catanzaro.

.:

  • Source/cmake/FindLibGcrypt.cmake: Replaced find module by a new one which defines a

LibGcrypt::LibGcrypt imported target, using more modern CMake constructs.

  • Source/cmake/OptionsGTK.cmake: Use the LibGcrypt::LibGcrypt imported target.
  • Source/cmake/OptionsWPE.cmake: Ditto.

Source/WebCore:

No new tests needed.

  • platform/GCrypt.cmake: Use the LibGcrypt::LibGcrypt imported target.
  • platform/GStreamer.cmake: Remove unneeded usage of ${LIBGCRYPT_INCLUDE_DIRS} and

${LIBGCRYPT_LIBRARIES}, as those are handled now by making WebCore depend on the
LibGcrypt::LibGcrypt imported target.

7:56 AM Changeset in webkit [280422] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk

[WPE][GTK] .asc file extension is appended to filename of text/plain downloads
https://bugs.webkit.org/show_bug.cgi?id=228566

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-07-29
Reviewed by Adrian Perez de Castro.

Source/WebCore:

Our MIMETypeRegistry::preferredExtensionForMIMEType returns "asc" for text/plain, possibly
because "asc" sorts alphabetically ahead of all other possible file extensions for
text/plain, and we just pick the first one. So if the text file does not contain any file
extension, we give it a file extension for a GPG signature. Ouch.

I don't know how to fix it, but we don't need to, because we don't really want to append any
file extension for text/plain anyway. That's just annoying. If I download a file named
"backtrace" then I don't want it renamed to "backtrace.txt". That would be expected on
Windows, but certainly not from WebKitGTK. So I think it's reasonable to have a special case
for text/plain.

  • platform/xdg/MIMETypeRegistryXdg.cpp:

(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):

Tools:

  • TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:

(serverCallback):
(testDownloadTextPlainMIMEType):
(beforeAll):

  • TestWebKitAPI/Tests/WebKitGLib/resources/text: Added.
4:21 AM Changeset in webkit [280421] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

RealtimeOutgoingVideoSourceCocoa::rotatePixelBuffer should update m_currentRotationSessionAngle
https://bugs.webkit.org/show_bug.cgi?id=228549
<rdar://80608977>

Reviewed by Eric Carlson.

Do not forget to update m_currentRotationSessionAngle when creating a new rotation session.
Also, make sure to recreate rotation session in case the pixel buffer size changes.

  • platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:

(WebCore::RealtimeOutgoingVideoSourceCocoa::rotatePixelBuffer):

4:21 AM Changeset in webkit [280420] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

NetworkRTCUDPSocketCocoaConnections nw_listener_set_state_changed_handler callback should hold a reference to its listener
https://bugs.webkit.org/show_bug.cgi?id=228551
<rdar://81137047>

Reviewed by Alex Christensen.

nw_listener is not guaranteed to stay valid when calling the state change callback.
We need to hold a reference to the listener in the callback.
To prevent memory leaks, the callback will clear its listener reference when entering cancelled state.
The cancelled state is guaranteed to happen when calling cancel in the listener, which happens when closing the socket.
Covered by existing tests.

  • NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:

(WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections):

4:03 AM Changeset in webkit [280419] by Adrian Perez de Castro
  • 12 edits in trunk/Source

Non-unified build fixes, late July 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=228579

Unreviewed non-unified build fixes.

Source/WebCore:

  • Modules/webaudio/AudioContextOptions.h: Add missing <optional> header.
  • html/BaseDateAndTimeInputType.cpp: Add missing "FrameView.h" header.
  • page/PageConfiguration.cpp: Add missing "BroadcastChannelRegistry.h" header.

Source/WebKit:

  • NetworkProcess/IndexedDB/WebIDBServer.cpp: Add missing "Logging.h" header.
  • NetworkProcess/NetworkBroadcastChannelRegistry.cpp: Add missing

<WebCore/MessageWithMessagePorts.h> header.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp: Add missing

"NetworkBroadcastChannelRegistry.h" header.

  • UIProcess/gtk/WebDateTimePickerGtk.cpp:

(WebKit::timeToString): Add missing WebCore:: namespace prefix to usages of constants of the
WebCore::SecondFormat enum.

  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp: Add missing

<WebCore/FrameView.h> header.

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp: Add missing

<WebCore/RenderView.h> header.

  • WebProcess/gtk/GtkSettingsManagerProxy.cpp: Add missing "WebCore.h" header.
1:32 AM Changeset in webkit [280418] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

☂️ [GPU Process] Defer removal of resources in the GPU Process until we've executed all display list items which reference them
https://bugs.webkit.org/show_bug.cgi?id=228216
<rdar://problem/80473805>

Reviewed by Wenson Hsieh.

All the code changes have landed. Mark the tests as passing again.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:

Jul 28, 2021:

10:30 PM Changeset in webkit [280417] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WebXR] Require GL_OES_EGL_image extension for xrCompatible GL context
https://bugs.webkit.org/show_bug.cgi?id=228575

Patch by Ada Chan <ada.chan@apple.com> on 2021-07-28
Reviewed by Dean Jackson.

Without this extension, EGLImageTargetTexture2DOES() will fail
in GraphicsContextGLOpenGL::attachIOSurfaceToSharedTexture().

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

9:18 PM Changeset in webkit [280416] by Jean-Yves Avenard
  • 43 edits
    4 adds in trunk

[WebAudio] Add webm/opus container support
https://bugs.webkit.org/show_bug.cgi?id=227110
<rdar://problem/79437067>

Reviewed by Jer Noble.

Source/WebCore:

Add support for webm in Web Audio.
As decoding needs to be performed in the web content process we
need to ensure that the decoders are available there. For security
reasons, com.apple.audio.AudioComponentRegistrar mach calls are blocked
which prevents registering a new audio component.
We instead register it in the UI process so that AudioComponentFetchServerRegistrations
SPI can forward the registration in the web process.
Unfortunately, for unknown reasons, this fails for Vorbis audio codec (bug 228139).

To demux the webm content, we use the existing SourceBufferParserWebM to extract all
audio packets. We then iterate over all CM Samples and decode them into PCM, performing
resampling as needed on the fly.
There are things left to fix.

  • Opus and Vorbis encoder delay isn't handled (bug 228140) which leaves audible

silence at the beginning of the destination buffer.

  • We can only decode mono and stereo content. Opus and Vorbis let you define a

custom channel ordering, this is particularly used with ambisonic audio (with opus 255 mode).
CoreMedia doesn't easily deal with such re-ordering as it appears to be essentially
designed for audible content. With more than 2 channels, decoding will either fail
or produce channels in the wrong order.

Test: webaudio/decode-audio-data-webm-opus.html

  • Headers.cmake: Export header so that we can register the decoder in the UI process.
  • WebCore.xcodeproj/project.pbxproj: same as above.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::canPlayType const): Make canPlayType(webm/audio; codecs=opus)
work if features is set.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setWebMWebAudioEnabled):
(WebCore::RuntimeEnabledFeatures::webMWebAudioEnabled const):

  • platform/MediaSample.h: Fly-by fix: remove unnecessary WEBCORE_EXPORT
  • platform/audio/AudioBus.cpp:

(WebCore::AudioBus::setLength):

  • platform/audio/AudioBus.h: Add setLength method. Will change the reported length

without touching the underlying storage.

  • platform/audio/AudioChannel.h: Add setLength method. Will change the reported

length without touching the underlying storage.

  • platform/audio/cocoa/AudioFileReaderCocoa.cpp:

(WebCore::tryCreateAudioBufferList): Fix checkedInt use to catch potential overflow
(WebCore::AudioBufferListHolder::AudioBufferListHolder): Add convenience class that
free wrapped AudioBufferList object on exit.
(WebCore::AudioBufferListHolder::~AudioBufferListHolder):
(WebCore::AudioBufferListHolder::operator bool const):
(WebCore::AudioBufferListHolder::operator-> const):
(WebCore::AudioBufferListHolder::operator* const):
(WebCore::AudioBufferListHolder::isValid const):
(WebCore::AudioFileReader::AudioFileReader):
(WebCore::AudioFileReader::isMaybeWebM const): Method to check if the buffer
contains WebM data.
(WebCore::passthroughInputDataCallback): Required for AudioConverterFillComplexBuffer.
Will feed the decoder the data to decode, splitting the multiple packets found
in the CMSampleBuffer.
(WebCore::AudioFileReader::numberOfFrames const): Return the total number of
decoded frames in the packets.
(WebCore::AudioFileReader::fileDataFormat const): Create AudioStreamBasicDescription
related to the demuxed audio track. nullopt if unsupported content.
(WebCore::AudioFileReader::clientDataFormat const):
(WebCore::AudioFileReader::createBus):
(WebCore::AudioFileReader::logChannel const):

  • platform/audio/cocoa/AudioFileReaderCocoa.h:
  • platform/audio/cocoa/AudioSampleDataSource.h: Remove unused typedef.
  • platform/audio/cocoa/AudioSampleDataSource.mm:

(WebCore::AudioSampleDataSource::~AudioSampleDataSource): Fly-by fix, make it use
PAL softlinks
(WebCore::AudioSampleDataSource::setupConverter): Fly-by fix, make it use PAL
softlinks

  • platform/gamepad/mac/HIDGamepadProvider.mm: Fly-by fix, add missing header.
  • platform/graphics/TrackPrivateBase.cpp: Fly-by fix, add missing header.
  • platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:

Fly-by fix required by webkit-prepare : don't tag the whole class as WEBCORE_EXPORT.
Move constructor and destructor function definitions out-of-line to prevent
linkage errors.

  • platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:

(WebCore::MediaSampleAVFObjC::MediaSampleAVFObjC): Move code

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm: Fly-by fix, add missing header.
  • platform/graphics/cocoa/WebMAudioUtilitiesCocoa.h: Export some symbols, add new

method definitions.

  • platform/graphics/cocoa/WebMAudioUtilitiesCocoa.mm:

(WebCore::registerDecoderFactory): Instead of attempting to register the decoder
by dl-opening the required library, first attempting to see if the decoder is
already available. Calling AudioComponentRegister in the web content process
when the GPU process is enabled will fail due to sandbox settings. Which would
incorrectly report the codec to not be available when it was.
(WebCore::createAudioFormatDescriptionForFormat):
(WebCore::isOpusDecoderAvailable): Fly-by fix, should the method be called
on non-mac platform it would have return the unitialized value of the available
static variable.
(WebCore::registerOpusDecoderIfNeeded): Added
(WebCore::isVorbisDecoderAvailable): Same as isOpusDecoderAvailable
(WebCore::registerVorbisDecoderIfNeeded): Added

Source/WebCore/PAL:

Add various AVFoundation (AVAudioConverter) related methods and
CoreMedia to access required CMSampleBuffer related methods.

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h:
  • pal/cocoa/AVFoundationSoftLink.h:
  • pal/cocoa/AVFoundationSoftLink.mm:

Source/WebKit:

Add default value for webm_webaudio feature flag for the different platforms.
Disabled by default on all platforms.
Fly-by fix: don't make webm parser dependent on VP9 support.

  • FeatureFlags/WebKit-appletvos.plist:
  • FeatureFlags/WebKit-ios.plist:
  • FeatureFlags/WebKit-macos.plist:
  • FeatureFlags/WebKit-watchos.plist:
  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultWebMWebAudioEnabled):

  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::sendAudioComponentRegistrations):

Source/WTF:

Add WebMWebAudioEnabled preference to make canPlayType return probably for mimetype:
"audio/webm; codecs=opus"
Disabled by default.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

  • platform/mac/TestExpectations: Only enable test on macOS Monterey
  • webaudio/decode-audio-data-basic.html: fix whitespace
  • webaudio/decode-audio-data-webm-opus-expected.txt: Added.
  • webaudio/decode-audio-data-webm-opus.html: Added.
  • webaudio/resources/media/opus.webm: Added.
  • webaudio/resources/media/vorbis.webm: Added.
9:04 PM Changeset in webkit [280415] by sihui_liu@apple.com
  • 25 edits
    7 adds in trunk

Implement IDBTransaction.durability
https://bugs.webkit.org/show_bug.cgi?id=228289

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/IndexedDB/idlharness.any-expected.txt:
  • web-platform-tests/IndexedDB/idlharness.any.worker-expected.txt:
  • web-platform-tests/IndexedDB/transaction-relaxed-durability.tentative.any-expected.txt:
  • web-platform-tests/IndexedDB/transaction-relaxed-durability.tentative.any.worker-expected.txt:

Source/WebCore:

Spec: https://www.w3.org/TR/IndexedDB/#dom-idbtransaction-durability

https://www.w3.org/TR/IndexedDB/#dictdef-idbtransactionoptions

IDBTransaction.durability gives a hint about durability of a transaction. If it's strict, backend would try
syncing data to database file after transaction commit, which enforces durability. If it's relaxed, it means
data may stay in the OS buffer some time after transaction commit, which gives better performance. Firefox and
Chrome already implemented durability. They have different ways of setting durability, and we choose to use
TransactionOptions as spec.

Rebaselined existing tests.
New tests: storage/indexeddb/idbtransaction-durability-private.html

storage/indexeddb/idbtransaction-durability.html

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Headers.cmake:
  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::transaction):

  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/IDBTransaction.idl:
  • Modules/indexeddb/IDBTransactionDurability.h: Added.
  • Modules/indexeddb/IDBTransactionDurability.idl: Added.
  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):

  • Modules/indexeddb/server/SQLiteIDBTransaction.h:

(WebCore::IDBServer::SQLiteIDBTransaction::durability const):

  • Modules/indexeddb/shared/IDBTransactionInfo.cpp:

(WebCore::IDBTransactionInfo::clientTransaction):
(WebCore::IDBTransactionInfo::IDBTransactionInfo):
(WebCore::IDBTransactionInfo::isolatedCopy):

  • Modules/indexeddb/shared/IDBTransactionInfo.h:

(WebCore::IDBTransactionInfo::durability const):
(WebCore::IDBTransactionInfo::encode const):
(WebCore::IDBTransactionInfo::decode):

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/sql/SQLiteDatabase.cpp:

(WebCore::checkpointModeValue):
(WebCore::SQLiteDatabase::checkpoint):
(WebCore::SQLiteDatabase::useWALJournalMode):

  • platform/sql/SQLiteDatabase.h:

LayoutTests:

  • storage/indexeddb/idbtransaction-durability-expected.txt: Added.
  • storage/indexeddb/idbtransaction-durability-private-expected.txt: Added.
  • storage/indexeddb/idbtransaction-durability-private.html: Added.
  • storage/indexeddb/idbtransaction-durability.html: Added.
  • storage/indexeddb/resources/idbtransaction-durability.js: Added.

(onOpenUpgradeNeeded):
(onOpenSuccess):
(onTransactionComplete):

7:33 PM Changeset in webkit [280414] by rniwa@webkit.org
  • 4 edits in trunk

makeWeakPtr should support Ref and RefPtr as the argument
https://bugs.webkit.org/show_bug.cgi?id=228574

Reviewed by Wenson Hsieh.

Source/WTF:

This patch adds variants of makeWeakPtr<T> which take Ref<T> and RefPtr<T>.

Tests: TestWebKitAPI.WTF_WeakPtr.MakeWeakPtrTakesRef

TestWebKitAPI.WTF_WeakPtr.MakeWeakPtrTakesRefPtr

  • wtf/WeakPtr.h:

(WTF::makeWeakPtr):

Tools:

Added unit tests for makeWeakPtr<T> on Ref<T> and RefPtr<T>.

  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp:

(TestWebKitAPI::BaseObjectWithRefAndWeakPtr): Added.
(TestWebKitAPI::BaseObjectWithRefAndWeakPtr::create): Added.
(TestWebKitAPI::BaseObjectWithRefAndWeakPtr::someFunction):
(TestWebKitAPI::DerivedObjectWithRefAndWeakPtr): Added.
(TestWebKitAPI::DerivedObjectWithRefAndWeakPtr::create):
(WTF_WeakPtr.MakeWeakPtrTakesRef): Added.
(WTF_WeakPtr.MakeWeakPtrTakesRefPtr): Added.

7:31 PM Changeset in webkit [280413] by Jonathan Bedard
  • 5 edits in trunk/Tools

[webkitcorepy] Add hybridmethod decorator
https://bugs.webkit.org/show_bug.cgi?id=225991
<rdar://problem/78230701>

Reviewed by Dewei Zhu.

  • Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
  • Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py:

(hybridmethod): Similar to the "classmethod" decorator, except this decorator allows the
decorated functions to differentiate between being called by the class and an instance
of the class.

  • Scripts/libraries/webkitcorepy/webkitcorepy/tests/decorators_unittest.py:

(TestHybrid):
(TestHybrid.is_type):
(TestHybrid.test_type):
(TestHybrid.test_instance):

6:48 PM Changeset in webkit [280412] by Jonathan Bedard
  • 2 edits in trunk/Tools

[webkitcorepy] Fix race condition in TaskPool unittests (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=227455
<rdar://problem/79873003>

Reviewed by Dewei Zhu.

  • Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py:

(TaskPoolUnittest.test_invalid_shutdown): Deleted.

5:09 PM Changeset in webkit [280411] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iPad ] platform/ipad/media/modern-media-controls/media-documents/media-document-audio-ios-sizing.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=228570#c0

Unreviewed test gardening.

  • platform/ipad/TestExpectations:
4:35 PM Changeset in webkit [280410] by sihui_liu@apple.com
  • 11 edits
    5 adds in trunk

IDBFactory.databases should not return databases with invalid version
https://bugs.webkit.org/show_bug.cgi?id=228554

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/IndexedDB/get-databases.any-expected.txt:
  • web-platform-tests/IndexedDB/get-databases.any.worker-expected.txt:

Source/WebCore:

To get database information, we used to open all database files and read from them. To avoid opening new
connection to databases that are already opened, and to ensure we get the latest information, for database that
is already opened, we should get its information from UniqueIDBDatabase directly. If database is not opened, we
open its file and read. By doing this, we also fix the issue that no databases are returned in private browsing
(since there is no file created).

Also, version 0 means the database is just created and has not finished version change transaction (version 1
is the first valid version according to spec), so we should not return databases with version 0.

Tests: storage/indexeddb/getdatabases-private.html

storage/indexeddb/getdatabases.html

  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::getDatabaseNameAndVersionFromOriginDirectory):
(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions):

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::filePath const):
(WebCore::IDBServer::UniqueIDBDatabase::nameAndVersion const):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:

LayoutTests:

  • storage/indexeddb/getdatabases-expected.txt: Added.
  • storage/indexeddb/getdatabases-private-expected.txt: Added.
  • storage/indexeddb/getdatabases-private.html: Added.
  • storage/indexeddb/getdatabases.html: Added.
  • storage/indexeddb/resources/getdatabases.js: Added.

(test):

4:33 PM Changeset in webkit [280409] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ iPad ] platform/ipad/media/modern-media-controls/media-documents/media-document-audio-ios-sizing.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=228570#c0

Unreviewed test gardening.

  • platform/ipad/TestExpectations:
4:11 PM Changeset in webkit [280408] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

fast/dom/webtiming-document-open.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=228571.

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:03 PM Changeset in webkit [280407] by Ayumi Kojima
  • 1 edit
    2 adds in trunk/LayoutTests

[ iPad ] Rebaseline 2 imported/w3c/web-platform-tests/html tests.
https://bugs.webkit.org/show_bug.cgi?id=228568

Unreviewed test gardening.

  • platform/ipad/imported/w3c/web-platform-tests/html/browsers/the-window-object/dialog-form-submission-expected.txt: Added.
  • platform/ipad/imported/w3c/web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-sizing.window-expected.txt: Added.
3:33 PM Changeset in webkit [280406] by Russell Epstein
  • 8 edits in branches/safari-612.1.24.11-branch/Source

Versioning.

WebKit-7612.1.24.11.7

3:02 PM Changeset in webkit [280405] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, Rebaseline imported/w3c/web-platform-tests/html/dom/idlharness.https.html on iPad.

  • platform/ipad/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
2:58 PM Changeset in webkit [280404] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests/imported/w3c

Unreviewed, reverting r280402.

Wrong baseline set.

Reverted changeset:

"[ iPad ] Rebaseline 2 imported/w3c/web-platform-tests/html
tests."
https://bugs.webkit.org/show_bug.cgi?id=228568
https://commits.webkit.org/r280402

2:51 PM Changeset in webkit [280403] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Update test expectations for inspector/canvas/recording-html-2d.html and inspector/canvas/updateShader-webgpu.html.
https://bugs.webkit.org/show_bug.cgi?id=227881.

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:50 PM Changeset in webkit [280402] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests/imported/w3c

[ iPad ] Rebaseline 2 imported/w3c/web-platform-tests/html tests.
https://bugs.webkit.org/show_bug.cgi?id=228568

Unreviewed test gardening.

  • web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-sizing.window-expected.txt:
2:46 PM Changeset in webkit [280401] by mmaxfield@apple.com
  • 8 edits in trunk/Source

[GPU Process] Start tracking resource uses for ImageBuffers
https://bugs.webkit.org/show_bug.cgi?id=228225

Reviewed by Said Abou-Hallawa.

Source/WebCore:

This is part 4 of https://bugs.webkit.org/show_bug.cgi?id=228216.

This works the same way as NativeImages/Fonts (https://bugs.webkit.org/show_bug.cgi?id=228224).
The only real difference to how ImageBuffers work today is that RemoteImageBufferProxy's destructor
doesn't directly tell the RemoteRenderingBackendProxy to release its RenderingResourceIdentifier,
but instead this codepath goes through the RemoteResourceCacheProxy which is tracking the number of
uses of the resource. This is so the RemoteResourceCacheProxy can inject the use count into the
ReleaseRemoteResource command.

Covered by existing tests.

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::drawImageBuffer):
(WebCore::DisplayList::Recorder::clipToImageBuffer):

  • platform/graphics/displaylists/DisplayListRecorder.h:

(WebCore::DisplayList::Recorder::Delegate::recordImageBufferUse):

  • platform/graphics/displaylists/DisplayListReplayer.cpp:

(WebCore::DisplayList::applyImageBufferItem):
(WebCore::DisplayList::Replayer::applyItem):

Source/WebKit:

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:

(WebKit::RemoteResourceCacheProxy::cacheImageBuffer):
(WebKit::RemoteResourceCacheProxy::cachedImageBuffer):
(WebKit::RemoteResourceCacheProxy::releaseImageBuffer):
(WebKit::RemoteResourceCacheProxy::recordImageBufferUse):
(WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed):

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
2:43 PM Changeset in webkit [280400] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Ignore extra route change notifications
https://bugs.webkit.org/show_bug.cgi?id=228565

Reviewed by Jer Noble.

Tested manually, this only reproduces on iOS hardware.

  • platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
  • platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:

(WebCore::AVAudioSessionCaptureDeviceManager::scheduleUpdateCaptureDevices): Do
nothing if m_recomputeDevices is true.
(WebCore::AVAudioSessionCaptureDeviceManager::computeCaptureDevices): Don't rebuilding
device list unless m_recomputeDevices is set. Clear m_recomputeDevices after after
rebuilding list.

2:36 PM Changeset in webkit [280399] by Jonathan Bedard
  • 5 edits in trunk/Tools

[ews-build.webkit.org] Verify GitHub integrity in commit queue
https://bugs.webkit.org/show_bug.cgi?id=228563
<rdar://problem/81230685>

Reviewed by Aakash Jain.

  • CISupport/ews-build/factories.py:

(CommitQueueFactory.init): Add VerifyGitHubIntegrity.

  • CISupport/ews-build/factories_unittest.py:

(TestCommitQueueFactory.test_commit_queue_factory):

  • CISupport/ews-build/steps.py:

(CheckPatchStatusOnEWSQueues.start):
(VerifyGitHubIntegrity):
(VerifyGitHubIntegrity.init):
(VerifyGitHubIntegrity.getResultSummary):

  • Scripts/check-github-mirror-integrity: Import webkitscmpy from webkitpy.
1:21 PM Changeset in webkit [280398] by Aditya Keerthi
  • 12 edits
    2 adds in trunk

[iOS] <select> picker value committed to incorrect element after programmatic focus change
https://bugs.webkit.org/show_bug.cgi?id=228556
rdar://81222952

Reviewed by Wenson Hsieh.

Source/WebKit:

The old <select> picker is a UIPickerView that only commits any value
changes to the WebProcess once the user dismisses the picker, or focus
is lost programmatically. Currently, the value change is committed by
sending a message to the WebProcess, telling it to update the value of
the currently focused element. However, when focus is changed
programmatically, the focused element in the WebProcess is updated
before the commit, and the incorrect element's value can be changed.

To fix, update all methods which commit value changes to the focused
element to take an ElementContext parameter representing the element
that needs its value modified. Then, in the WebProcess, rather than
commit the value change to the currently focused element, retrieve the
element from the ElementContext, ensuring the correct element is
updated.

Note that this bug only surfaces in the old <select> picker, on apps
linked before iOS 13, since the new picker commits value changes
immediately and dismisses itself.

Test: fast/forms/ios/select-picker-change-and-focus-another-select-programmatically.html

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

(-[WKContentView accessoryClear]):
(-[WKContentView updateFocusedElementValueAsNumber:]):
(-[WKContentView updateFocusedElementValue:]):
(-[WKContentView updateFocusedElementValueAsColor:]):
(-[WKContentView updateFocusedElementSelectedIndex:allowsMultipleSelection:]):
(-[WKContentView insertTextSuggestion:]):
(-[WKContentView selectMenu:didSelectItemAtIndex:]):
(-[WKContentView selectMenu:didCheckItemAtIndex:checked:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::setFocusedElementValue):
(WebKit::WebPageProxy::setFocusedElementValueAsNumber):
(WebKit::WebPageProxy::setFocusedElementSelectedIndex):

  • UIProcess/ios/forms/WKDateTimeInputControl.mm:

(-[WKDateTimePicker reset:]):

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKMultipleSelectPicker pickerView:row:column:checked:]):
(-[WKSelectSinglePicker controlEndEditing]):
(-[WKSelectPicker didSelectOptionIndex:]):
(-[WKSelectPickerTableViewController tableView:didSelectRowAtIndexPath:]):

  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectTableViewController tableView:didSelectRowAtIndexPath:]):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setFocusedElementValue):
(WebKit::WebPage::setFocusedElementValueAsNumber):
(WebKit::WebPage::setFocusedElementSelectedIndex):

LayoutTests:

Added a test to verify that changing focus programmatically, while changes
in the <select> picker have not been committed, updates the value of the
correct element.

  • fast/forms/ios/select-picker-change-and-focus-another-select-programmatically-expected.txt: Added.
  • fast/forms/ios/select-picker-change-and-focus-another-select-programmatically.html: Added.
1:07 PM Changeset in webkit [280397] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

iOS Simulator doesn't have any WebKit system feature flags
https://bugs.webkit.org/show_bug.cgi?id=228557
rdar://80991854

Reviewed by Darin Adler.

  • Scripts/generate-feature-flags-plist.sh:

Install iOS feature flags for the simulator (and watchOS and tvOS for their respective simulators).
This was causing on-by-default features like GPUP to be disabled in the simulator.

12:31 PM Changeset in webkit [280396] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

AppHighlightStorage should not inherit privately from RefCounted
https://bugs.webkit.org/show_bug.cgi?id=228562

Reviewed by Wenson Hsieh.

AppHighlightStorage is only stored with unique_ptr. There is no reason for this class
to *privately* inherit from RefCounted.

  • Modules/highlight/AppHighlightStorage.h:
12:26 PM Changeset in webkit [280395] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=228561.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
12:10 PM Changeset in webkit [280394] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Deploy more use of smart pointers in Document.cpp
https://bugs.webkit.org/show_bug.cgi?id=228544

A partial revert of r280390 to fix builds. AppHighlightStorage isn't really ref-counted.

  • dom/Document.cpp:

(WebCore::Document::finishedParsing):

11:57 AM Changeset in webkit [280393] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

storage/indexeddb/detached-iframe.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207844

Unreviewed test gardening.

  • platform/ios-14/TestExpectations:
  • platform/ios-wk2/TestExpectations:
11:57 AM Changeset in webkit [280392] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WTF

[Cocoa] macOS Monterey and parallel OSes no longer need r280103
https://bugs.webkit.org/show_bug.cgi?id=228539

Reviewed by Alan Bujtas.

Core Text's behavior changed on these OSes.

  • wtf/PlatformUse.h:
11:49 AM Changeset in webkit [280391] by ysuzuki@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] load/store with BaseIndex is inefficient in ARM64
https://bugs.webkit.org/show_bug.cgi?id=228543

Reviewed by Mark Lam.

While we are frequently using load + BaseIndex (with offset) in RegExp code,
we emit 3 instructions in ARM64. This can be represented in 2 instructions.
This patch adds that path to make generated code tight in ARM64 RegExp.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::load64):
(JSC::MacroAssemblerARM64::load32):
(JSC::MacroAssemblerARM64::load16):
(JSC::MacroAssemblerARM64::load16SignedExtendTo32):
(JSC::MacroAssemblerARM64::load8):
(JSC::MacroAssemblerARM64::load8SignedExtendTo32):
(JSC::MacroAssemblerARM64::store64):
(JSC::MacroAssemblerARM64::store32):
(JSC::MacroAssemblerARM64::store16):
(JSC::MacroAssemblerARM64::store8):
(JSC::MacroAssemblerARM64::loadDouble):
(JSC::MacroAssemblerARM64::loadFloat):
(JSC::MacroAssemblerARM64::storeDouble):
(JSC::MacroAssemblerARM64::storeFloat):
(JSC::MacroAssemblerARM64::tryFoldBaseAndOffsetPart):

  • assembler/testmasm.cpp:

(JSC::testLoadBaseIndex):
(JSC::testStoreBaseIndex):

10:53 AM Changeset in webkit [280390] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Deploy more use of smart pointers in Document.cpp
https://bugs.webkit.org/show_bug.cgi?id=228544

Reviewed by Darin Adler.

Deployed RefPtr in more places in Document.cpp

  • dom/Document.cpp:

(WebCore::acceptsEditingFocus):
(WebCore::canAccessAncestor):
(WebCore::createHTMLElementWithNameValidation):
(WebCore::Document::adoptNode):
(WebCore::createFallbackHTMLElement):
(WebCore::Document::setVisualUpdatesAllowed):
(WebCore::Document::setTitle):
(WebCore::Document::resolveStyle):
(WebCore::Document::updateLayout):
(WebCore::Document::updateLayoutIfDimensionsOutOfDate):
(WebCore::Document::frameDestroyed):
(WebCore::Document::removeAllEventListeners):
(WebCore::Document::setBodyOrFrameset):
(WebCore::Document::implicitClose):
(WebCore::Document::isNavigationBlockedByThirdPartyIFrameRedirectBlocking):
(WebCore::Document::didRemoveAllPendingStylesheet):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::processColorScheme):
(WebCore::Document::prepareMouseEvent):
(WebCore::Document::updateViewportUnitsOnResize):
(WebCore::Document::runResizeSteps):
(WebCore::Document::runScrollSteps):
(WebCore::Document::invalidateScrollbars):
(WebCore::Document::adjustFocusedNodeOnNodeRemoval):
(WebCore::Document::invalidateEventRegionsForFrame):
(WebCore::Document::invalidateRenderingDependentRegions):
(WebCore::Document::setFocusedElement):
(WebCore::Document::setBackForwardCacheState):
(WebCore::Document::documentWillBecomeInactive):
(WebCore::Document::setDesignMode):
(WebCore::Document::finishedParsing):
(WebCore::Document::initSecurityContext):
(WebCore::Document::initContentSecurityPolicy):
(WebCore::Document::updateURLForPushOrReplaceState):
(WebCore::Document::getCSSCanvasContext):
(WebCore::Document::loadEventDelayTimerFired):
(WebCore::Document::checkCompleted):
(WebCore::Document::wheelEventHandlersChanged):
(WebCore::Document::didAddWheelEventHandler):
(WebCore::Document::didRemoveWheelEventHandler):
(WebCore::Document::didAddTouchEventHandler):
(WebCore::Document::didRemoveTouchEventHandler):
(WebCore::Document::absoluteEventRegionForNode):
(WebCore::Document::absoluteRegionForEventTargets):
(WebCore::Document::updateLastHandledUserGestureTimestamp):
(WebCore::DocumentParserYieldToken::DocumentParserYieldToken):
(WebCore::DocumentParserYieldToken::~DocumentParserYieldToken):
(WebCore::Document::updateHoverActiveState):
(WebCore::Document::updateIntersectionObservations):
(WebCore::Document::bgColor const):
(WebCore::Document::setBgColor):
(WebCore::Document::fgColor const):
(WebCore::Document::setFgColor):
(WebCore::Document::alinkColor const):
(WebCore::Document::setAlinkColor):
(WebCore::Document::linkColorForBindings const):
(WebCore::Document::setLinkColorForBindings):
(WebCore::Document::vlinkColor const):
(WebCore::Document::setVlinkColor):
(WebCore::Document::dispatchSystemPreviewActionEvent):

9:31 AM Changeset in webkit [280389] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

REGRESSION (r264117): [ Mac iOS ] imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/blob.https.html.
https://bugs.webkit.org/show_bug.cgi?id=214155

Unreviewed test gardening.

  • platform/ios/TestExpectations:
9:12 AM Changeset in webkit [280388] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

imported/w3c/web-platform-tests/speech-api/SpeechSynthesis-speak-events.html is crashing in debug.
https://bugs.webkit.org/show_bug.cgi?id=227501

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
9:03 AM Changeset in webkit [280387] by Alan Coon
  • 1 copy in tags/Safari-612.1.25.1

Tag Safari-612.1.25.1.

9:02 AM Changeset in webkit [280386] by Alan Coon
  • 2 edits in branches/safari-612.1.25-branch/Source/WebCore/PAL

Cherry-pick r280384. rdar://problem/81218821

Fix build with SDKs containing new CFNetwork SPI declaration
https://bugs.webkit.org/show_bug.cgi?id=228553
<rdar://81202574>

Reviewed by Brady Eidson.

CFNSURLConnection.h also has "@interface NSURLSessionConfiguration ()"
ObjC doesn't like it if you have the exact same thing in the parentheses and a duplicate declaration.
I reproduced the build failure with a modified SDK and verified this fixes it.

  • pal/spi/cf/CFNetworkSPI.h:

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

8:57 AM Changeset in webkit [280385] by commit-queue@webkit.org
  • 5 edits in trunk

WebSocket: Safari on iOS 15 beta 3 is sending invalid close frame
https://bugs.webkit.org/show_bug.cgi?id=228329

Patch by Alex Christensen <achristensen@webkit.org> on 2021-07-28
Reviewed by Youenn Fablet.

Source/WebKit:

Our NSURLSession WebSocket implementation had two bugs:

  1. It was sending 1005 as the close code if none was specified. It now sends no close code, which matches Chrome and Firefox.
  2. It was not sending a close code before the close reason when a WebSocket is closed due to navigation. It now sends the close code in 2 bytes before the reason, which matches Chrome and Firefox. Side note: our CFReadStream/CFWriteStream implementation sent neither the code nor the reason in this case, which matches no other browser.

Covered by an API test.

  • NetworkProcess/cocoa/WebSocketTaskCocoa.mm:

(WebKit::WebSocketTask::close):

  • WebProcess/Network/WebSocketChannel.cpp:

(WebKit::WebSocketChannel::fail):
(WebKit::WebSocketChannel::disconnect):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebSocket.mm:

(TestWebKitAPI::TEST):

8:55 AM Changeset in webkit [280384] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Fix build with SDKs containing new CFNetwork SPI declaration
https://bugs.webkit.org/show_bug.cgi?id=228553
<rdar://81202574>

Reviewed by Brady Eidson.

CFNSURLConnection.h also has "@interface NSURLSessionConfiguration ()"
ObjC doesn't like it if you have the exact same thing in the parentheses and a duplicate declaration.
I reproduced the build failure with a modified SDK and verified this fixes it.

  • pal/spi/cf/CFNetworkSPI.h:
8:33 AM Changeset in webkit [280383] by Alan Coon
  • 8 edits in branches/safari-612.1.25-branch/Source

Versioning.

WebKit-7612.1.25.1

8:01 AM Changeset in webkit [280382] by commit-queue@webkit.org
  • 15 edits
    2 adds in trunk

[WPE][GTK] SVN_REVISION drifting away if bots don't re-run cmake
https://bugs.webkit.org/show_bug.cgi?id=228290

Patch by Philippe Normand <pnormand@igalia.com> on 2021-07-28
Reviewed by Michael Catanzaro.

.:

The CMake configure_file() is now used only tarball builds for files requiring information
about the build revision. For developer builds a custom target now takes care of keeping
those files up-to-date.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

Source/JavaScriptCore:

  • PlatformGTK.cmake: Expand ${BUILD_REVISION} with apply-build-revision-to-files.py for

non-tarball builds, or let CMake do it for tarball builds.

  • javascriptcoregtk.pc.in: Switch revision var to ${} format, so that we can choose to

either let CMake expand it or do it ourselves.

Source/WebKit:

  • PlatformGTK.cmake: Expand ${BUILD_REVISION} with apply-build-revision-to-files.py for

non-tarball builds, or let CMake do it for tarball builds.

  • PlatformWPE.cmake: Ditto.
  • UIProcess/API/glib/WebKitProtocolHandler.cpp:

(WebKit::WebKitProtocolHandler::handleGPU): Use generated BuildRevision.h header

  • gtk/webkit2gtk-web-extension.pc.in: Switch revision var to ${} format, so that we can choose to

either let CMake expand it or do it ourselves.

  • gtk/webkit2gtk.pc.in: Ditto.

Tools:

  • MiniBrowser/gtk/main.c:

(main): Use generated BuildRevision.h header.

  • glib/apply-build-revision-to-files.py: Added.

(main):

7:01 AM Changeset in webkit [280381] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

Crash in ApplyStyleCommand::applyRelativeFontStyleChange
https://bugs.webkit.org/show_bug.cgi?id=226926

Patch by Frédéric Wang <fwang@igalia.com> on 2021-07-28
Reviewed by Ryosuke Niwa.

Source/WebCore:

In r179944 and r180050, special handling was added for display: grid/flex nodes in
Position::isCandidate in order to make them editable but the same logic was not added in
PositionIterator::isCandidate. This patch fixes that inconsistency as well as the
corresponding debug ASSERT and release nullptr dereference.

Tests: fast/editing/apply-relative-font-style-change-crash-001.html

fast/editing/apply-relative-font-style-change-crash-002.html

  • dom/PositionIterator.cpp:

(WebCore::PositionIterator::isCandidate const): Handle flexbox and grid.

LayoutTests:

Add regression tests.

  • fast/editing/apply-relative-font-style-change-crash-001-expected.txt: Added.
  • fast/editing/apply-relative-font-style-change-crash-001-expected.txt: Added.
  • fast/editing/apply-relative-font-style-change-crash-002.html: Added.
  • fast/editing/apply-relative-font-style-change-crash-002.html: Added.
1:34 AM Changeset in webkit [280380] by commit-queue@webkit.org
  • 18 edits
    1 add
    3 deletes in trunk/Tools/buildstream

[Flatpak SDK] Dependencies update - July 2021 round
https://bugs.webkit.org/show_bug.cgi?id=228275

Patch by Philippe Normand <pnormand@igalia.com> on 2021-07-28
Reviewed by Adrian Perez de Castro.

  • elements/freedesktop-sdk.bst: Update to latest 20.08 junction version.
  • elements/qt5/qtbase.bst: Switch to KDE 5.15 branch.
  • elements/qt5/qtdeclarative.bst: Ditto.
  • elements/qt5/qtquickcontrols.bst: Ditto.
  • elements/qt5/qtquickcontrols2.bst: Ditto.
  • elements/qt5/qtwayland.bst: Ditto.
  • elements/qt5/qtx11extras.bst: Ditto.
  • elements/sdk-build-depends/rapidjson.bst: Update to latest git snapshot.
  • elements/sdk-platform.bst: Add virtualenv, needed for WPT tests.
  • elements/sdk/ccls.bst: Update to latest release.
  • elements/sdk/clangd.bst: Bump to version 12.
  • elements/sdk/ffmpeg.bst: Bump to version 4.4.
  • elements/sdk/openjpeg.bst: Bump to version 2.4.
  • elements/sdk/rr.bst: Update to latest git snapshot.
  • elements/sdk/x264.bst: Ditto. Snapshot tarballs were discontinued years ago.
  • patches/qtbase-make-sure-to-correctly-construct-base-platform-theme.patch: Removed.
  • patches/qtbase-revert-correct-handling-for-xdg-runtime-dir.patch: Removed.
  • patches/qtbase-revert-qstandardpaths-dont-change-permissions-on-xdg-runtime-dir.patch: Added.
  • patches/qtdeclarative-use-python3.patch: Removed.
  • project.conf:
1:29 AM Changeset in webkit [280379] by Diego Pino Garcia
  • 4 edits in trunk/Tools

[WPE] Add missing required dependencies to build WPE
https://bugs.webkit.org/show_bug.cgi?id=228530

Reviewed by Adrian Perez de Castro.

Script Tools/wpe/install-dependencies was not installing all the required
package dependencies necessary to build WPE. There were several
packages missing or other ones which were only present in the
WebKitGTK list of package dependencies (moved to GLIB).

  • glib/dependencies/apt:
  • gtk/dependencies/apt:
  • wpe/dependencies/apt:
12:19 AM Changeset in webkit [280378] by Fujii Hironori
  • 2 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/TestExpectations:
Note: See TracTimeline for information about the timeline view.