Timeline



May 30, 2022:

11:43 PM Changeset in webkit [295044] by commit-queue@webkit.org
  • 2 edits in trunk/Source

RemoteVideoFrameProxy::pixelBuffer should properly compute canUseIOSurface
https://bugs.webkit.org/show_bug.cgi?id=241100

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-30
Reviewed by Eric Carlson.

We can use IOSurface when doing WebGL in WebProcess, instead of when doing WebGL in GPUProcess.
Update canUseIOSurface accordingly.
Add error logging when creating a CVPixelBufferRef.

  • Source/WebCore/platform/graphics/cv/CVUtilities.mm:

(WebCore::createCVPixelBuffer):

  • Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:

(WebKit::RemoteVideoFrameProxy::pixelBuffer const):

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

10:49 PM Changeset in webkit [295043] by Brandon
  • 1 edit in trunk/Source/bmalloc/libpas/src/libpas/pas_utils.c

[libpas] Build fix macOS
https://bugs.webkit.org/show_bug.cgi?id=241116

Reviewed by Yusuke Suzuki.

Convert from int to uint64_t. Line should always be a positive number.

  • Source/bmalloc/libpas/src/libpas/pas_utils.c:

(pas_assertion_failed_no_inline):
(pas_assertion_failed_no_inline_with_extra_detail):

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

9:50 PM Changeset in webkit [295042] by ysuzuki@apple.com
  • 1 edit in trunk/.clangd

Clangd should always interpret headers as C++
https://bugs.webkit.org/show_bug.cgi?id=241118

Reviewed by Saam Barati.

Attach -xc++ flag to headers in .clangd to interpret all headers as C++ by default.

  • .clangd:

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

9:18 PM Changeset in webkit [295041] by Fujii Hironori
  • 1 edit in trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp

REGRESSION(251043@main): "ASSERTION FAILED: channel" in WebCore::ThreadableWebSocketChannel::create
https://bugs.webkit.org/show_bug.cgi?id=241087

Reviewed by Don Olmstead.

Since 251043@main, WinCairo WK1 was crashing for WebSocket tests.
channel variable was null in ThreadableWebSocketChannel::create.
In the case, it should call WebSocketChannel::create like Mac port
does.

  • Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp:

(WebCore::ThreadableWebSocketChannel::create):

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

9:13 PM Changeset in webkit [295040] by ysuzuki@apple.com
  • 6 edits in trunk/Source

[JSC] Make VMEntryScope cheap
https://bugs.webkit.org/show_bug.cgi?id=241091

Reviewed by Mark Lam.

This patch makes VMEntryScope cheap. In some microbenchmarks, we observe repeated execution of VMEntryScope
because of many ticks driven by microtasks. And currently VMEntryScope is designed to be non-cheap based on
the assumption that this is not frequently executed.

  1. We add isJSThread flag to Thread so that we can skip some of unnecessary initializations.
  2. Appropriately set UNLIKELY / LIKELY for the major path.
  3. Make DateCache::resetIfNecessary fast path inlined.

ToT
Time(doxbee-async-es2017-native): 24 ms.
Time(doxbee-promises-es2015-native): 44.9 ms.
Time(fibonacci-async-es2017-native): 197.6 ms.
Time(parallel-async-es2017-native): 109.1 ms.
Time(parallel-promises-es2015-native): 80.4 ms.

Patched
Time(doxbee-async-es2017-native): 21.4 ms.
Time(doxbee-promises-es2015-native): 36.4 ms.
Time(fibonacci-async-es2017-native): 168.1 ms.
Time(parallel-async-es2017-native): 103.7 ms.
Time(parallel-promises-es2015-native): 70.9 ms.

  • Source/JavaScriptCore/runtime/JSDateMath.cpp:

(JSC::DateCache::resetIfNecessarySlow):
(JSC::DateCache::resetIfNecessary): Deleted.

  • Source/JavaScriptCore/runtime/JSDateMath.h:

(JSC::DateCache::resetIfNecessary):

  • Source/JavaScriptCore/runtime/VM.h:

(JSC::VM::firePrimitiveGigacageEnabledIfNecessary):

  • Source/JavaScriptCore/runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):

  • Source/WTF/wtf/Threading.cpp:

(WTF::Thread::registerJSThread):

  • Source/WTF/wtf/Threading.h:

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

6:26 PM Changeset in webkit [295039] by Alan Bujtas
  • 5 edits
    1 copy
    1 add in trunk/Source/WebCore

Move core flex layout to FlexLayout
https://bugs.webkit.org/show_bug.cgi?id=241106

Reviewed by Antti Koivisto.

  • Source/WebCore/Headers.cmake:
  • Source/WebCore/Sources.txt:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
(WebCore::Layout::FlexFormattingContext::computeAvailableLogicalVerticalSpace const): Deleted.
(WebCore::Layout::FlexFormattingContext::computeAvailableLogicalHorizontalSpace const): Deleted.
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems): Deleted.
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForStretchingFlexItems): Deleted.
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems): Deleted.
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems): Deleted.
(WebCore::Layout::FlexFormattingContext::alignFlexItems): Deleted.
(WebCore::Layout::FlexFormattingContext::justifyFlexItems): Deleted.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
  • Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp: Added.

(WebCore::Layout::FlexLayout::FlexLayout):
(WebCore::Layout::FlexLayout::computeAvailableLogicalVerticalSpace const):
(WebCore::Layout::FlexLayout::computeAvailableLogicalHorizontalSpace const):
(WebCore::Layout::FlexLayout::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForStretchingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexLayout::alignFlexItems):
(WebCore::Layout::FlexLayout::justifyFlexItems):
(WebCore::Layout::FlexLayout::layout):

  • Source/WebCore/layout/formattingContexts/flex/FlexLayout.h: Copied from Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h.

(WebCore::Layout::FlexLayout::formattingState const):
(WebCore::Layout::FlexLayout::flexBoxStyle const):

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

4:59 PM Changeset in webkit [295038] by mmaxfield@apple.com
  • 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp

[Cocoa] Rename [de]normalizeWeight() to [de]normalizeGXWeight()
https://bugs.webkit.org/show_bug.cgi?id=241112

Reviewed by Alan Bujtas.

Weights are measured in 3 different scales:

  1. CSS weights (1 - 999)
  2. Core Text weights (-1.0 - 1.0)
  3. TrueType GX weights (0.0ish to 2.0ish, it's not really defined, only the "default" value

of 1.0 is defined).

Our current functions convert between CSS weights and TrueType GX weights, so this makes that more
clear. A subsequent patch will add conversions between CSS weights and Core Text weights.

No new tests because there is no behavior change.

  • Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::normalizeGXWeight):
(WebCore::denormalizeGXWeight):
(WebCore::preparePlatformFont):
(WebCore::variationCapabilitiesForFontDescriptor):
(WebCore::normalizeWeight): Deleted.
(WebCore::denormalizeWeight): Deleted.

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

4:58 PM Changeset in webkit [295037] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WTF/wtf/RAMSize.cpp

Include <sys/sysinfo.h> on FreeBSD too
https://bugs.webkit.org/show_bug.cgi?id=241099

Patch by Leonardo Taccari <leot@NetBSD.org> on 2022-05-30
Reviewed by Fujii Hironori.

sysinfo(2)/sysinfo(3) is used also in FreeBSD, include corresponding
<sys/sysinfo.h> header too.

  • Source/WTF/wtf/RAMSize.cpp:

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

4:41 PM Changeset in webkit [295036] by ysuzuki@apple.com
  • 3 edits in trunk/Source/JavaScriptCore/heap

[JSC] Make Strong::set cheap
https://bugs.webkit.org/show_bug.cgi?id=241090

Reviewed by Mark Lam.

HandleSet::writeBarrier is frequently called because it is called every time we set a value in Strong<>.
This patch optimizes it,

  1. We should make it inline function since it has a super fast path major use can be covered. And this function is small.
  2. We should not always remove a node from the list first. We should insert / remove it only when necessary.
  3. Remove m_immediateList since it is not necessary.
  4. Make HandleNode as a derived class of BasicRawSentinelNode to make implementation simpler.

This change improves promise benchmarks score since promise uses microtasks which hold values via Strong<>.

ToT
Time(doxbee-async-bluebird): 42.8 ms.
Time(doxbee-async-es2017-babel): 36.4 ms.
Time(doxbee-async-es2017-native): 28.3 ms.
Time(doxbee-promises-bluebird): 514.2 ms.
Time(doxbee-promises-es2015-native): 44.8 ms.
Time(fibonacci-async-es2017-babel): 380.5 ms.
Time(fibonacci-async-es2017-native): 218.2 ms.
Time(parallel-async-bluebird): 648.8 ms.
Time(parallel-async-es2017-babel): 116.9 ms.
Time(parallel-async-es2017-native): 115.6 ms.
Time(parallel-promises-bluebird): 638 ms.
Time(parallel-promises-es2015-native): 82 ms.

Patched
Time(doxbee-async-bluebird): 38 ms.
Time(doxbee-async-es2017-babel): 27 ms.
Time(doxbee-async-es2017-native): 19.5 ms.
Time(doxbee-promises-bluebird): 508.3 ms.
Time(doxbee-promises-es2015-native): 33.3 ms.
Time(fibonacci-async-es2017-babel): 349.1 ms.
Time(fibonacci-async-es2017-native): 151 ms.
Time(parallel-async-bluebird): 639.6 ms.
Time(parallel-async-es2017-babel): 100.9 ms.
Time(parallel-async-es2017-native): 101.9 ms.
Time(parallel-promises-bluebird): 614 ms.
Time(parallel-promises-es2015-native): 70.9 ms.

  • Source/JavaScriptCore/heap/HandleSet.cpp:

(JSC::HandleSet::writeBarrier): Deleted.

  • Source/JavaScriptCore/heap/HandleSet.h:

(JSC::HandleSet::heapFor):
(JSC::HandleSet::allocate):
(JSC::HandleSet::deallocate):
(JSC::HandleSet::writeBarrier):
(JSC::HandleSet::toHandle): Deleted.
(JSC::HandleSet::toNode): Deleted.
(JSC::HandleNode::HandleNode): Deleted.
(JSC::HandleNode::setPrev): Deleted.
(JSC::HandleNode::prev): Deleted.
(JSC::HandleNode::setNext): Deleted.
(JSC::HandleNode::next): Deleted.

  • Source/JavaScriptCore/heap/Strong.h:

(JSC::Strong::set):

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

3:10 PM Changeset in webkit [295035] by Antti Koivisto
  • 9 edits
    12 adds in trunk

Fix invalidation with scope breaking :is/not()
https://bugs.webkit.org/show_bug.cgi?id=241098

Reviewed by Alan Bujtas.

Selector like :has(:is(foo bar)) can be affected by mutations outside the :has scope.

  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/child-indexed-pseudo-classes-in-has-expected.txt: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/child-indexed-pseudo-classes-in-has.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/empty-pseudo-in-has-expected.txt: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/empty-pseudo-in-has.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-adjacent-position.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-ancestor-position.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-parent-position.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-sibling-position.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/is-pseudo-containing-complex-in-has-expected.txt: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/is-pseudo-containing-complex-in-has.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/link-pseudo-in-has-expected.txt: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/link-pseudo-in-has.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/not-pseudo-containing-complex-in-has-expected.txt: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/not-pseudo-containing-complex-in-has.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/typed-child-indexed-pseudo-classes-in-has-expected.txt: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/typed-child-indexed-pseudo-classes-in-has.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/w3c-import.log:

Reimport selector invalidation tests.

  • Source/WebCore/style/ChildChangeInvalidation.cpp:

(WebCore::Style::ChildChangeInvalidation::invalidateForChangedElement):
(WebCore::Style::needsDescendantTraversal):

  • Source/WebCore/style/RuleFeature.cpp:

(WebCore::Style::isSiblingOrSubject):
(WebCore::Style::isHasPseudoClassMatchElement):
(WebCore::Style::computeNextMatchElement):
(WebCore::Style::computeHasPseudoClassMatchElement):
(WebCore::Style::computeSubSelectorMatchElement):
(WebCore::Style::RuleFeatureSet::recursivelyCollectFeaturesFromSelector):

Detect the case and fall back to very wide invalidation (same a non-subject :has() for now).

  • Source/WebCore/style/RuleFeature.h:

(WebCore::Style::RuleFeatureSet::usesHasPseudoClass const):

  • Source/WebCore/style/StyleInvalidator.cpp:

(WebCore::Style::Invalidator::invalidateStyleWithMatchElement):

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

3:03 PM Changeset in webkit [295034] by Fujii Hironori
  • 4 edits in trunk

WebKitTestRunner shouldn't link object files of JavaScriptCore and WebCore
https://bugs.webkit.org/show_bug.cgi?id=241002

Reviewed by Don Olmstead.

243269@main removed WebKit from WebKitTestRunner_FRAMEWORKS for
WPE. But, it should be there not to link object files of
JavaScriptCore and WebCore to WebKitTestRunner. In WPE builds,
JavaScriptCore and WebCore API are exported from WebKit shared
library. WebKit consumers shouldn't link with object files of
JavaScriptCore and WebCore.

However, adding WebKit to WebKitTestRunner_FRAMEWORKS introduced a
new problem that the object file of LowLevelInterpreter.cpp was linked
into WebKitTestRunner. This problem was fixed by changing
LowLevelInterpreterLib to a STATIC library.

  • Source/JavaScriptCore/CMakeLists.txt:
  • Tools/WebKitTestRunner/CMakeLists.txt:
  • Tools/WebKitTestRunner/PlatformGTK.cmake:
  • Tools/WebKitTestRunner/PlatformWin.cmake:

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

2:59 PM Changeset in webkit [295033] by commit-queue@webkit.org
  • 1 edit in trunk/Source/bmalloc/bmalloc/AvailableMemory.cpp

Include <sys/sysinfo.h> only on FreeBSD and Linux
https://bugs.webkit.org/show_bug.cgi?id=241077

Patch by Leonardo Taccari <leot@NetBSD.org> on 2022-05-30
Reviewed by Fujii Hironori.

sysinfo(2)/sysinfo(3) is used only on FreeBSD and Linux and could be not
available in other Unix-like operating systems.

  • Source/bmalloc/bmalloc/AvailableMemory.cpp:

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

11:07 AM Changeset in webkit [295032] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp

Add support for justify-content: space-evenly
https://bugs.webkit.org/show_bug.cgi?id=241085

Reviewed by Antti Koivisto.

Distribute items evenly. Items have equal space around them.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::justifyFlexItems):

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

9:48 AM Changeset in webkit [295031] by commit-queue@webkit.org
  • 17 edits in trunk

MediaStreamTrack.getConstraints is empty object
https://bugs.webkit.org/show_bug.cgi?id=240569

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-30
Reviewed by Eric Carlson.

Cover audio and video constraints in UserMediaRequest.
Set these constraints on the created tracks at promise resolution time.

Make a refactoring to move from using RefPtr<MediaStreamTrack> to Ref<MediaStreamTrack>.
Remove use of MediaStream::getTracks since it is not efficient.

Covered by updated tests.

  • Source/WebCore/Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::getUserMedia):
(WebCore::MediaDevices::getDisplayMedia):

  • Source/WebCore/Modules/mediastream/MediaDevices.h:
  • Source/WebCore/Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::clone):
(WebCore::MediaStream::getTrackById):
(WebCore::MediaStream::getFirstAudioTrack const):
(WebCore::MediaStream::getFirstVideoTrack const):
(WebCore::MediaStream::getTracks const):
(WebCore::MediaStream::internalAddTrack):
(WebCore::MediaStream::internalTakeTrack):
(WebCore::MediaStream::mediaState const):
(WebCore::MediaStream::updateActiveState):
(WebCore::MediaStream::filteredTracks const):

  • Source/WebCore/Modules/mediastream/MediaStream.h:
  • Source/WebCore/Modules/mediastream/MediaStreamTrack.h:

(WebCore::MediaStreamTrack::setConstraints):

  • Source/WebCore/Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::create):
(WebCore::UserMediaRequest::UserMediaRequest):
(WebCore::UserMediaRequest::allow):

  • Source/WebCore/Modules/mediastream/UserMediaRequest.h:
  • LayoutTests/fast/mediastream/getDisplayMedia-max-constraints3.html:
  • LayoutTests/fast/mediastream/getUserMedia-webaudio.html:
  • LayoutTests/fast/mediastream/mediastreamtrack-video-clone.html:

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

9:44 AM Changeset in webkit [295030] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp

Add support for justify-content: space-around
https://bugs.webkit.org/show_bug.cgi?id=241084

Reviewed by Antti Koivisto.

Distribute items evenly. Items have a half-size space on either end.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::justifyFlexItems):

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

8:20 AM Changeset in webkit [295029] by Pablo Saavedra
  • 1 edit in trunk/Source/WebCore/platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h

[GPU Process][Filters] Don't use Uint8ClampedArray in software filter appliers also for FEGaussianBlurNEON
https://bugs.webkit.org/show_bug.cgi?id=240964

Reviewed by Said Abou-Hallawa.

This complement the changes done in r250982 by adapting the specific
method used for ARMv7 NEON.

  • Source/WebCore/platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h:

(WebCore::boxBlurNEON):

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

7:18 AM Changeset in webkit [295028] by Diego Pino Garcia
  • 34 edits in trunk/Source

Unreviewed, non-unified build fixes after 251082@main

  • Source/WebCore/bindings/js/JSAttrCustom.cpp:
  • Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp:
  • Source/WebCore/bindings/js/JSCSSRuleCustom.cpp:
  • Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp:
  • Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  • Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:
  • Source/WebCore/bindings/js/JSDocumentCustom.cpp:
  • Source/WebCore/bindings/js/JSFetchEventCustom.cpp:
  • Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp:
  • Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp:
  • Source/WebCore/bindings/js/JSIDBCursorCustom.cpp:
  • Source/WebCore/bindings/js/JSIntersectionObserverCustom.cpp:
  • Source/WebCore/bindings/js/JSIntersectionObserverEntryCustom.cpp:
  • Source/WebCore/bindings/js/JSMessageChannelCustom.cpp:
  • Source/WebCore/bindings/js/JSMessagePortCustom.cpp:
  • Source/WebCore/bindings/js/JSNodeCustom.cpp:
  • Source/WebCore/bindings/js/JSNodeIteratorCustom.cpp:
  • Source/WebCore/bindings/js/JSPaintRenderingContext2DCustom.cpp:
  • Source/WebCore/bindings/js/JSResizeObserverEntryCustom.cpp:
  • Source/WebCore/bindings/js/JSSVGViewSpecCustom.cpp:
  • Source/WebCore/bindings/js/JSStyleSheetCustom.cpp:
  • Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp:
  • Source/WebCore/bindings/js/JSUndoItemCustom.cpp:
  • Source/WebCore/bindings/js/JSWebGL2RenderingContextCustom.cpp:
  • Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp:
  • Source/WebCore/bindings/js/JSWebXRSessionCustom.cpp:
  • Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp:
  • Source/WebCore/bindings/js/JSWorkerNavigatorCustom.cpp:
  • Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp:
  • Source/WebCore/bindings/js/JSXPathResultCustom.cpp:
  • Source/WebCore/html/HTMLCanvasElement.cpp:
  • Source/WebCore/page/DOMWindowProperty.h:
  • Source/WebCore/page/UndoManager.h:
  • Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:

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

7:10 AM Changeset in webkit [295027] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp

Add support for justify-content: space-between
https://bugs.webkit.org/show_bug.cgi?id=241080

Reviewed by Antti Koivisto.

Distribute items evenly. The first item is flush with the start, the last is flush with the end.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::justifyFlexItems):

  • Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForFlexLayout):

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

7:05 AM Changeset in webkit [295026] by commit-queue@webkit.org
  • 11 edits
    1 copy
    6 adds in trunk

REGRESSION (r293885): [ macOS wk2 ] webrtc/canvas-to-peer-connection.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240814

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-30
Reviewed by Eric Carlson.

With r293885, we stopped using a pixel conformer to convert frames to YUV.
Instead, we used libyuv routines.
Libyuv is using BT.601 while our pixel conformer was using BT.709.
BT.709 is preferred in WebRTC so we now simply remove our conversion routine from RealtimeOutgoingVideoSourceCocoa.
Our hardware codecs can directly take RGB and convert it to YUV using BT.709.
To ensure we use the proper conversion routine, we add a RGB -> YUV conformer in LibWebRTCCodecsProxy.

Libvpx will use BT.601 routine so we do not have a very good story with VP8.
A follow-up should fix this. We add dedicated tests for both H264 and VP8.
We skip the new tests in glib as GTK bots do not like it.

  • LayoutTests/platform/glib/TestExpectations:
  • LayoutTests/platform/ios-simulator/TestExpectations:
  • LayoutTests/platform/mac-wk2/TestExpectations:
  • LayoutTests/webrtc/canvas-to-peer-connection.html:
  • LayoutTests/webrtc/routines.js:
  • Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:

(WebCore::RealtimeOutgoingVideoSourceCocoa::videoFrameAvailable):

  • Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.h:
  • Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:

(WebCore::RealtimeOutgoingVideoSourceCocoa::pixelBufferPool): Deleted.

  • Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
  • Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:

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

6:54 AM Changeset in webkit [295025] by ysuzuki@apple.com
  • 3 edits in trunk/Source/bmalloc/libpas/src/libpas

Unreviewed, build fix on Linux
https://bugs.webkit.org/show_bug.cgi?id=240331

  • Source/bmalloc/libpas/src/libpas/pas_heap_config.h:
  • Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:

(pas_probabilistic_guard_malloc_debug_info):

  • Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h:

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

6:00 AM Changeset in webkit [295024] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/accessibility

Fix a11y build warnings
https://bugs.webkit.org/show_bug.cgi?id=241044

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-30
Reviewed by Adrian Perez de Castro.

  • Source/WebCore/accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::symmetricRelation):

  • Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:

(WebCore::AXObjectCache::postPlatformNotification):

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

3:02 AM Changeset in webkit [295023] by ysuzuki@apple.com
  • 1 edit in trunk/Source/WTF/wtf/CompactPtr.h

Unreviewed, build fix for iOS debug build

  • Source/WTF/wtf/CompactPtr.h:

(WTF::CompactPtr::encode):
(WTF::CompactPtr::decode):
(WTF::CompactPtr::decode const): Deleted.

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

3:00 AM Changeset in webkit [295022] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore/runtime

[JSC] Shrink BrandedStructure
https://bugs.webkit.org/show_bug.cgi?id=241092

Reviewed by Mark Lam.

Use CompactRefPtr and WriteBarrierStructureID to shrink sizeof(BrandedStructure) from 112 to 104.
While it is not enough for 32byte alignment, anyway we can make it smaller, and if we make it 8byte
smaller further, it will become 96bytes.

  • Source/JavaScriptCore/runtime/BrandedStructure.cpp:

(JSC::BrandedStructure::BrandedStructure):

  • Source/JavaScriptCore/runtime/BrandedStructure.h:

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

1:29 AM Changeset in webkit [295021] by ntim@apple.com
  • 45 edits
    1 delete in trunk

Unprefix -webkit-text-align-last and add match-parent value support
https://bugs.webkit.org/show_bug.cgi?id=229083
<rdar://82176885>

Reviewed by Antti Koivisto.

We do not keep support for the prefixed version since no other browser supports it, and WebKit never exposed it on macOS/iOS.
Also, unprefix WPTs where prefixes were added automatically by the test importer.

Note that serialization of the match-parent value isn't as specified in the spec, but the behavior matches other browsers.

Original patch by Brent Fulgham.

  • LayoutTests/fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-expected.txt: Removed.
  • LayoutTests/fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited-expected.txt: Removed.
  • LayoutTests/fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html: Removed.
  • LayoutTests/fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html: Removed.

These tests are redundant with the parsing ones on WPT.

  • LayoutTests/fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html:
  • LayoutTests/fast/css3-text/css3-text-align-last/text-align-last-with-text-align-non-justify.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-align-expected.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-align-ref.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-align.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-percent-001-expected.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-percent-001.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/inheritance-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-003.xht:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-align-last-computed-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-align-last-valid-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-001.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-002.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-003.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-004.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-005.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-006.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-007.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-008.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-009.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-010.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-011.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-012.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-013.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-014.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-empty-inline.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-wins-001.html:
  • LayoutTests/imported/w3c/web-platform-tests/svg/styling/required-properties-expected.txt:
  • LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • Source/WebCore/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • Source/WebCore/css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/StyleProperties.cpp:
  • Source/WebCore/css/parser/CSSParserContext.cpp:

(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):

  • Source/WebCore/css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):

  • Source/WebCore/rendering/style/RenderStyle.h:

(WebCore::RenderStyle::textAlignLast const):
(WebCore::RenderStyle::textIndentType const):
(WebCore::RenderStyle::setTextAlignLast):
(WebCore::RenderStyle::setTextIndentType):
(WebCore::RenderStyle::initialTextAlignLast):
(WebCore::RenderStyle::initialTextIndentType):

  • Source/WebCore/style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertTextAlignLast):

  • Source/WebCore/style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyInitialTextAlignLast):
(WebCore::Style::BuilderCustom::applyValueTextAlignLast):

  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation.js:
  • Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js:

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

12:19 AM Changeset in webkit [295020] by commit-queue@webkit.org
  • 1 edit in trunk/Tools/Scripts/update-angle

Avoid staging autogenerated commit-message.txt
https://bugs.webkit.org/show_bug.cgi?id=240967

Patch by Kenneth Russell <kbr@chromium.org> on 2022-05-29
Unstage the autogenerated commit-message.txt before exiting the
update-angle script to make it easier for the user to remove.

Reviewed by Kimmo Kinnunen.

  • Source/ThirdParty/ANGLE/commit-message.txt: Added.
  • Tools/Scripts/update-angle:

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

May 29, 2022:

12:56 PM Changeset in webkit [295019] by ntim@apple.com
  • 1 edit in trunk/LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt

[Gardening] Rebaseline fast/dom/HTMLMeterElement/meter-element-markup.html after 9a73643
https://bugs.webkit.org/show_bug.cgi?id=240930

Unreviewed test gardening.

Just reflects the new unprefixed style.

  • LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt:

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

10:10 AM Changeset in webkit [295018] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore/layout/formattingContexts/inline

LineBuilder::initialConstraintsForLine needs to know whether there is previous line and if it ended with line break
https://bugs.webkit.org/show_bug.cgi?id=241062

Reviewed by Antti Koivisto.

No need to pass in the PreviousLine struct.

  • Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::computedIntrinsicWidth):
(WebCore::Layout::LineBuilder::initialConstraintsForLine const):

  • Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h:

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

10:09 AM Changeset in webkit [295017] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex

Add basic support for justify-content
https://bugs.webkit.org/show_bug.cgi?id=241073

Reviewed by Antti Koivisto.

"justify-content" property defines how space is distributed between and around flex items along the main-axis.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::justiftFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:

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

8:34 AM Changeset in webkit [295016] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp

Add support for align-self
https://bugs.webkit.org/show_bug.cgi?id=241071

Reviewed by Antti Koivisto.

Align-items behavior can be overwritten for individual flex items by applying the align-self property to them.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::alignFlexItems):

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

7:03 AM Changeset in webkit [295015] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex

Compute available space when ConstraintsForFlexContent does not provide one
https://bugs.webkit.org/show_bug.cgi?id=241070

Reviewed by Antti Koivisto.

e.g. if the flex box does not have fixed height in the cross axis direction, all flex items become as tall as the tallest flex item.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::computeAvailableLogicalVerticalSpace const):
(WebCore::Layout::FlexFormattingContext::computeAvailableLogicalHorizontalSpace const):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::alignFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
(WebCore::Layout::availableLogicalVerticalSpace): Deleted.
(WebCore::Layout::availableLogicalHorizontalSpace): Deleted.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:

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

6:44 AM Changeset in webkit [295014] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp

Add support for flex-start/flex-end/start/end alignment
https://bugs.webkit.org/show_bug.cgi?id=241067

Reviewed by Antti Koivisto.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::alignFlexItems):

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

6:22 AM Changeset in webkit [295013] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex

Introduce FlexFormattingContext::alignFlexItems
https://bugs.webkit.org/show_bug.cgi?id=241064

Reviewed by Antti Koivisto.

This is cross axis alignment (add support for 'center' to showcase).

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::alignFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:

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

1:24 AM Changeset in webkit [295012] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WTF/wtf/CompactPtr.h

REGRESSION(251103@main): Broke GTK/WPE
https://bugs.webkit.org/show_bug.cgi?id=241076

Patch by Philippe Normand <philn@igalia.com> on 2022-05-29
Unreviewed. Fix GTK/WPE build.

  • Source/WTF/wtf/CompactPtr.h:

(WTF::CompactPtr::swap):

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

1:14 AM Changeset in webkit [295011] by ysuzuki@apple.com
  • 10 edits
    1 add in trunk

[JSC] Async / Await should not wrap awaited value with one tick
https://bugs.webkit.org/show_bug.cgi?id=241072

Reviewed by Saam Barati.

This patch integrates spec change[1], which removes one level tick count when resolving promise with await.
Previously, regardless of whether the value is promise or not, we are always using resolveWithoutPromise,
but it introduces one tick before the handlers are resolved. The spec change makes it that we can call
performPromiseThen directly if the input value is promise, so we can skip one tick which looks up "then"
and register handlers.

This is beneficial for await performance and it also fixes a bug tested via test262 and attached test due
to the spec change.

We observed performance improvement in async + native promise tests.

ToT
Time(doxbee-async-es2017-native): 35.6 ms.
Time(fibonacci-async-es2017-native): 292.3 ms.
Time(parallel-async-es2017-native): 117.3 ms.

Patched
Time(doxbee-async-es2017-native): 24.2 ms.
Time(fibonacci-async-es2017-native): 198.1 ms.
Time(parallel-async-es2017-native): 109.5 ms.

[1]: https://github.com/tc39/ecma262/pull/1250

  • JSTests/stress/async-await-basic.js:
  • JSTests/stress/async-await-tick-count.js: Added.

(shouldBe):
(async returnDirectPrimitive):
(async returnAwaitPrimitive):
(async returnDirectPromisePrimitive):
(async returnAwaitPromisePrimitive):
(async test):
(async tests):
(globalThis.setUnhandledRejectionCallback.setUnhandledRejectionCallback):

  • JSTests/test262/expectations.yaml:
  • LayoutTests/inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt:
  • LayoutTests/inspector/canvas/recording-bitmaprenderer-full-expected.txt:
  • LayoutTests/inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt:
  • LayoutTests/inspector/console/message-stack-trace-expected.txt:
  • Source/JavaScriptCore/builtins/AsyncFromSyncIteratorPrototype.js:
  • Source/JavaScriptCore/builtins/AsyncFunctionPrototype.js:

(globalPrivate.asyncFunctionResume):

  • Source/JavaScriptCore/builtins/AsyncGeneratorPrototype.js:

(globalPrivate.awaitValue):
(globalPrivate.asyncGeneratorResumeNext):

  • Source/JavaScriptCore/builtins/PromiseOperations.js:

(globalPrivate.newPromiseCapabilitySlow):
(globalPrivate.promiseResolve):
(globalPrivate.promiseResolveSlow):
(globalPrivate.promiseRejectSlow):
(globalPrivate.resolvePromiseWithFirstResolvingFunctionCallCheck):
(globalPrivate.fulfillPromiseWithFirstResolvingFunctionCallCheck):
(globalPrivate.rejectPromiseWithFirstResolvingFunctionCallCheck):
(globalPrivate.resolveWithoutPromiseForAsyncAwait):

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

12:57 AM Changeset in webkit [295010] by commit-queue@webkit.org
  • 35 edits in trunk

Replace CSS3_TEXT build flag with Experimental feature settings
https://bugs.webkit.org/show_bug.cgi?id=121875

Patch by Kiet Ho <Kiet Ho> on 2022-05-29
Reviewed by Tim Nguyen and Myles C. Maxfield.

Currently, -webkit-text-align-last and -webkit-text-justify are gated behind
the ENABLE(CSS3_TEXT) build flag. EWS bots doesn't enable it, hence the properties
aren't tested even though tests are available for them. This patch replaces the build
flag with two experimental settings, which is on during layout tests, allowing the
properties to be tested.

  • LayoutTests/TestExpectations:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • LayoutTests/platform/win/TestExpectations:
  • LayoutTests/platform/wincairo/TestExpectations:
  • LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
  • Source/WTF/wtf/PlatformEnable.h:
  • Source/WebCore/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
Temporarily mark -webkit-text-align-last and -webkit-text-justify as not animatable
to avoid the assert. CSS animations for those properties will be implemented in
webkit.org/b/240591.

  • Source/WebCore/css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • Source/WebCore/css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator TextJustify const):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/StyleProperties.cpp:
  • Source/WebCore/css/parser/CSSParserContext.cpp:

(WebCore::operator==):
(WebCore::add):
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):

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

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):

  • Source/WebCore/rendering/LegacyLineLayout.cpp:

(WebCore::LegacyLineLayout::textAlignmentForLine const):

  • Source/WebCore/rendering/style/RenderStyle.cpp:

(WebCore::rareInheritedDataChangeRequiresLayout):

  • Source/WebCore/rendering/style/RenderStyle.h:

(WebCore::RenderStyle::textIndentType const):
(WebCore::RenderStyle::textJustify const):
(WebCore::RenderStyle::setTextIndentType):
(WebCore::RenderStyle::setTextJustify):
(WebCore::RenderStyle::initialTextIndentType):
(WebCore::RenderStyle::initialTextJustify):

  • Source/WebCore/rendering/style/RenderStyleConstants.h:
  • Source/WebCore/rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):

  • Source/WebCore/rendering/style/StyleRareInheritedData.h:
  • Source/WebKitLegacy/win/WebPreferences.cpp:

(WebPreferences::cssTextAlignLastEnabled):
(WebPreferences::cssTextJustifyEnabled):

  • Source/WebKitLegacy/win/WebPreferences.h:
  • Source/WebKitLegacy/win/WebView.cpp:

(WebView::notifyPreferencesChanged):

  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmake/tools/vsprops/FeatureDefines.props:
  • Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
  • Tools/DumpRenderTree/TestOptions.cpp:

(WTR::TestOptions::defaults):

  • Tools/Scripts/webkitperl/FeatureList.pm:

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

May 28, 2022:

10:09 PM Changeset in webkit [295009] by Chris Dumez
  • 2 edits in trunk/Source/WebCore/html/parser

Optimize href attribute lookup in TokenPreloadScanner::updatePredictedBaseURL()
https://bugs.webkit.org/show_bug.cgi?id=241051

Reviewed by Darin Adler.

Optimize href attribute lookup in TokenPreloadScanner::updatePredictedBaseURL() by avoiding
is8Bit() checks for every character of the parameter. Instead, make sure both the parameter
is a const UChar* for fast comparison with attributes, which are stored as Vector<UChar>.

  • Source/WebCore/html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::updatePredictedBaseURL):

  • Source/WebCore/html/parser/HTMLToken.h:

(WebCore::findAttribute):
(WebCore::nameMatches): Deleted.

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

8:23 PM Changeset in webkit [295008] by Yijia Huang
  • 29 edits
    2 copies
    1 move
    3 adds in trunk

Shrink Structure to 96 Bytes when addresses can be encoded in 36-bits
https://bugs.webkit.org/show_bug.cgi?id=240407

Reviewed by Yusuke Suzuki.

We have 2% RAMification regression on iOS, which needs a memory performance
improvement. To work towards resolving this regression, this patch is to
reduce JS object's structure size from 112 bytes to 96 bytes for iOS systems.

  1. We can reduce 36-bit addresses into 4 bytes when dealing with pointers that

have 16-byte alignment.

  1. StructureID can be removed from StructureIDBlob since we can directly compute

the id by encoding the Structure pointer.

CompactPtr and CompactRefPtr classes are introduced for pointers, which can
achieve 8 bytes in MacOS and 4 bytes in iOS.

  • PerformanceTests/JetStream2/RexBench/OfflineAssembler/LowLevelInterpreter64.asm:
  • PerformanceTests/JetStream2/RexBench/OfflineAssembler/LowLevelInterpreter64.js:
  • PerformanceTests/JetStream2/RexBench/OfflineAssembler/expected.js:
  • PerformanceTests/RexBench/OfflineAssembler/LowLevelInterpreter64.asm:
  • PerformanceTests/RexBench/OfflineAssembler/LowLevelInterpreter64.js:
  • PerformanceTests/RexBench/OfflineAssembler/expected.js:
  • Source/JavaScriptCore/CMakeLists.txt:
  • Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
  • Source/JavaScriptCore/bytecode/GetByValHistory.h:

(JSC::GetByValHistory::observe):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
  • Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp:

(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):

  • Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h:
  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • Source/JavaScriptCore/heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::genericAddSpan):

  • Source/JavaScriptCore/heap/ConservativeRoots.h:
  • Source/JavaScriptCore/heap/HeapSnapshot.h:
  • Source/JavaScriptCore/heap/HeapUtil.h:

(JSC::HeapUtil::findGCObjectPointersForMarking):
(JSC::HeapUtil::isPointerGCObjectJSCell):
(JSC::HeapUtil::isValueGCObject):

  • Source/JavaScriptCore/heap/MarkedBlockSet.h:

(JSC::MarkedBlockSet::add):
(JSC::MarkedBlockSet::recomputeFilter):
(JSC::MarkedBlockSet::filter const):

  • Source/JavaScriptCore/heap/TinyBloomFilter.h:

(JSC::TinyBloomFilter<Bits>::TinyBloomFilter):
(JSC::TinyBloomFilter<Bits>::add):
(JSC::TinyBloomFilter<Bits>::ruleOut const):
(JSC::TinyBloomFilter<Bits>::reset):
(JSC::TinyBloomFilter::TinyBloomFilter): Deleted.
(JSC::TinyBloomFilter::add): Deleted.
(JSC::TinyBloomFilter::ruleOut const): Deleted.
(JSC::TinyBloomFilter::reset): Deleted.

  • Source/JavaScriptCore/jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):
(JSC::AssemblyHelpers::emitEncodeStructure):

  • Source/JavaScriptCore/jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):
(JSC::AssemblyHelpers::loadCompactPtr):
(JSC::AssemblyHelpers::branchCompactPtr):

  • Source/JavaScriptCore/jit/JITPropertyAccess.cpp:

(JSC::JIT::generateOpGetFromScopeThunk):
(JSC::JIT::emit_op_put_to_scope):

  • Source/JavaScriptCore/runtime/ClassInfo.h:

(JSC::ClassInfo::offsetOfParentClass): Deleted.
(JSC::ClassInfo::isSubClassOf const): Deleted.

  • Source/JavaScriptCore/runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::processUnverifiedStackTraces):

  • Source/JavaScriptCore/runtime/Structure.cpp:

(JSC::Structure::Structure):

  • Source/JavaScriptCore/runtime/Structure.h:

(JSC::Structure::id const):
(JSC::Structure::typeInfoBlob const):
(JSC::Structure::classInfoForCells const):
(JSC::Structure::indexingModeIncludingHistoryOffset):
(JSC::Structure::objectInitializationBlob const): Deleted.
(JSC::Structure::idBlob const): Deleted.
(JSC::Structure::structureIDOffset): Deleted.

  • Source/JavaScriptCore/runtime/StructureInlines.h:

(JSC::Structure::get):
(JSC::Structure::add):

  • Source/JavaScriptCore/runtime/TypeInfoBlob.h: Renamed from Source/JavaScriptCore/runtime/StructureIDBlob.h.

(JSC::TypeInfoBlob::TypeInfoBlob):
(JSC::TypeInfoBlob::operator=):
(JSC::TypeInfoBlob::indexingModeIncludingHistory const):
(JSC::TypeInfoBlob::fencedIndexingModeIncludingHistory):
(JSC::TypeInfoBlob::setIndexingModeIncludingHistory):
(JSC::TypeInfoBlob::type const):
(JSC::TypeInfoBlob::inlineTypeFlags const):
(JSC::TypeInfoBlob::typeInfo const):
(JSC::TypeInfoBlob::blob const):
(JSC::TypeInfoBlob::indexingModeIncludingHistoryOffset):

  • Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::jsCallEntrypointSlow):

  • Source/WTF/WTF.xcodeproj/project.pbxproj:
  • Source/WTF/wtf/CMakeLists.txt:
  • Source/WTF/wtf/CompactPtr.h: Added.

(WTF::CompactPtr::CompactPtr):
(WTF::CompactPtr::operator* const):
(WTF::CompactPtr::operator-> const):
(WTF::CompactPtr::operator! const):
(WTF::CompactPtr::operator bool const):
(WTF::CompactPtr::operator=):
(WTF::CompactPtr::get const):
(WTF::CompactPtr::set):
(WTF::CompactPtr::exchange):
(WTF::CompactPtr::swap):
(WTF::CompactPtr::encode):
(WTF::CompactPtr::encode const):
(WTF::CompactPtr::decode const):
(WTF::GetPtrHelper<CompactPtr<T>>::getPtr):
(WTF::CompactPtrTraits::exchange):
(WTF::CompactPtrTraits::swap):
(WTF::CompactPtrTraits::unwrap):
(WTF::CompactPtrTraits::hashTableDeletedValue):
(WTF::CompactPtrTraits::isHashTableDeletedValue):

  • Source/WTF/wtf/CompactRefPtr.h: Copied from Source/JavaScriptCore/heap/HeapSnapshot.h.
  • Source/WTF/wtf/text/StringImpl.cpp:
  • Source/WTF/wtf/text/StringImpl.h:
  • Tools/TestWebKitAPI/CMakeLists.txt:
  • Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • Tools/TestWebKitAPI/Tests/WTF/AlignedRefLogger.h: Copied from Source/JavaScriptCore/heap/TinyBloomFilter.h.

(TestWebKitAPI::DerivedAlignedRefLogger::DerivedAlignedRefLogger):

  • Tools/TestWebKitAPI/Tests/WTF/CompactPtr.cpp: Added.

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WTF/CompactRefPtr.cpp: Added.

(TestWebKitAPI::TEST):
(TestWebKitAPI::f1):
(TestWebKitAPI::returnConstRefCountedRef):
(TestWebKitAPI::returnRefCountedRef):
(TestWebKitAPI::CompactRefPtrCheckingAlignedRefLogger::CompactRefPtrCheckingAlignedRefLogger):
(TestWebKitAPI::loggerName):
(TestWebKitAPI::CompactRefPtrCheckingAlignedRefLogger::ref):
(TestWebKitAPI::CompactRefPtrCheckingAlignedRefLogger::deref):

  • Tools/TestWebKitAPI/Tests/WTF/JSONValue.cpp:

(TestWebKitAPI::TEST):

  • Websites/browserbench.org/JetStream2.0/RexBench/OfflineAssembler/LowLevelInterpreter64.asm:
  • Websites/browserbench.org/JetStream2.0/RexBench/OfflineAssembler/LowLevelInterpreter64.js:
  • Websites/browserbench.org/JetStream2.0/RexBench/OfflineAssembler/expected.js:

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

7:03 PM Changeset in webkit [295007] by Chris Dumez
  • 1 edit in trunk/Source/WTF/wtf/text/StringBuilderJSON.cpp

Simplify / Optimize StringBuilder::appendQuotedJSONString()
https://bugs.webkit.org/show_bug.cgi?id=240955

Reviewed by Darin Adler.

This simplifies the code, makes it more consistent with the test of StringBuilder,
and appears to be a ~0.3% progression on Speedometer on Apple Silicon.

  • Source/WTF/wtf/text/StringBuilderJSON.cpp:

(WTF::StringBuilder::appendQuotedJSONString):

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

5:11 PM Changeset in webkit [295006] by commit-queue@webkit.org
  • 1 edit in trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash.html

Null check split node parent in outdentParagraph
https://bugs.webkit.org/show_bug.cgi?id=235914

Patch by Rob Buis <rbuis@igalia.com> on 2022-05-28
Reviewed by Ryosuke Niwa.

Changed test to use setTimeout as it more reliably causes the original crash.

  • LayoutTests/editing/execCommand/outdent-paragraph-crash.html:

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

4:33 PM Changeset in webkit [295005] by bshafiei@apple.com
  • 1 copy in tags/WebKit-7614.1.14.1.15

Tag WebKit-7614.1.14.1.15.

3:58 PM Changeset in webkit [295004] by bshafiei@apple.com
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.15

11:00 AM Changeset in webkit [295003] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebCore/rendering/RenderElement.h

Unreviewed build fix. rdar://problem/91519558

./rendering/RenderElement.cpp:723:21:|error: out-of-line definition of 'moveLayers' does not match any declaration in 'WebCore::RenderElement'

10:44 AM Changeset in webkit [295002] by ysuzuki@apple.com
  • 6 edits
    1 delete in trunk/Source

Unreviewed, revert "[Xcode] Compute PGO profdata paths instead of searching for them at build time"

This reverts commit 6dfb5dc2b3bcd083231cee3cacc599ca7f76998b because of Speedometer2 3% regression.
Probably breaking PGO build.

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

9:31 AM Changeset in webkit [295001] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex

Introduce FlexFormattingContext::computeLogicalHeightForFlexItems
https://bugs.webkit.org/show_bug.cgi?id=241056

Reviewed by Antti Koivisto.

This is just a very basic "let's stretch the flex items in the cross axis direction" change.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::availableLogicalVerticalSpace):
(WebCore::Layout::availableLogicalHorizontalSpace):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:

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

9:18 AM Changeset in webkit [295000] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp

Transition flex-grow computation to flex-basis based
https://bugs.webkit.org/show_bug.cgi?id=241057

Reviewed by Antti Koivisto.

  1. Introduce StrechingFlexItem to cache growth related values
  2. Use flex-basis as the base for the flex grow computation
  3. Compute the final logical width values

(This is very similar to how we compute "shrink values".)

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForStretchingFlexItems):

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

6:26 AM Changeset in webkit [294999] by Jean-Yves Avenard
  • 40 edits in trunk/Source

Perform media networking operations off the main thread
https://bugs.webkit.org/show_bug.cgi?id=235353
rdar://84517825

Reviewed by Eric Carlson.

We run the media's networking operation and IPC service into a new dedicated WorkQueue.
Not all operation on a MediaResource can be made thread-agnostic, and the creation and shutdown of the MediaResource must still occur on the main thread due to the current architecture which forces more task dispatches than ideal.

However, all other operations will now run on a WorkQueue when the GPU Process is enabled. For WK1 we continue to use the main thread.
We use the IPC::Connection::WorkQueueMessageReceiver characteristics to proxy the network operations from the content process main thread to the GPU Process MediaResourceLoader's WorkQueue.

Some changes were required in data structures such as ResourceResponseBase, where we must use Strings over AtomStrings. A WorkQueue while guaranteeing that all tasks runs sequentially, will use different threads making the use of AtomStrings impossible.

RemoteMediaResourceManager now holds a strong reference to the RemoteMediaResource, to clear that reference and to make the call more explicit we rename PlatformMediaResource::stop into PlatformMediaResource::shutdown()
A call to shutdown() is equivalent to the previous call to stop() followed by setClient(nullptr).

Side-by fixes: various thread-safety fixes in WebCoreNSURLSession, access to some members weren't thread-safe.

To make the code flow easier to follow, we use the new assertIsCurrent(WorkQueue&) extensively. Most methods will now assert that it runs on the thread it's supposed to.

  • Source/WebCore/Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::create):

  • Source/WebCore/Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::readStatusLine):

  • Source/WebCore/Modules/websockets/WebSocketHandshake.h:
  • Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::interceptWithResponse):
(WebCore::InspectorNetworkAgent::interceptRequestWithResponse):

  • Source/WebCore/loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::setResponseMIMEType):

  • Source/WebCore/loader/DocumentLoader.h:
  • Source/WebCore/loader/MediaResourceLoader.cpp:

(WebCore::MediaResource::MediaResource):
(WebCore::MediaResource::~MediaResource):
(WebCore::MediaResource::shutdown):
(WebCore::MediaResource::responseReceived):
(WebCore::MediaResource::shouldCacheResponse):
(WebCore::MediaResource::redirectReceived):
(WebCore::MediaResource::dataSent):
(WebCore::MediaResource::dataReceived):
(WebCore::MediaResource::notifyFinished):
(WebCore::MediaResource::ensureShutdown):
(WebCore::MediaResource::stop): Deleted.

  • Source/WebCore/loader/MediaResourceLoader.h:
  • Source/WebCore/loader/cache/CachedRawResourceClient.h:
  • Source/WebCore/platform/graphics/PlatformMediaResourceLoader.h:

(WebCore::PlatformMediaResourceLoader::targetQueue):
(WebCore::PlatformMediaResource::shutdown):
(WebCore::PlatformMediaResource::didPassAccessControlCheck const):
(WebCore::PlatformMediaResource::setClient):
(WebCore::PlatformMediaResource::client const):
(WebCore::PlatformMediaResource::stop): Deleted.
(WebCore::PlatformMediaResource::client): Deleted.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCache):
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didStopLoadingRequest):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didPassCORSAccessCheck const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wouldTaintOrigin const):

  • Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
  • Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::CachedResourceMediaLoader::responseReceived):
(WebCore::PlatformResourceMediaLoader::create):
(WebCore::PlatformResourceMediaLoader::PlatformResourceMediaLoader):
(WebCore::PlatformResourceMediaLoader::stop):
(WebCore::PlatformResourceMediaLoader::responseReceived):
(WebCore::PlatformResourceMediaLoader::loadFailed):
(WebCore::PlatformResourceMediaLoader::loadFinished):
(WebCore::PlatformResourceMediaLoader::dataReceived):
(WebCore::DataURLResourceMediaLoader::DataURLResourceMediaLoader):
(WebCore::WebCoreAVFResourceLoader::create):
(WebCore::WebCoreAVFResourceLoader::WebCoreAVFResourceLoader):
(WebCore::WebCoreAVFResourceLoader::~WebCoreAVFResourceLoader):
(WebCore::WebCoreAVFResourceLoader::startLoading):
(WebCore::WebCoreAVFResourceLoader::stopLoading):
(WebCore::WebCoreAVFResourceLoader::responseReceived):
(WebCore::WebCoreAVFResourceLoader::loadFailed):
(WebCore::WebCoreAVFResourceLoader::loadFinished):
(WebCore::WebCoreAVFResourceLoader::newDataStoredInSharedBuffer):
(WebCore::WebCoreAVFResourceLoader::invalidate): Deleted.

  • Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(stopLoaderIfNeeded):
(webKitWebSrcUnLock):
(webKitSrcWouldTaintOrigin):

  • Source/WebCore/platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::crossThreadData const):
(WebCore::ResourceResponseBase::fromCrossThreadData):
(WebCore::ResourceResponseBase::mimeType const):
(WebCore::ResourceResponseBase::setMimeType):
(WebCore::ResourceResponseBase::textEncodingName const):
(WebCore::ResourceResponseBase::setTextEncodingName):
(WebCore::ResourceResponseBase::httpStatusText const):
(WebCore::ResourceResponseBase::setHTTPStatusText):
(WebCore::ResourceResponseBase::httpVersion const):
(WebCore::ResourceResponseBase::setHTTPVersion):

  • Source/WebCore/platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::decode):

  • Source/WebCore/platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::cfURLResponse const):
(WebCore::ResourceResponse::platformLazyInit):

  • Source/WebCore/platform/network/cocoa/RangeResponseGenerator.h:

(WebCore::RangeResponseGenerator::create):

  • Source/WebCore/platform/network/cocoa/RangeResponseGenerator.mm:

(WebCore::RangeResponseGenerator::Data::Data):
(WebCore::RangeResponseGenerator::Data::~Data):
(WebCore::RangeResponseGenerator::Data::shutdownResource):
(WebCore::RangeResponseGenerator::RangeResponseGenerator):
(WebCore::synthesizedResponseForRange):
(WebCore::RangeResponseGenerator::removeTask):
(WebCore::RangeResponseGenerator::giveResponseToTaskIfBytesInRangeReceived):
(WebCore::RangeResponseGenerator::expectedContentLengthFromData):
(WebCore::RangeResponseGenerator::giveResponseToTasksWithFinishedRanges):
(WebCore::RangeResponseGenerator::willHandleRequest):
(WebCore::RangeResponseGenerator::willSynthesizeRangeResponses):
(WebCore::RangeResponseGenerator::~RangeResponseGenerator): Deleted.

  • Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.h:
  • Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm:

(-[WebCoreNSURLSessionTaskTransactionMetrics _initWithMetrics:onTarget:]):
(-[WebCoreNSURLSessionTaskTransactionMetrics dealloc]):
(-[WebCoreNSURLSessionTaskMetrics _initWithMetrics:onTarget:]):
(-[WebCoreNSURLSessionTaskMetrics dealloc]):
(-[WebCoreNSURLSessionTaskMetrics transactionMetrics]):
(-[WebCoreNSURLSession initWithResourceLoader:delegate:delegateQueue:]):
(-[WebCoreNSURLSession dealloc]):
(-[WebCoreNSURLSession taskCompleted:]):
(-[WebCoreNSURLSession addDelegateOperation:]):
(-[WebCoreNSURLSession task:didReceiveCORSAccessCheckResult:]):
(-[WebCoreNSURLSession task:didReceiveResponseFromOrigin:]):
(-[WebCoreNSURLSession rangeResponseGenerator]):
(-[WebCoreNSURLSession didPassCORSAccessChecks]):
(-[WebCoreNSURLSession finishTasksAndInvalidate]):
(-[WebCoreNSURLSession dataTaskWithRequest:]):
(-[WebCoreNSURLSession sendH2Ping:pongHandler:]):
(WebCore::WebCoreNSURLSessionDataTaskClient::WebCoreNSURLSessionDataTaskClient):
(WebCore::WebCoreNSURLSessionDataTaskClient::clearTask):
(WebCore::WebCoreNSURLSessionDataTaskClient::dataSent):
(WebCore::WebCoreNSURLSessionDataTaskClient::responseReceived):
(WebCore::WebCoreNSURLSessionDataTaskClient::shouldCacheResponse):
(WebCore::WebCoreNSURLSessionDataTaskClient::dataReceived):
(WebCore::WebCoreNSURLSessionDataTaskClient::redirectReceived):
(WebCore::WebCoreNSURLSessionDataTaskClient::accessControlCheckFailed):
(WebCore::WebCoreNSURLSessionDataTaskClient::loadFailed):
(WebCore::WebCoreNSURLSessionDataTaskClient::loadFinished):
(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:targetQueue:]):
(-[WebCoreNSURLSessionDataTask _cancel:]):
(-[WebCoreNSURLSessionDataTask error]):
(-[WebCoreNSURLSessionDataTask session]):
(-[WebCoreNSURLSessionDataTask setSession:]):
(-[WebCoreNSURLSessionDataTask resource]):
(-[WebCoreNSURLSessionDataTask setResource:]):
(-[WebCoreNSURLSessionDataTask cancel]):
(-[WebCoreNSURLSessionDataTask suspend]):
(-[WebCoreNSURLSessionDataTask resume]):
(-[WebCoreNSURLSessionDataTask dealloc]):
(-[WebCoreNSURLSessionDataTask resource:sentBytes:totalBytesToBeSent:]):
(-[WebCoreNSURLSessionDataTask resource:receivedResponse:completionHandler:]):
(-[WebCoreNSURLSessionDataTask resource:shouldCacheResponse:]):
(-[WebCoreNSURLSessionDataTask resource:receivedData:]):
(-[WebCoreNSURLSessionDataTask resource:receivedRedirect:request:completionHandler:]):
(-[WebCoreNSURLSessionDataTask _resource:loadFinishedWithError:metrics:]):
(-[WebCoreNSURLSessionDataTask resource:accessControlCheckFailedWithError:]):
(-[WebCoreNSURLSessionDataTask resource:loadFailedWithError:]):
(-[WebCoreNSURLSessionDataTask resourceFinished:metrics:]):
(-[WebCoreNSURLSessionTaskTransactionMetrics _initWithMetrics:]): Deleted.
(-[WebCoreNSURLSessionTaskMetrics _initWithMetrics:]): Deleted.
(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:]): Deleted.
(-[WebCoreNSURLSessionDataTask _restart]): Deleted.
(-[WebCoreNSURLSessionDataTask _cancel]): Deleted.

  • Source/WebCore/platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):

  • Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::handleDataURL):

  • Source/WebCore/platform/network/curl/ResourceResponseCurl.cpp:

(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::setStatusLine):

  • Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::ResourceResponse):

  • Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::didClose):
(WebKit::GPUConnectionToWebProcess::remoteMediaResourceManager):

  • Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::requestResource):

  • Source/WebKit/GPUProcess/media/RemoteMediaResource.cpp:

(WebKit::RemoteMediaResource::RemoteMediaResource):
(WebKit::RemoteMediaResource::~RemoteMediaResource):
(WebKit::RemoteMediaResource::shutdown):
(WebKit::RemoteMediaResource::didPassAccessControlCheck const):
(WebKit::RemoteMediaResource::responseReceived):
(WebKit::RemoteMediaResource::redirectReceived):
(WebKit::RemoteMediaResource::dataSent):
(WebKit::RemoteMediaResource::dataReceived):
(WebKit::RemoteMediaResource::accessControlCheckFailed):
(WebKit::RemoteMediaResource::loadFailed):
(WebKit::RemoteMediaResource::loadFinished):
(WebKit::RemoteMediaResource::stop): Deleted.

  • Source/WebKit/GPUProcess/media/RemoteMediaResource.h:
  • Source/WebKit/GPUProcess/media/RemoteMediaResourceLoader.cpp:

(WebKit::RemoteMediaResourceLoader::RemoteMediaResourceLoader):
(WebKit::RemoteMediaResourceLoader::requestResource):
(WebKit::RemoteMediaResourceLoader::sendH2Ping):

  • Source/WebKit/GPUProcess/media/RemoteMediaResourceLoader.h:
  • Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:

(WebKit::RemoteMediaResourceManager::~RemoteMediaResourceManager):
(WebKit::RemoteMediaResourceManager::stopListeningForIPC):
(WebKit::RemoteMediaResourceManager::initializeConnection):
(WebKit::RemoteMediaResourceManager::addMediaResource):
(WebKit::RemoteMediaResourceManager::removeMediaResource):
(WebKit::RemoteMediaResourceManager::resourceForIdAndReady):
(WebKit::RemoteMediaResourceManager::responseReceived):
(WebKit::RemoteMediaResourceManager::redirectReceived):
(WebKit::RemoteMediaResourceManager::dataSent):
(WebKit::RemoteMediaResourceManager::dataReceived):
(WebKit::RemoteMediaResourceManager::accessControlCheckFailed):
(WebKit::RemoteMediaResourceManager::loadFailed):
(WebKit::RemoteMediaResourceManager::loadFinished):

  • Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h:
  • Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):

  • Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::processResponse):

  • Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::didGetFileInfo):

  • Source/WebKit/Shared/API/glib/WebKitURIResponse.cpp:

(webkit_uri_response_get_mime_type):

  • Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback):

  • Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::~MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::removeResource):

  • Source/WebKit/WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveData):

  • Source/WebKit/WebProcess/Network/WebResourceLoader.h:

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

6:22 AM Changeset in webkit [294998] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.36.3

WPE WebKit 2.36.3

6:21 AM Changeset in webkit [294997] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.36.3 release

.:

  • Source/cmake/OptionsWPE.cmake: Bump version numbers.

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.36.3.
6:21 AM Changeset in webkit [294996] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp

Use flex-basis when shrinking flex items
https://bugs.webkit.org/show_bug.cgi?id=241046

Reviewed by Antti Koivisto.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):

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

6:06 AM Changeset in webkit [294995] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp

Introduce the concept of frozen flex items
https://bugs.webkit.org/show_bug.cgi?id=241034

Reviewed by Antti Koivisto.

When a shrinking flex item gets too small, we exclude it from the shrinking algorithm and recompute the shrink factor. However the new shrink factor could make additional flex items too small.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):

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

5:43 AM Changeset in webkit [294994] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp

Introduce ShrinkingFlexItem structure
https://bugs.webkit.org/show_bug.cgi?id=241033

Reviewed by Antti Koivisto.

This local structure caches some of the shrinking related values.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):

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

3:43 AM Changeset in webkit [294993] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore/bindings/js

REGRESSION(251082@main): Broke WPE/GTK builds
https://bugs.webkit.org/show_bug.cgi?id=241060

Patch by Philippe Normand <philn@igalia.com> on 2022-05-28
Unreviewed, fix WPE/GTK builds by including new WebCoreOpaqueRoot header in custom JS bindings.

  • Source/WebCore/bindings/js/JSDOMQuadCustom.cpp:
  • Source/WebCore/bindings/js/JSNavigatorCustom.cpp:
  • Source/WebCore/bindings/js/JSServiceWorkerGlobalScopeCustom.cpp:
  • Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp:
  • Source/WebCore/bindings/js/JSWorkerNavigatorCustom.cpp:

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

2:11 AM Changeset in webkit [294992] by Adrian Perez de Castro
  • 1 copy in releases/WebKitGTK/webkit-2.36.3

WebKitGTK 2.36.3

2:10 AM Changeset in webkit [294991] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.36.3 release

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.36.3.
2:10 AM Changeset in webkit [294990] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source

Merge r294939 - Non unified build fixes, lateish May 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=241019

Unreviewed build fixes.

  • Source/JavaScriptCore/wasm/js/WasmToJS.cpp: Add missing JSCJSValueInlines.h header inclusion.
  • Source/WebCore/platform/audio/MultiChannelResampler.cpp: Add missing <functional> header inclusion, needed for std::bind().

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

2:10 AM Changeset in webkit [294989] by Adrian Perez de Castro
  • 3 edits in releases/WebKitGTK/webkit-2.36/Source

Merge r294881 - Cannot link WebKitTestRunner in non-unified builds
https://bugs.webkit.org/show_bug.cgi?id=240755

Reviewed by Adrian Perez de Castro.

In GTK non-unified build, WebKit shared library didn't export all
WEBCORE_EXPORT marked WebCore symbols because WebCore was a static
library.

WebCore should be an SHARED or OBJECT library to work WEBCORE_EXPORT
macro as expected.

  • Source/WebCore/PlatformGTK.cmake:
  • Source/WebCore/page/gtk/DragControllerGtk.cpp:
  • Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

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

1:07 AM Changeset in webkit [294988] by jer.noble@apple.com
  • 1 edit in trunk/Source/WebCore/platform/graphics/avfoundation/objc/QueuedVideoOutput.mm

CRASH: Exception thrown from QueuedVideoOutput::invalidate
https://bugs.webkit.org/show_bug.cgi?id=241052
<rdar://93953827>

Reviewed by Eric Carlson.

  • Source/WebCore/platform/graphics/avfoundation/objc/QueuedVideoOutput.mm:

(WebCore::QueuedVideoOutput::QueuedVideoOutput):

An Objective-C exception is thrown from -removeObserver: stating the observer
was never added in the first place. Clear out ivars in the early return to avoid
doing work in invalidate() which (in addition to being unnecessary) will trigger
the exception.

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

May 27, 2022:

10:25 PM Changeset in webkit [294987] by Matt Woodrow
  • 4 edits in trunk/Source/WebKit/UIProcess

Use desktop User Agent when preconnecting for loads that are predicted to use desktop content mode
https://bugs.webkit.org/show_bug.cgi?id=240938

Reviewed by Geoffrey Garen.

  • Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _preconnectToServer:]):

  • Source/WebKit/UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::preconnectTo):

  • Source/WebKit/UIProcess/WebPageProxy.h:
  • Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::useDesktopClassBrowsing const):
(WebKit::WebPageProxy::predictedUserAgentForRequest const):
(WebKit::WebPageProxy::effectiveContentModeAfterAdjustingPolicies):

  • Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::predictedUserAgentForRequest const):

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

10:24 PM Changeset in webkit [294986] by Wenson Hsieh
  • 1 edit in trunk/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp

Trigger element fullscreen video extraction after the seeked event
https://bugs.webkit.org/show_bug.cgi?id=241053

Reviewed by Devin Rousso.

  • Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::handleEvent):
(WebKit::WebFullScreenManager::setMainVideoElement):

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

9:30 PM Changeset in webkit [294985] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Models/CSSProperty.js

Web Inspector: CSS property name counts should be updated atomically
https://bugs.webkit.org/show_bug.cgi?id=240994

Reviewed by Patrick Angle.

Consider the following example:
`
display: foo;
display: bar;
`

Before this change, the following would happen:

  1. get the cached count of display: foo
  2. increment the cached count of display: foo by 1
  3. get the stored count of display: foo
  4. get the cached count of display: bar
  5. increment the cached count of display: bar by 1
  6. get the stored count of display: bar

(async)

  1. increment the stored count of display: foo (from c) by 1

(async)

  1. increment the stored count of display: bar (from f) by 1

The problem is that g/h get the same stored count because c/f happened before any updates occurred.

After this change, the following would happen:

  1. get the cached count of display: foo
  2. increment the cached count of display: foo by 1
  3. get the cached count of display: bar
  4. increment the cached count of display: bar by 1

(async)

  1. get the stored count of display: foo

(async)

  1. increment the stored count of display: foo (from e) by 1

(async)

  1. get the stored count of display: bar

(async)

  1. increment the stored count of display: bar (from g) by 1

By ensuring there is never more than one active operation on WI.objectStores.cssPropertyNameCounts
at a time, it is guaranteed that values will never be trampled over (though it takes a bit longer).

  • Source/WebInspectorUI/UserInterface/Models/CSSProperty.js:

(WI.CSSProperty._initializePropertyNameCounts):
(WI.CSSProperty.prototype._updateName.changeCount):

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

9:22 PM Changeset in webkit [294984] by Chris Dumez
  • 1 edit in trunk/Source/WebCore/html/InputType.cpp

Optimize InputType::create() by reducing calls to AtomString::convertToASCIILowercase()
https://bugs.webkit.org/show_bug.cgi?id=241043

Reviewed by Cameron McCormack.

In the common case, InputType::create() gets called with a type string that
is already lowercase. As a result, we would iterate over the whole string
unnecessarily under convertToASCIILowercase() to verify that it is already
lowercase, just to look up the type in a HashMap.

To avoid this, we now trying to look up the type in the HashMap directly, and
only fallback to calling convertToASCIILowercase() in the rare case where the
look up failed.

On my Apple Silicon MacBook Pro, this reduces the number of samples under
convertToASCIILowercase() from 17 to 4. Also reduces the number of samples
under InputType::create() from 21 to 12.

  • Source/WebCore/html/InputType.cpp:

(WebCore::createInputTypeFactoryMap):
(WebCore::findFactory):
(WebCore::InputType::create):

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

9:10 PM Changeset in webkit [294983] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp

Introduce base-size to the flex algorithm
https://bugs.webkit.org/show_bug.cgi?id=241001

Reviewed by Antti Koivisto.

This is in preparation for supporting flex-basis, where the flex-basis value is used as the base for flexing.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems):

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

9:05 PM Changeset in webkit [294982] by Wenson Hsieh
  • 3 edits in trunk/Source/WebKit

Rename the WebKit2 Image logging category to ImageAnalysis
https://bugs.webkit.org/show_bug.cgi?id=241032

Reviewed by Devin Rousso.

This existing logging category is only used for image analysis -- as such, the logging category
should be renamed to reflect that. This also avoids confusing these logs with the Images logging
category in WebCore, which is really about image decoding, rendering and painting.

No change in behavior.

  • Source/WebKit/Platform/Logging.h:
  • Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::computeHasVisualSearchResults):
(WebKit::WebViewImpl::installImageAnalysisOverlayView): Deleted.
(WebKit::WebViewImpl::uninstallImageAnalysisOverlayView): Deleted.

  • Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _cancelImageAnalysis]):
(-[WKContentView validateImageAnalysisRequestIdentifier:]):
(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView _completeImageAnalysisRequestForContextMenu:requestIdentifier:hasTextResults:]):
(-[WKContentView imageAnalysisGestureDidTimeOut:]):
(-[WKContentView installImageAnalysisInteraction:]): Deleted.
(-[WKContentView uninstallImageAnalysisInteraction]): Deleted.

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

8:37 PM Changeset in webkit [294981] by Cameron McCormack
  • 7 edits in trunk/Source/WebCore

Fix sense of the display list AsTextFlags
https://bugs.webkit.org/show_bug.cgi?id=240939

Reviewed by Simon Fraser.

They do the opposite of what their names suggest.

  • Source/WebCore/platform/graphics/displaylists/DisplayList.cpp:

(WebCore::DisplayList::DisplayList::shouldDumpForFlags):
(WebCore::DisplayList::DisplayList::dump const):

  • Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h:
  • Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::dumpItem):

  • Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::operator<<):

  • Source/WebCore/testing/Internals.cpp:

(WebCore::Internals::displayListForElement):
(WebCore::Internals::replayDisplayListForElement):
(WebCore::Internals::cachedGlyphDisplayListsForTextNode):

  • Source/WebCore/testing/Internals.h:
  • Source/WebCore/testing/Internals.idl:

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

8:16 PM Changeset in webkit [294980] by Chris Dumez
  • 4 edits in trunk/Source/WebCore/dom

Remove some unnecessary work from the Node destructor
https://bugs.webkit.org/show_bug.cgi?id=241035

Reviewed by Geoffrey Garen.

Remove some unnecessary work from the Node destructor as it shows on
Speedometer profiles.

In particular, stop calling clearRareData() as this is just clearing a data
member. Also move work that only applies to non-ContainerNode to the Text
and CharacterData destructors since those are the only two non-ContainerNodes.

  • Source/WebCore/dom/Attr.cpp:

(WebCore::Attr::~Attr):

  • Source/WebCore/dom/CharacterData.cpp:

(WebCore::CharacterData::~CharacterData):

  • Source/WebCore/dom/CharacterData.h:
  • Source/WebCore/dom/Node.cpp:

(WebCore::Node::~Node):

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

8:13 PM Changeset in webkit [294979] by Cameron McCormack
  • 3 edits in trunk

Fix typo in ConcatenateCTM display list item serialization
https://bugs.webkit.org/show_bug.cgi?id=240935

Reviewed by Simon Fraser.

  • LayoutTests/displaylists/extent-includes-transforms-expected.txt:
  • LayoutTests/platform/mac-wk1/displaylists/extent-includes-transforms-expected.txt:
  • Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::operator<<):

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

7:40 PM Changeset in webkit [294978] by Chris Dumez
  • 131 edits
    1 add
    1 delete in trunk/Source/WebCore

Refactor opaque root logic in WebCore in preparation for Node GC optimizations
https://bugs.webkit.org/show_bug.cgi?id=240998

Reviewed by Geoffrey Garen.

Refactor opaque root logic in WebCore in preparation for Node GC optimizations.
Introduce addWebCoreOpaqueRoot() / containsWebCoreOpaqueRoot() functions for
WebCore to deal with opaque roots, instead of interacting with the SlotVisitor
directly. This introduce a nice central point in WebCore where we will be
able to set / check flags on Node to speed up GC.

Also introduce a WebCoreOpaqueRoot type to replace void* as type of opaque
roots in WebCore. This is useful because we will need to know whether an
opaque root in a Node or not in a future patch.

There is no expected behavior change from this patch, this is just pure
refactoring to make it a lot easier for us to optimize Node gargabe collection.

  • Source/WebCore/Modules/fetch/FetchRequest.cpp:

(WebCore::root):

  • Source/WebCore/Modules/fetch/FetchRequest.h:
  • Source/WebCore/Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::opaqueRoot):
(WebCore::root):

  • Source/WebCore/Modules/indexeddb/IDBIndex.h:
  • Source/WebCore/Modules/indexeddb/IDBIndex.idl:
  • Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::visitReferencedIndexes const):
(WebCore::root):

  • Source/WebCore/Modules/indexeddb/IDBObjectStore.h:
  • Source/WebCore/Modules/indexeddb/IDBRequest.cpp:

(WebCore::root):

  • Source/WebCore/Modules/indexeddb/IDBRequest.h:
  • Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::visitReferencedObjectStores const):

  • Source/WebCore/Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::opaqueRoot):

  • Source/WebCore/Modules/mediasource/SourceBuffer.h:
  • Source/WebCore/Modules/mediasource/SourceBufferList.cpp:

(WebCore::root):

  • Source/WebCore/Modules/mediasource/SourceBufferList.h:
  • Source/WebCore/Modules/remoteplayback/RemotePlayback.cpp:

(WebCore::RemotePlayback::opaqueRootConcurrently const):

  • Source/WebCore/Modules/remoteplayback/RemotePlayback.h:
  • Source/WebCore/Modules/webaudio/AudioBuffer.cpp:

(WebCore::root):

  • Source/WebCore/Modules/webaudio/AudioBuffer.h:
  • Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp:

(WebCore::AudioWorkletGlobalScope::visitProcessors):

  • Source/WebCore/Modules/webaudio/AudioWorkletProcessor.cpp:

(WebCore::root):

  • Source/WebCore/Modules/webaudio/AudioWorkletProcessor.h:
  • Source/WebCore/Modules/webxr/WebXRSession.cpp:

(WebCore::root):

  • Source/WebCore/Modules/webxr/WebXRSession.h:
  • Source/WebCore/Sources.txt:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/bindings/js/JSAbortSignalCustom.cpp:

(WebCore::JSAbortSignalOwner::isReachableFromOpaqueRoots):

  • Source/WebCore/bindings/js/JSAttrCustom.cpp:

(WebCore::JSAttr::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp:

(WebCore::JSAudioBufferSourceNode::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSCSSRuleCustom.cpp:

(WebCore::JSCSSRule::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSCSSRuleCustom.h:

(WebCore::root):

  • Source/WebCore/bindings/js/JSCSSRuleListCustom.cpp:

(WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):

  • Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::root):
(WebCore::JSCSSStyleDeclaration::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.h:
  • Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp:

(WebCore::JSCanvasRenderingContext2DOwner::isReachableFromOpaqueRoots):
(WebCore::JSCanvasRenderingContext2D::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSDOMQuadCustom.cpp:

(WebCore::JSDOMQuad::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSDeprecatedCSSOMValueCustom.cpp:

(WebCore::JSDeprecatedCSSOMValueOwner::isReachableFromOpaqueRoots):

  • Source/WebCore/bindings/js/JSDocumentCustom.cpp:

(WebCore::JSDocument::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSFetchEventCustom.cpp:

(WebCore::JSFetchEvent::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp:

(WebCore::JSHTMLTemplateElement::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSIDBCursorCustom.cpp:

(WebCore::JSIDBCursor::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSIDBIndexCustom.cpp: Removed.

(WebCore::JSIDBIndex::visitAdditionalChildren): Deleted.

  • Source/WebCore/bindings/js/JSIntersectionObserverCustom.cpp:

(WebCore::JSIntersectionObserver::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSIntersectionObserverEntryCustom.cpp:

(WebCore::JSIntersectionObserverEntry::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSMediaListCustom.h:

(WebCore::root):

  • Source/WebCore/bindings/js/JSMessageChannelCustom.cpp:

(WebCore::JSMessageChannel::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSMessagePortCustom.cpp:

(WebCore::JSMessagePort::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSNavigatorCustom.cpp:

(WebCore::JSNavigator::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSNodeCustom.cpp:

(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
(WebCore::JSNode::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSNodeCustom.h:

(WebCore::root):

  • Source/WebCore/bindings/js/JSNodeIteratorCustom.cpp:

(WebCore::JSNodeIterator::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSNodeListCustom.cpp:

(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):

  • Source/WebCore/bindings/js/JSOffscreenCanvasRenderingContext2DCustom.cpp:

(WebCore::root):
(WebCore::JSOffscreenCanvasRenderingContext2DOwner::isReachableFromOpaqueRoots):
(WebCore::JSOffscreenCanvasRenderingContext2D::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSPaintRenderingContext2DCustom.cpp:

(WebCore::root):
(WebCore::JSPaintRenderingContext2DOwner::isReachableFromOpaqueRoots):
(WebCore::JSPaintRenderingContext2D::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSResizeObserverEntryCustom.cpp:

(WebCore::JSResizeObserverEntry::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSSVGViewSpecCustom.cpp:

(WebCore::JSSVGViewSpec::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSServiceWorkerGlobalScopeCustom.cpp:

(WebCore::JSServiceWorkerGlobalScope::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSStyleSheetCustom.cpp:

(WebCore::JSStyleSheet::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSStyleSheetCustom.h:

(WebCore::root):

  • Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
(WebCore::JSTextTrackCue::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSTreeWalkerCustom.cpp:

(WebCore::JSTreeWalker::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSUndoItemCustom.cpp:

(WebCore::JSUndoItemOwner::isReachableFromOpaqueRoots):

  • Source/WebCore/bindings/js/JSWebGL2RenderingContextCustom.cpp:

(WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSWebXRSessionCustom.cpp:

(WebCore::JSWebXRSession::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSWorkerNavigatorCustom.cpp:

(WebCore::JSWorkerNavigator::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::visitAdditionalChildren):

  • Source/WebCore/bindings/js/JSXPathResultCustom.cpp:

(WebCore::JSXPathResult::visitAdditionalChildren):

  • Source/WebCore/bindings/js/WebCoreOpaqueRoot.h: Added.

(WebCore::WebCoreOpaqueRoot::WebCoreOpaqueRoot):
(WebCore::WebCoreOpaqueRoot::isNode const):
(WebCore::WebCoreOpaqueRoot::pointer const):
(WebCore::addWebCoreOpaqueRoot):
(WebCore::containsWebCoreOpaqueRoot):

  • Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • Source/WebCore/bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:

(WebCore::JSTestGenerateAddOpaqueRoot::visitChildrenImpl):

  • Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::JSTestGenerateIsReachableOwner::isReachableFromOpaqueRoots):

  • Source/WebCore/crypto/CryptoKey.cpp:

(WebCore::root):

  • Source/WebCore/crypto/CryptoKey.h:
  • Source/WebCore/dom/AbortController.cpp:

(WebCore::AbortController::opaqueRoot):

  • Source/WebCore/dom/AbortController.h:
  • Source/WebCore/dom/AbortController.idl:
  • Source/WebCore/dom/AbortSignal.cpp:

(WebCore::root):

  • Source/WebCore/dom/AbortSignal.h:
  • Source/WebCore/dom/DOMPointReadOnly.cpp:

(WebCore::root):

  • Source/WebCore/dom/DOMPointReadOnly.h:
  • Source/WebCore/dom/DOMRectReadOnly.cpp:

(WebCore::root):

  • Source/WebCore/dom/DOMRectReadOnly.h:
  • Source/WebCore/dom/DocumentInlines.h:

(WebCore::Node::opaqueRoot const):

  • Source/WebCore/dom/MessagePort.cpp:

(WebCore::root):

  • Source/WebCore/dom/MessagePort.h:
  • Source/WebCore/dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::isReachableFromOpaqueRoots const):

  • Source/WebCore/dom/MutationRecord.cpp:
  • Source/WebCore/dom/Node.cpp:

(WebCore::Node::traverseToOpaqueRoot const):

  • Source/WebCore/dom/Node.h:

(WebCore::Node::opaqueRoot const): Deleted.

  • Source/WebCore/dom/NodeFilter.h:

(WebCore::root):

  • Source/WebCore/dom/Range.cpp:

(WebCore::Range::visitNodesConcurrently const):

  • Source/WebCore/dom/ScriptExecutionContext.cpp:

(WebCore::root):

  • Source/WebCore/dom/ScriptExecutionContext.h:
  • Source/WebCore/dom/StaticRange.cpp:

(WebCore::StaticRange::visitNodesConcurrently const):

  • Source/WebCore/fileapi/Blob.cpp:

(WebCore::root):

  • Source/WebCore/fileapi/Blob.h:
  • Source/WebCore/html/CanvasBase.cpp:

(WebCore::root):

  • Source/WebCore/html/CanvasBase.h:
  • Source/WebCore/html/HTMLCanvasElement.cpp:

(WebCore::root):

  • Source/WebCore/html/HTMLCanvasElement.h:
  • Source/WebCore/html/HTMLMediaElement.h:
  • Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::addMembersToOpaqueRoots):

  • Source/WebCore/html/canvas/WebGLFramebuffer.cpp:
  • Source/WebCore/html/canvas/WebGLObject.cpp:

(WebCore::root):

  • Source/WebCore/html/canvas/WebGLObject.h:
  • Source/WebCore/html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::addMembersToOpaqueRoots):

  • Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::addMembersToOpaqueRoots):
(WebCore::root):

  • Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
  • Source/WebCore/html/canvas/WebGLTransformFeedback.cpp:

(WebCore::WebGLTransformFeedback::addMembersToOpaqueRoots):

  • Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp:

(WebCore::WebGLVertexArrayObjectBase::addMembersToOpaqueRoots):
(WebCore::root):

  • Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.h:
  • Source/WebCore/html/track/TrackBase.cpp:

(WebCore::TrackBase::opaqueRoot):

  • Source/WebCore/html/track/TrackBase.h:

(WebCore::root):

  • Source/WebCore/html/track/TrackListBase.cpp:

(WebCore::TrackListBase::opaqueRoot):

  • Source/WebCore/html/track/TrackListBase.h:

(WebCore::root):

  • Source/WebCore/page/DOMWindow.cpp:

(WebCore::root):

  • Source/WebCore/page/DOMWindow.h:
  • Source/WebCore/page/IntersectionObserver.cpp:

(WebCore::IntersectionObserver::isReachableFromOpaqueRoots const):

  • Source/WebCore/page/NavigatorBase.cpp:

(WebCore::root):

  • Source/WebCore/page/NavigatorBase.h:
  • Source/WebCore/page/ResizeObserver.cpp:

(WebCore::ResizeObserver::isReachableFromOpaqueRoots const):

  • Source/WebCore/workers/WorkerLocation.cpp:

(WebCore::root):

  • Source/WebCore/workers/WorkerLocation.h:

(WebCore::WorkerLocation::create):
(WebCore::WorkerLocation::url const):
(WebCore::WorkerLocation::WorkerLocation):

  • Source/WebCore/workers/service/ServiceWorkerClients.cpp:

(WebCore::root):

  • Source/WebCore/workers/service/ServiceWorkerClients.h:
  • Source/WebCore/workers/service/ServiceWorkerRegistration.cpp:

(WebCore::root):

  • Source/WebCore/workers/service/ServiceWorkerRegistration.h:
  • Source/WebCore/xml/XMLHttpRequestUpload.cpp:

(WebCore::root):

  • Source/WebCore/xml/XMLHttpRequestUpload.h:

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

7:19 PM Changeset in webkit [294977] by yurys@chromium.org
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm

WKHTTPCookieStore tests should use removeDataOfTypes to delete all cookies
https://bugs.webkit.org/show_bug.cgi?id=240726

Reviewed by Sihui Liu.

Call WKWebsiteDataStore.removeDataOfTypes when to clear all cookies
instead of deleting them one by one. Besides simplifying the code it
documents the API recommended for the clients.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:

(clearCookies):
(TEST):
(deleteCookies): Deleted.

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

7:12 PM Changeset in webkit [294976] by Kate Cheney
  • 1 edit in trunk/Source/WebCore/html/HTMLAttachmentElement.cpp

[WK2] Attachment icons do not update after updating filewrapper
https://bugs.webkit.org/show_bug.cgi?id=241026
rdar://86293273

Reviewed by Wenson Hsieh.

In the case of certain iWork file types downloaded from iCloud that require
thumbnails, we don't remove the progress update once the filewrapper is updated
with the complete attachment, which prevents the thumbnail from appearing.

This patch removes the progress attribute once the thumbnail is updated
so we know we can now paint the icon.

No new tests. There's no clear way to test this change. For previous thumbnail bugs
we swizzled the thumbnail generator code to make sure we were generating
thumbnails; however, this bug is a case of the thumbnail being generated but not
displayed. Similarly, we can't compare the attachment size because it is the same for
the attachment with and without the correct thumbnail.

  • Source/WebCore/html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::updateThumbnail):

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

6:46 PM Changeset in webkit [294975] by J Pascoe
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm

[ iOS ] TestWebKitAPI.SOAuthorizationSubFrame.InterceptionErrorWithReferrer is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=239311
<rdar://91723056>

Reviewed by Brent Fulgham.

There is a race condition when using waitForMessage that we hit here, causing flaky tests on
some bots. This patch avoids this by specifying the messages waited for before loading the
request.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:

(-[TestSOAuthorizationScriptMessageHandler initWithExpectation:]):
(-[TestSOAuthorizationScriptMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):

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

6:23 PM Changeset in webkit [294974] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp

[GLib] Properly deprecate WebKitSettings properties enable-accelerated-2d-canvas, enable-plugins, and enable-xss-auditor
https://bugs.webkit.org/show_bug.cgi?id=240993

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-27
Reviewed by Adrian Perez de Castro.

  • Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:

(webkit_settings_class_init):

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

6:06 PM Changeset in webkit [294973] by timothy_horton@apple.com
  • 41 edits in trunk/Source/WebCore

Add a fake style bit for mouse click handlers
https://bugs.webkit.org/show_bug.cgi?id=240924

Reviewed by Antti Koivisto.

Add a bit to EventListenerRegionType for mouse click events, and
populate it via Node::willRespondToMouseClickEvents.

To do so while avoiding recursive style computation, make it possible
to plumb Editability through to willRespondToMouseClickEventsWithEditability.
This short-circuits Node calling into computeEditability() from the base
implementation of willRespondToMouseClickEvents, which reenters style computation
via computedStyle() when called from StyleAdjuster (where EventListenerRegionType
is populated).

Also make a variant of computeEditability that takes a passed-in style, and
do some refactoring to share more code between platforms (without changing
behavior, even in cases where the behavior differences are suprising).

  • Source/WebCore/dom/Node.cpp:

(WebCore::computeEditabilityFromComputedStyle):
Instead of computing style, computeEditabilityFromComputedStyle is now passed a RenderStyle reference.

(WebCore::Node::computeEditabilityWithStyle const):
This subsumes most of the logic from computeEditability(), but will
compute the style (only if we need it) if it is not passed in.

(WebCore::Node::computeEditability const):
computeEditability retains its "normal" API, passing through its arguments and a null style,
indicating to computeEditabilityWithStyle that it should compute the style as usual.

(WebCore::Node::computeEditabilityForMouseClickEvents const):
A variant of computeEditabilityWithStyle that maintains an odd existing
platform-specific difference in the UserSelectAllTreatment argument,
and allows callers of willRespondToMouseClickEventsWithEditability to
all be consistent.

(WebCore::Node::willRespondToMouseClickEvents const):
Maintain the existing behavior of willRespondToMouseClickEvents; compute editability as needed.

(WebCore::Node::willRespondToMouseClickEventsWithEditability const):
willRespondToMouseClickEventsWithEditability is now the override point, and
will not itself cause a style update.
Refactor this function a bit to share as much code as possible between platforms
(and maintain an existing comment questioning the differences that we maintain).

  • Source/WebCore/dom/Node.h:
  • Source/WebCore/rendering/EventRegion.cpp:

(WebCore::EventRegion::eventListenerRegionForType const):

  • Source/WebCore/rendering/RenderLayerBacking.cpp:

(WebCore::patternForEventListenerRegionType):
Add EventListenerRegionType::MouseClick to these two switches over EventListenerRegionType,
but break and fall into the ASSERT_NOT_REACHED default state; these are only called
for wheel event listeners.

  • Source/WebCore/rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • Source/WebCore/rendering/style/RenderStyleConstants.h:
  • Source/WebCore/style/StyleAdjuster.cpp:

(WebCore::Style::Adjuster::adjustEventListenerRegionTypesForRootStyle):
(WebCore::Style::Adjuster::computeEventListenerRegionTypes):
(WebCore::Style::Adjuster::adjust const):
If we're building interaction regions, propagate EventListenerRegionType::MouseClick
down the style tree like we do for wheel event listeners. This is a bit more complicated
than wheel event listeners, using the Node method instead of just looking at the
set of event listeners, because many elements accept mouse clicks *without* having
event listeners installed; they just implement behaviors in their default event handlers.

  • Source/WebCore/style/StyleAdjuster.h:
  • Source/WebCore/page/InteractionRegion.cpp:

(WebCore::interactionRegions):
Adopt the new fake style bit. This is not the final intended use: we will use it from
EventRegion::unite(), like we do for wheel events, in a future patch.

  • Source/WebCore/html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLAnchorElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/HTMLAnchorElement.h:
  • Source/WebCore/html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLButtonElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/HTMLButtonElement.h:
  • Source/WebCore/html/HTMLElement.cpp:

(WebCore::HTMLElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/HTMLElement.h:
  • Source/WebCore/html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLImageElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/HTMLImageElement.h:
  • Source/WebCore/html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLInputElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/HTMLInputElement.h:
  • Source/WebCore/html/HTMLLabelElement.cpp:

(WebCore::HTMLLabelElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLLabelElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/HTMLLabelElement.h:
  • Source/WebCore/html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLPlugInElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/HTMLPlugInElement.h:
  • Source/WebCore/html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLSelectElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/HTMLSelectElement.h:
  • Source/WebCore/html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLSummaryElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/HTMLSummaryElement.h:
  • Source/WebCore/html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/HTMLTextAreaElement.h:
  • Source/WebCore/html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::SliderThumbElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/shadow/SliderThumbElement.h:
  • Source/WebCore/html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::SpinButtonElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/shadow/SpinButtonElement.h:
  • Source/WebCore/html/shadow/TextControlInnerElements.cpp:

(WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEvents const): Deleted.
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/html/shadow/TextControlInnerElements.h:
  • Source/WebCore/mathml/MathMLElement.cpp:

(WebCore::MathMLElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::MathMLElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/mathml/MathMLElement.h:
  • Source/WebCore/mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/mathml/MathMLSelectElement.h:
  • Source/WebCore/svg/SVGAElement.cpp:

(WebCore::SVGAElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::SVGAElement::willRespondToMouseClickEvents const): Deleted.

  • Source/WebCore/svg/SVGAElement.h:

Propagate editability through overrides of willRespondToMouseClickEvents(WithEditability).

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

5:56 PM Changeset in webkit [294972] by commit-queue@webkit.org
  • 15 edits
    3 copies in trunk/Source/WebCore

Add EXT_texture_compression_bptc WebGL extension support
https://bugs.webkit.org/show_bug.cgi?id=235637

Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-05-27
Reviewed by Kenneth Russell.

Support BPTC texture formats and slightly cleanup RGTC code.

  • Source/WebCore/CMakeLists.txt:
  • Source/WebCore/DerivedSources-input.xcfilelist:
  • Source/WebCore/DerivedSources-output.xcfilelist:
  • Source/WebCore/DerivedSources.make:
  • Source/WebCore/Sources.txt:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp:

(WebCore::convertToJSValue):

  • Source/WebCore/html/canvas/EXTTextureCompressionBPTC.cpp: Copied from Source/WebCore/html/canvas/EXTTextureCompressionRGTC.cpp.

(WebCore::EXTTextureCompressionBPTC::EXTTextureCompressionBPTC):
(WebCore::EXTTextureCompressionBPTC::getName const):
(WebCore::EXTTextureCompressionBPTC::supported):

  • Source/WebCore/html/canvas/EXTTextureCompressionBPTC.h: Copied from Source/WebCore/html/canvas/EXTTextureCompressionRGTC.h.
  • Source/WebCore/html/canvas/EXTTextureCompressionBPTC.idl: Copied from Source/WebCore/html/canvas/EXTTextureCompressionRGTC.h.
  • Source/WebCore/html/canvas/EXTTextureCompressionRGTC.cpp:

(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):
(WebCore::EXTTextureCompressionRGTC::supported):

  • Source/WebCore/html/canvas/EXTTextureCompressionRGTC.h:
  • Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):

  • Source/WebCore/html/canvas/WebGLExtension.h:
  • Source/WebCore/html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):

  • Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
(WebCore::WebGLRenderingContextBase::loseExtensions):

  • Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
  • Source/WebCore/platform/graphics/GraphicsContextGL.h:

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

5:32 PM Changeset in webkit [294971] by timothy_horton@apple.com
  • 1 edit
    1 delete in trunk/Source/WebKit

Remove WebKit feature flags plist
https://bugs.webkit.org/show_bug.cgi?id=241042

Reviewed by Wenson Hsieh.

  • Source/WebKit/FeatureFlags/WebKit.plist: Removed.
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Now that the blocking bug is resolved, we can remove this entirely.

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

5:01 PM Changeset in webkit [294970] by Simon Fraser
  • 12 edits in trunk

Optimize setting SVG element transforms
https://bugs.webkit.org/show_bug.cgi?id=240825

Reviewed by Said Abou-Hallawa.

When parseTransformValueGeneric() creates SVGTransformValues, it default-constructed them
and then called setRotate(), setScale() etc, which would reset m_matrix to identity a second time.

Optimize by providing static helpers for creating translate, rotate and scale SVGTransformValues
which initialize the matrix with the final value. Helpers are added to AffineTransform to
create scale, translate and rotate transforms, renaming translation to makeTranslation so
that the "scale" helper doesn't conflict with the scale member function.

This reduces the time spent under the Element::setAttribute() function in the MotionMark
Suits test by about 14%.

  • Source/WebCore/page/FrameView.cpp:

(WebCore::FrameView::rectForViewportConstrainedObjects):

  • Source/WebCore/platform/graphics/FontCascade.cpp:

(WebCore::GlyphToPathTranslator::GlyphToPathTranslator):

  • Source/WebCore/rendering/svg/LegacyRenderSVGRoot.cpp:

(WebCore::LegacyRenderSVGRoot::paintReplaced):
(WebCore::LegacyRenderSVGRoot::localToParentTransform const):

  • Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp:

(WebCore::RenderSVGResourceMarker::localToParentTransform const):

  • Source/WebCore/rendering/svg/RenderSVGViewportContainer.cpp:

(WebCore::RenderSVGViewportContainer::calculateLocalTransform):

  • Source/WebCore/svg/SVGTransform.h:

(WebCore::SVGTransform::create):
(WebCore::SVGTransform::SVGTransform):

  • Source/WebCore/svg/SVGTransformList.cpp:

(WebCore::SVGTransformList::parseGeneric):

  • Source/WebCore/svg/SVGTransformValue.h:

(WebCore::SVGTransformValue::translateTransformValue):
(WebCore::SVGTransformValue::rotateTransformValue):
(WebCore::SVGTransformValue::scaleTransformValue):
(WebCore::SVGTransformValue::setMatrix):
(WebCore::SVGTransformValue::matrixDidChange):
(WebCore::SVGTransformValue::setTranslate):
(WebCore::SVGTransformValue::setScale):
(WebCore::SVGTransformValue::setRotate):

  • Source/WebCore/svg/SVGTransformable.cpp:

(WebCore::parseTransformValueGeneric):

  • Source/WebCore/svg/properties/SVGValueProperty.h:
  • Tools/TestWebKitAPI/Tests/WebCore/AffineTransform.cpp:

(TestWebKitAPI::TEST):

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

5:00 PM Changeset in webkit [294969] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in

[macOS][GPUP] Block unused system calls
https://bugs.webkit.org/show_bug.cgi?id=240966
<rdar://84826074>

Reviewed by Chris Dumez.

  • Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:

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

4:55 PM Changeset in webkit [294968] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js

Web Inspector: Sources: editing a breakpoint action to cause the CodeMirror to wrap doesn't update the WI.Popover size
https://bugs.webkit.org/show_bug.cgi?id=220643
<rdar://problem/73225206>

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js:

(WI.BreakpointActionView.prototype._updateBody):
(WI.BreakpointActionView.prototype._handleJavaScriptCodeMirrorUpdate): Added.
(WI.BreakpointActionView.prototype._codeMirrorViewportChanged): Deleted.
Replace listening for "viewportChange" (and "update") with "updates", each time comparing the
getScrollInfo().clientHeight (we don't care about the clientWidth because it's hardcoded in the
CSS .breakpoint-action-eval-editor > .CodeMirror) with the last value. This is necessary because
"viewportChange" is only fired when the number of lines changes, which a wrapped line doesn't do.

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

4:52 PM Changeset in webkit [294967] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/TimelineOverview.js

Web Inspector: Timelines: switching between Events/Frames while editing instruments leaves the UI in a broken state
https://bugs.webkit.org/show_bug.cgi?id=218700
<rdar://problem/71180148>

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/TimelineOverview.js:

(WI.TimelineOverview.prototype.set viewMode):
(WI.TimelineOverview.prototype._viewModeDidChange):
Forcibly stop editing instruments when switching between Events/Frames. Note that this will save the
current state of edited instruments, so no changes will be lost.

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

4:40 PM Changeset in webkit [294966] by aboya@igalia.com
  • 1 edit in trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py

git-webkit pr: Show server response when updating an issue fails

Reviewed by Jonathan Bedard.

Small changes are also made to the request() method to make it more
reusable: now it can handle methods other than GET, and can print custom
error messages when requests fail.

Bare usages of python-requests have been refactored to use
self.request() where possible (that is, when the path being accessed is
within the repo URL).

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:

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

4:09 PM Changeset in webkit [294965] by mark.lam@apple.com
  • 57 edits
    2 deletes in trunk

Revert "Enable WasmLLInt on ARMv7"

Unreviewed.

This reverts commit 2a12d06fc13f7c3bbcf8d204d6f760ab222d75d9.

2a12d06fc13f7c3bbcf8d204d6f760ab222d75d9 breaks WASM on 64-bit platforms.

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

4:08 PM Changeset in webkit [294964] by Wenson Hsieh
  • 1 edit in trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

[iOS] Performing the image markup action should reset _imageAnalysisMarkupData
https://bugs.webkit.org/show_bug.cgi?id=241024

Reviewed by Aditya Keerthi.

  • Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView imageAnalysisMarkupMenu]):

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

4:02 PM Changeset in webkit [294963] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Update internal CSS to remove '-webkit-' prefixing where possible
https://bugs.webkit.org/show_bug.cgi?id=240930
<rdar://93934318>

Patch by Sammy Gill <sgill26@apple.com> on 2022-05-27
Reviewed by Brent Fulgham and Tim Nguyen.

There are many instances in WebCore where prefixed versions of CSS
attributes are being used even though these attributes have been
standardized and have unprefixed versions. The prefixed versions no
longer need to be used and can be replaced by their unprefixed
equivalents.

  • Source/WebCore/Modules/mediacontrols/mediaControlsAdwaita.css:
  • Source/WebCore/Modules/mediacontrols/mediaControlsApple.css:
  • Source/WebCore/Modules/mediacontrols/mediaControlsBase.css:
  • Source/WebCore/css/html.css:
  • Source/WebCore/css/legacyFormControlsIOS.css:
  • Source/WebCore/css/mediaControls.css:
  • Source/WebCore/css/themeAdwaita.css:
  • Source/WebCore/html/shadow/imageOverlay.css:
  • Source/WebCore/html/shadow/mac/imageControlsMac.css:
  • Source/WebCore/html/shadow/meterElementShadow.css:
  • Source/WebCore/xml/XMLViewer.css:

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

3:59 PM Changeset in webkit [294962] by Karl Rackler
  • 3 edits in trunk/LayoutTests/platform

[Gardening]: [ iOS macOS ] two imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage tests are a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=241048
<rdar://94056966>

Unreviewed test gardening.

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

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

3:55 PM Changeset in webkit [294961] by commit-queue@webkit.org
  • 1 edit in trunk/LayoutTests/webgl/TestExpectations

Flakes in WebGL conformance[2]/textures/image_bitmap_from_image_bitmap/ tests
https://bugs.webkit.org/show_bug.cgi?id=241027

Patch by Kenneth Russell <kbr@chromium.org> on 2022-05-27
Unreviewed test gardening.

  • LayoutTests/webgl/TestExpectations:

Mark all tests under:

webgl/2.0.0/conformance[2]/textures/image_bitmap_from_image_bitmap

as flaky (Pass Failure) while the bug is being investigated.

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

3:48 PM Changeset in webkit [294960] by mark.lam@apple.com
  • 2 edits in trunk/Source

Revert "Non unified build fixes, lateish May 2022 edition"

Unreviewed.

This reverts commit 2db7e5eef53c0424ac30bccf7cdf9aa8428e9464.

We need to revert 2a12d06fc13f7c3bbcf8d204d6f760ab222d75d9 because it broke WASM on
64-bit platforms. 2db7e5eef53c0424ac30bccf7cdf9aa8428e9464 was builds on top of
2a12d06fc13f7c3bbcf8d204d6f760ab222d75d9, and hence, needs to be reverted too.

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

3:10 PM Changeset in webkit [294959] by Devin Rousso
  • 2 edits
    2 adds in trunk

[Modern Media Controls] REGRESSION(r293684) cannot pause <video> if controls are added after "play"
https://bugs.webkit.org/show_bug.cgi?id=240985
<rdar://problem/93822316>

Reviewed by Eric Carlson.

  • Source/WebCore/Modules/modern-media-controls/media/media-controller.js:

(MediaController):
Actually check if the media is playing and/or has played instead of always assuming false.

  • Source/WebCore/Modules/modern-media-controls/media/start-support.js:

(StartSupport.prototype._shouldShowStartButton):
Drive-by: It's no longer necessary to check media.played.length here it's part of mediaController.hasPlayed.

  • LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-added-after-play.html: Added.
  • LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-added-after-play-expected.txt: Added.

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

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

Crash under RemoteDisplayListRecorder::restore()
https://bugs.webkit.org/show_bug.cgi?id=240545

Reviewed by Simon Fraser.

  • Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.h:

(WebKit::RemoteImageBuffer::~RemoteImageBuffer):
Avoid restoring the GraphicsContext stack for volatile
ImageBuffers. The buffers do not have a graphics context.

  • Source/WebCore/platform/graphics/ConcreteImageBuffer.h:

Add an assertion to check that volatile image buffers
do not try to access their context.

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

3:05 PM Changeset in webkit [294957] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.10.9

Tag WebKit-7614.1.14.10.9.

3:02 PM Changeset in webkit [294956] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.9

2:50 PM Changeset in webkit [294955] by Devin Rousso
  • 6 edits
    4 adds in trunk

CrashTracer: com.apple.WebKit.WebContent at com.apple.WebKit: WebKit::TextCheckingControllerProxy::annotatedSubstringBetweenPositions
https://bugs.webkit.org/show_bug.cgi?id=239909
<rdar://problem/87885717>

Reviewed by Wenson Hsieh.

This exception happens when trying to add attributes for text that contains collapsed whitespace and
has also been wrapped due to the size of its parent container. The exception specifically is about
trying to add attributes beyond the current length of a NSAttributedString.

  • Source/WebCore/editing/TextIteratorBehavior.h:
  • Source/WebCore/editing/TextIterator.cpp:

(WebCore::TextIterator::handleTextRun):
In the case that m_lastTextNodeEndedWithCollapsedSpace, we only want to add the remaining text if
we're still within the desired portion of the m_textRun. Otherwise, we'll iterate over too much of
the text and result in a string that's longer than what would be the case if one manually calculated
it from the given offset and offsetEnd. Add a new TextIteratorBehavior::IgnoresWhiteSpaceAtEndOfRun
to not include the trailing whitespace.

  • Source/WebKit/WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:

(WebKit::TextCheckingControllerProxy::annotatedSubstringBetweenPositions):
Use the new WebCore::TextIteratorBehavior::IgnoresWhiteSpaceAtEndOfRun to not include the trailing
whitespace.
Also add some defensive checks just in case.

  • Source/WebCore/testing/Internals.idl:
  • Source/WebCore/testing/Internals.h:
  • Source/WebCore/testing/Internals.cpp:

(WebCore::toTextIteratorBehaviors): Added.
(WebCore::Internals::locationFromRange):
(WebCore::Internals::lengthFromRange):
(WebCore::Internals::statesOfTextIterator): Added.
Add a way to provide TextIteratorBehaviors to methods that use TextIterator.
Add a method that gets the text and range of a TextIterator after every advance.

  • LayoutTests/editing/text-iterator/sequential-collapsed-ranges.html: Added.
  • LayoutTests/editing/text-iterator/sequential-collapsed-ranges-expected.txt: Added.
  • LayoutTests/editing/text-iterator/subrange-with-trailing-collapsed-whitespace.html: Added.
  • LayoutTests/editing/text-iterator/subrange-with-trailing-collapsed-whitespace-expected.txt: Added.

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

2:37 PM Changeset in webkit [294954] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.14

Tag WebKit-7614.1.14.1.14.

2:35 PM Changeset in webkit [294953] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.13

Tag WebKit-7614.1.14.0.13.

2:10 PM Changeset in webkit [294952] by Elliott Williams
  • 6 edits
    1 add in trunk/Source

[Xcode] Compute PGO profdata paths instead of searching for them at build time
https://bugs.webkit.org/show_bug.cgi?id=239681

Reviewed by Wenson Hsieh and Alexey Proskuryakov.

Production builds should always use profdata from the SDK, internal
release builds should use profdata from the local WebKitAdditions when
available, and open source builds should use the stub profdata. Add a
PROFILE_DATA_PATH build setting which implements these rules and replace
the script phases that checked those paths dynamically.

This fixes XCBuild validation issues in the open-source build, and
should prevent production builders from using stale profdata in
BUILT_PRODUCTS_DIR. Additionally, engineers can now build with custom
profile data by overriding PROFILE_DATA_PATH.

  • Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
  • Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
  • Source/JavaScriptCore/Scripts/copy-profiling-data.sh: Added. This file is part of JavaScriptCore's private headers and replaces the "Copy Profiling Data" script phase logic all projects.
  • Source/WebKit/Configurations/BaseTarget.xcconfig:
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebCore/Configurations/WebCore.xcconfig:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:

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

1:52 PM Changeset in webkit [294951] by Chris Dumez
  • 2 edits in trunk/Source

Start allocating shared memory with MAP_MEM_VM_SHARE again on newer OSes
https://bugs.webkit.org/show_bug.cgi?id=241014
<rdar://94032696>

Reviewed by Simon Fraser.

When we started doing memory attribution in the GPUProcess, we stopped using
the MAP_MEM_VM_SHARE flag when creating SharedMemory, because it was
incompatible with attribution. However, creating shared memory would fail
without the MAP_MEM_VM_SHARE flag under certain circumstances (due to size
restriction iirc), in which case we would fall back to using MAP_MEM_VM_SHARE
and fail memory attribution.

As of <rdar://73715428>, MAP_MEM_VM_SHARE is now compatible with memory
attribution so this patch starts using the flag again and unconditionally on
newer OSes.

  • Source/WTF/wtf/PlatformHave.h:
  • Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp:

(WebKit::makeMemoryEntry):

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

1:14 PM Changeset in webkit [294950] by J Pascoe
  • 3 edits in trunk/Source

[WebAuthn] Forward declare ASC SPI for internal needs.
https://bugs.webkit.org/show_bug.cgi?id=240928
rdar://problem/93930713

Reviewed by Brent Fulgham.

This fixes the build after an internal change for older macOS.

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

Remove unused import that isn't present in older macOS sdk.

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

12:54 PM Changeset in webkit [294949] by sihui_liu@apple.com
  • 3 edits in trunk/Source/WebCore

Stop exposing ApplicationCache API if it is not enabled
https://bugs.webkit.org/show_bug.cgi?id=241000

Reviewed by Chris Dumez.

  • Source/WebCore/bindings/js/WebCoreBuiltinNames.h:
  • Source/WebCore/loader/appcache/DOMApplicationCache.idl:
  • Source/WebCore/page/DOMWindow.idl:

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

12:29 PM Changeset in webkit [294948] by Truitt Savell
  • 7 edits
    2 deletes in trunk

Revert "REGRESSION(r289580): Canvas: putImageData sometimes draws nothing"

Unreviewed revert of commit 749c20ef7e6693fc1e69be46db08eedabc4d8a1b.

This caused Mac EWS testing to exit early with 30+ failures.

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

12:20 PM Changeset in webkit [294947] by achristensen@apple.com
  • 27 edits in trunk/Source

Move disk operations when deleting cookies off from the main thread
https://bugs.webkit.org/show_bug.cgi?id=240981
<rdar://92415240>

Reviewed by Geoff Garen.

This should reduce hangs and increase responsiveness.

  • Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:
  • Source/WebCore/inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::deleteCookie):

  • Source/WebCore/loader/CookieJar.cpp:

(WebCore::CookieJar::deleteCookie):

  • Source/WebCore/loader/CookieJar.h:
  • Source/WebCore/platform/network/NetworkStorageSession.h:
  • Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::NetworkStorageSession::deleteCookie):
(WebCore::NetworkStorageSession::setAllCookiesToSameSiteStrict):
(WebCore::NetworkStorageSession::deleteHTTPCookie const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::deleteAllCookies):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::deleteAllCookiesModifiedSince):
(WebCore::NetworkStorageSession::flushCookieStore): Deleted.
(WebCore::deleteAllHTTPCookies): Deleted.

  • Source/WebKit/NetworkProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::deleteCookiesForHostnames):
(WebKit::WebCookieManager::deleteAllCookies):
(WebKit::WebCookieManager::deleteCookie):
(WebKit::WebCookieManager::deleteAllCookiesModifiedSince):

  • Source/WebKit/NetworkProcess/Cookies/WebCookieManager.h:
  • Source/WebKit/NetworkProcess/Cookies/WebCookieManager.messages.in:
  • Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::deleteCookie):

  • Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
  • Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • Source/WebKit/NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):

  • Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp:

(API::HTTPCookieStore::deleteAllCookies):

  • Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::deleteAllCookies):

  • Source/WebKit/UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::deleteCookiesForHostnames):
(WebKit::WebCookieManagerProxy::deleteAllCookies):

  • Source/WebKit/UIProcess/WebCookieManagerProxy.h:
  • Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp:

(WebKit::WebAutomationSessionProxy::deleteCookie):

  • Source/WebKit/WebProcess/WebPage/WebCookieCache.cpp:

(WebKit::WebCookieCache::cookiesDeleted):
(WebKit::WebCookieCache::clearForHost):

  • Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp:

(WebKit::WebCookieJar::deleteCookie):

  • Source/WebKit/WebProcess/WebPage/WebCookieJar.h:
  • Source/WebKitLegacy/mac/WebView/WebPreferences.mm:

(+[WebPreferences _clearNetworkLoaderSession]):

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

11:58 AM Changeset in webkit [294946] by commit-queue@webkit.org
  • 13 edits
    3 adds in trunk

Add EXT_texture_norm16 WebGL extension support
https://bugs.webkit.org/show_bug.cgi?id=220343

Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-05-27
Reviewed by Kenneth Russell.

  • LayoutTests/TestExpectations:
  • Source/WebCore/CMakeLists.txt:
  • Source/WebCore/DerivedSources-input.xcfilelist:
  • Source/WebCore/DerivedSources-output.xcfilelist:
  • Source/WebCore/DerivedSources.make:
  • Source/WebCore/Sources.txt:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp:

(WebCore::convertToJSValue):

  • Source/WebCore/html/canvas/EXTTextureNorm16.cpp: Added.

(WebCore::EXTTextureNorm16::EXTTextureNorm16):
(WebCore::EXTTextureNorm16::getName const):
(WebCore::EXTTextureNorm16::supported):

  • Source/WebCore/html/canvas/EXTTextureNorm16.h: Added.
  • Source/WebCore/html/canvas/EXTTextureNorm16.idl: Added.
  • Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
(WebCore::WebGL2RenderingContext::renderbufferStorageImpl):

  • Source/WebCore/html/canvas/WebGLExtension.h:
  • Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::addExtensionSupportedFormatsAndTypesWebGL2):
(WebCore::WebGLRenderingContextBase::loseExtensions):

  • Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
  • Source/WebCore/platform/graphics/GraphicsContextGL.h:

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

11:41 AM Changeset in webkit [294945] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.14

11:38 AM Changeset in webkit [294944] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.13

10:59 AM Changeset in webkit [294943] by don.olmstead@sony.com
  • 1 edit in trunk/Source/cmake/WebKitFeatures.cmake

[CMake] Support string values in cmakeconfig.h
https://bugs.webkit.org/show_bug.cgi?id=241013

Reviewed by Adrian Perez de Castro and Michael Catanzaro.

Add EXPOSE_STRING_VARIABLE_TO_BUILD which adds a string variable to the config. Modify
CREATE_CONFIGURATION_HEADER to output the values to cmakeconfig.h.

  • Source/cmake/WebKitFeatures.cmake:

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

10:58 AM Changeset in webkit [294942] by Lauro Moura
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp

[GTK] Deprecate WebKitSettings:enable-java
https://bugs.webkit.org/show_bug.cgi?id=239538

Reviewed by Adrian Perez de Castro.

  • Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:

(testWebKitSettings): Move test of deprecated function to section
disabling deprecation warnings.

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

10:22 AM Changeset in webkit [294941] by Alan Coon
  • 9 edits in trunk/Source

Versioning.

WebKit-7614.1.16

10:12 AM Changeset in webkit [294940] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.11.4

Tag WebKit-7614.1.14.11.4.

9:54 AM Changeset in webkit [294939] by Adrian Perez de Castro
  • 2 edits in trunk/Source

Non unified build fixes, lateish May 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=241019

Unreviewed build fixes.

  • Source/JavaScriptCore/wasm/js/WasmToJS.cpp: Add missing JSCJSValueInlines.h header inclusion.
  • Source/WebCore/platform/audio/MultiChannelResampler.cpp: Add missing <functional> header inclusion, needed for std::bind().

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

8:49 AM Changeset in webkit [294938] by Tyler Wilcock
  • 8 edits
    1 add in trunk

AX: Update the isolated tree in response to dynamic aria-haspopup and aria-describedby changes
https://bugs.webkit.org/show_bug.cgi?id=240968

Reviewed by Chris Fleizach.

Testcases added to aria-describedby-on-input.html
and element-haspopup.html to cover this change.

  • LayoutTests/accessibility/aria-describedby-on-input-expected.txt:
  • LayoutTests/accessibility/aria-describedby-on-input.html:
  • LayoutTests/accessibility/element-haspopup-expected.txt:
  • LayoutTests/accessibility/element-haspopup.html:
  • LayoutTests/platform/ios/accessibility/aria-describedby-on-input-expected.txt: Added.
  • LayoutTests/platform/ios/TestExpectations:
  • Source/WebCore/accessibility/AXLogger.cpp:

(WebCore::operator<<):

  • Source/WebCore/accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):

  • Source/WebCore/accessibility/AXObjectCache.h:

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

7:47 AM Changeset in webkit [294937] by Jean-Yves Avenard
  • 6 edits in trunk/Source/WebKit

Simplify MediaPlayerPrivateRemote::RequestResource API
https://bugs.webkit.org/show_bug.cgi?id=240999
<rdar://94012261>

Reviewed by Eric Carlson.

When the GPU Process' MediaPlayerProxy needs to allocate a new MediaResource it sends
a message to the content process via the MediaPlayerPrivateRemote::RequestResource
IPC call with a RemoteMediaResourceIdentifier which will then respond to indicate that
the MediaResource is now "ready".

There's two scenarios possible here:
Either the creation of the media resource in the content process is successful or it's not.

If it's successful the content process will start sending data starting by a call to the
GPU's RemoteMediaResourceManager responseReceived
Or it will fail and call RemoteMediaResourceManager::LoadFailed.

The RemoteMediaResourceManager will only accept incoming data once the MediaResource's
ready status is true, and if you're only working on the main thread, it will always be,
as the Content Process' RequestResource response will always be received before either
a LoadFailed or ResponseReceived call.
Under these conditions, the ready status is totally redundant. Testing that the
RemoteMediaResource exists in the MediaResourceManager's map is sufficient.

However, if we want to parallelise networking operations so that ResponseReceived and
LoadFailed will be called on a secondary thread as introduced in bug 235353;
the "ready" flag becomes problematic as the response from a RequestResource is handled
on the main thread.
The multi-threaded nature of the work means that the RequestResource response could be
received only after LoadFailed or ResponseReceived message; and if that's the case
those two messages will be dropped.

This can be seen with the intermittent failures occurring with media/video-src-blob-replay.html test.

So we remove this concept of RemoteMediaResource::ready as at best it serves no purpose.

  • Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::requestResource):

  • Source/WebKit/GPUProcess/media/RemoteMediaResource.h:

(WebKit::RemoteMediaResource::ready const): Deleted.
(WebKit::RemoteMediaResource::setReady): Deleted.

  • Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:

(WebKit::RemoteMediaResourceManager::responseReceived):
(WebKit::RemoteMediaResourceManager::redirectReceived):
(WebKit::RemoteMediaResourceManager::dataSent):
(WebKit::RemoteMediaResourceManager::dataReceived):
(WebKit::RemoteMediaResourceManager::accessControlCheckFailed):
(WebKit::RemoteMediaResourceManager::loadFailed):
(WebKit::RemoteMediaResourceManager::loadFinished):

  • Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::requestResource):

  • Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:

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

6:17 AM Changeset in webkit [294936] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in

Unreviewed, reverting r294898.
https://bugs.webkit.org/show_bug.cgi?id=241008

Introduced crash

Reverted changeset:

"[macOS][GPUP] Block unused system calls"
https://bugs.webkit.org/show_bug.cgi?id=240966
https://commits.webkit.org/r294898

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

4:03 AM Changeset in webkit [294935] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore/platform/graphics

[TextureMapper] Generalize YUV-to-RGB matrices
https://bugs.webkit.org/show_bug.cgi?id=240952

Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-05-27
Reviewed by Miguel Gomez.

Right now, TextureMapper supports converting YUV data to RGB when using either
the BT.601 or BT.709 colorspaces. The caller provides the basic 3x3 conversion
matrix for the given colorspace, and the offsets agains the initial YUV values
are hard-coded in the shader since they are the same for both colorspaces.

To support additional colorspaces (which don't share the same offset values) the
matrix handling has to be generalized. This means every conversion matrix is now
4x4 in size, with the adjusted offset values residing in the last column.

  • Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameHolder.cpp:

(WebCore::GstVideoFrameHolder::platformLayerBuffer):

  • Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:

(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):

  • Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawTexturePlanarYUV):
(WebCore::TextureMapperGL::drawTextureSemiPlanarYUV):
(WebCore::TextureMapperGL::drawTexturePackedYUV):

  • Source/WebCore/platform/graphics/texmap/TextureMapperGL.h:
  • Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
  • Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyDMABuf.cpp:

(WebCore::TextureMapperPlatformLayerProxyDMABuf::DMABufLayer::paintToTextureMapper):

  • Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp:

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

1:47 AM Changeset in webkit [294934] by commit-queue@webkit.org
  • 57 edits
    2 adds in trunk

Enable WasmLLInt on ARMv7

Patch by Geza Lore <Geza Lore> on 2022-05-27
https://bugs.webkit.org/show_bug.cgi?id=221260

Reviewed by Saam Barati.

Patch by Geza Lore and Xan López.

Implement the LLInt tier of WebAssembly for ARMv7. A lot of the
work will be shared by any 32bit port, but the offlineassembler
has only been updated for ARMv7 so far.

Main highlights:

We have split the WebAssembly.asm file into three chunks,
following what LowLevelInterpreter.asm does. The common code
remains in WebAssembly.asm, and 32 and 64bit specific code (mostly
opcode implementations) goes into WebAssembly32_64.asm and
WebAssembly64.asm.

We have decided to use consecutive even/odd pairs of GPRs for every
type of wasm values, even if they are 32bit (i32/f32), with the odd
(higher) numbered GPR holding the more significant half. 32bit values
are held in the even (lower) numbered register. This makes the code
much simpler and allows us to share more code with the 64bit variant.
This is mostly relevant for argument passing, and given that every
value ends up in the stack anyway we do not think it is significant
from a performance POV.

We are reusing JSValueRegs to hold Wasm values too. Obviously they
are not really JSValues, so it might make sense to create a base
class that can be used for both JS and Wasm values.

We do not have enough registers to keep things like the memory
base pointer and size in pinned registers, so we are forced to
load them on each use.

We disable the 'Signaling' memory mode, since the current
implementation relies on being able to mprotect a 232 + redzone
region of memory. This can be changed in the future but it's not a
priority at the moment.

  • stress/sampling-profiler-wasm-name-section.js:
  • stress/sampling-profiler-wasm.js:
  • wasm/regress/llint-callee-saves-with-fast-memory.js:
  • CMakeLists.txt:
  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::vcvt_signedToFloatingPoint):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::convertInt32ToFloat):
(JSC::MacroAssemblerARMv7::threadSafePatchableNearCall):
(JSC::MacroAssemblerARMv7::callOperation):

  • b3/B3ValueRep.h:

(JSC::B3::ValueRep::ValueRep):

  • bytecode/BytecodeDumper.cpp:

(JSC::Wasm::BytecodeDumper::formatConstant const):

  • interpreter/CallFrame.h: adapt to new callee tagging format.

(JSC::CallFrame::callee const):
(JSC::CallFrame::unsafeCallee const):

  • interpreter/CalleeBits.h: add wasm tagging of callee values for

32bit.
(JSC::CalleeBits::CalleeBits):
(JSC::CalleeBits::operator=):
(JSC::CalleeBits::boxWasm):
(JSC::CalleeBits::isWasm const):
(JSC::CalleeBits::asWasmCallee const):

  • interpreter/Register.h:

(JSC::Register::unboxedFloat const):
(JSC::Register::asanUnsafeUnboxedFloat const):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::unboxDouble):

  • jit/RegisterAtOffsetList.cpp:

(JSC::RegisterAtOffsetList::RegisterAtOffsetList):

  • jit/RegisterAtOffsetList.h:

(JSC::RegisterAtOffsetList::sizeOfAreaInBytes const):

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::macroScratchRegisters):

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/WebAssembly.asm:
  • llint/WebAssembly32_64.asm: Added.
  • llint/WebAssembly64.asm: Added.
  • offlineasm/arm.rb:
  • offlineasm/instructions.rb:
  • offlineasm/registers.rb:
  • offlineasm/risc.rb:
  • runtime/JSCJSValue.h:

(JSC::wasmUnboxedFloat):

  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::JSValue):

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::useSignalingMemory const):
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::AirIRGenerator::addCall):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::useSignalingMemory const):
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::addArguments):
(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::B3IRGenerator::memoryKind):
(JSC::Wasm::B3IRGenerator::addCall):

  • wasm/WasmBinding.cpp:

(JSC::Wasm::wasmToWasm):

  • wasm/WasmCallee.cpp:

(JSC::Wasm::LLIntCallee::calleeSaveRegisters):

  • wasm/WasmCalleeGroup.cpp:

(JSC::Wasm::CalleeGroup::isSafeToRun):

  • wasm/WasmCallingConvention.cpp:

(JSC::Wasm::jsCallingConvention):
(JSC::Wasm::wasmCallingConvention):

  • wasm/WasmCallingConvention.h:

(JSC::Wasm::CallInformation::computeResultsOffsetList):
(JSC::Wasm::WasmCallingConvention::WasmCallingConvention):
(JSC::Wasm::WasmCallingConvention::marshallLocationImpl const):
(JSC::Wasm::WasmCallingConvention::marshallLocation const):
(JSC::Wasm::JSCallingConvention::JSCallingConvention):
(JSC::Wasm::JSCallingConvention::marshallLocationImpl const):
(JSC::Wasm::JSCallingConvention::marshallLocation const):
(JSC::Wasm::JSCallingConvention::callInformationFor const):

  • wasm/WasmFormat.h:
  • wasm/WasmIndexOrName.cpp:

(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::makeString):

  • wasm/WasmIndexOrName.h:

(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::IndexOrName::isEmpty const):
(JSC::Wasm::IndexOrName::isIndex const):
(JSC::Wasm::IndexOrName::isName const):
(JSC::Wasm::IndexOrName::index const):
(JSC::Wasm::IndexOrName::name const):
(JSC::Wasm::IndexOrName::nameSection const):

  • wasm/WasmInstance.h:

(JSC::Wasm::Instance::updateCachedMemory):

  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::virtualRegisterForWasmLocal):
(JSC::Wasm::LLIntGenerator::callInformationForCaller):
(JSC::Wasm::LLIntGenerator::callInformationForCallee):
(JSC::Wasm::LLIntGenerator::addArguments):
(JSC::Wasm::LLIntGenerator::addLoop):

  • wasm/WasmLLIntPlan.cpp:

(JSC::Wasm::LLIntPlan::didCompleteCompilation):

  • wasm/WasmMemory.cpp:

(JSC::Wasm::MemoryHandle::~MemoryHandle):
(JSC::Wasm::Memory::tryCreate):
(JSC::Wasm::Memory::growShared):
(JSC::Wasm::Memory::grow):
(JSC::Wasm::Memory::copy):

  • wasm/WasmMemory.h:
  • wasm/WasmMemoryInformation.cpp:

(JSC::Wasm::PinnedRegisterInfo::get):

  • wasm/WasmMemoryInformation.h:

(JSC::Wasm::PinnedRegisterInfo::toSave const):

  • wasm/WasmMemoryMode.cpp:

(JSC::Wasm::makeString):

  • wasm/WasmMemoryMode.h:
  • wasm/WasmOpcodeOrigin.cpp:
  • wasm/WasmOpcodeOrigin.h:
  • wasm/WasmOperations.cpp:

(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):

  • wasm/WasmOperations.h:
  • wasm/WasmPageCount.h:
  • wasm/WasmParser.h:

(JSC::Wasm::Parser<SuccessType>::parseUInt32):
(JSC::Wasm::Parser<SuccessType>::parseUInt64):

  • wasm/WasmSlowPaths.cpp:

(JSC::LLInt::WASM_SLOW_PATH_DECL):
(JSC::LLInt::slow_path_wasm_popcount):
(JSC::LLInt::slow_path_wasm_popcountll):
(JSC::LLInt::slow_path_wasm_i32_div_s):
(JSC::LLInt::slow_path_wasm_i32_div_u):
(JSC::LLInt::slow_path_wasm_i32_rem_s):
(JSC::LLInt::slow_path_wasm_i32_rem_u):
(JSC::LLInt::slow_path_wasm_i64_div_s):
(JSC::LLInt::slow_path_wasm_i64_div_u):
(JSC::LLInt::slow_path_wasm_i64_rem_s):
(JSC::LLInt::slow_path_wasm_i64_rem_u):

  • wasm/WasmSlowPaths.h:
  • wasm/WasmValueLocation.cpp:

(JSC::Wasm::ValueLocation::dump const):
(WTF::printInternal):

  • wasm/WasmValueLocation.h:

(JSC::Wasm::ValueLocation::ValueLocation):
(JSC::Wasm::ValueLocation::isGPR const):
(JSC::Wasm::ValueLocation::isFPR const):
(JSC::Wasm::ValueLocation::isStack const):
(JSC::Wasm::ValueLocation::isStackArgument const):
(JSC::Wasm::ValueLocation::jsr const):
(JSC::Wasm::ValueLocation::fpr const):
(JSC::Wasm::ValueLocation::reg): Deleted.
(JSC::Wasm::ValueLocation::isReg const): Deleted.
(JSC::Wasm::ValueLocation::reg const): Deleted.
(JSC::Wasm::ValueLocation::gpr const): Deleted.

  • wasm/js/JSToWasm.cpp:

(JSC::Wasm::marshallJSResult):
(JSC::Wasm::createJSToWasmWrapper):

  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::wasmToJS):

  • wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::previousInstanceOffset const):
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):

  • wasm/js/WebAssemblyGlobalConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::initializeExports):

  • wtf/PlatformEnable.h: enable WebAssembly on ARMv7.
  • Scripts/run-jsc-stress-tests: allow to run the wasm tests on

armv7 even without jit support (for now).

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

May 26, 2022:

11:57 PM Changeset in webkit [294933] by Ross Kirsling
  • 7 edits in trunk

Remove per-iteration detached buffer check in %TypedArray% set and sort methods
https://bugs.webkit.org/show_bug.cgi?id=240995

Reviewed by Yusuke Suzuki.

This patch implements the spec changes of tc39/ecma262#2646 and tc39/ecma262#2723:
%TypedArray%.prototype.{set, sort} no longer repeatedly check for detachment as they iterate through a buffer.

  • JSTests/stress/typedarray-functions-with-neutered.js:
  • JSTests/test262/expectations.yaml:
  • LayoutTests/js/typed-array-mutated-during-set.html:
  • LayoutTests/js/typed-array-mutated-during-set-expected.txt:
  • Source/JavaScriptCore/builtins/TypedArrayPrototype.js:

(globalPrivate.typedArrayMerge):
(globalPrivate.typedArrayElementCompare): Deleted.

  • Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h:
  • Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::set):

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

11:23 PM Changeset in webkit [294932] by don.olmstead@sony.com
  • 7 edits
    2 adds in trunk

[Curl] Implement WebSocketTask
https://bugs.webkit.org/show_bug.cgi?id=237579

Reviewed by Alex Christensen.

Implement WebSocketTask for curl platforms. Use the SocketProvider to create the
WebSocketChannel. Update web socket expectations based on the WebSocketTask
implementation.

  • LayoutTests/platform/wincairo/TestExpectations:
  • Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp:
  • Source/WebKit/NetworkProcess/WebSocketTask.h:
  • Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp:
  • Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.h:
  • Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.cpp: Added.
  • Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.h: Added.
  • Source/WebKit/PlatformPlayStation.cmake:
  • Source/WebKit/PlatformWin.cmake:

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

10:47 PM Changeset in webkit [294931] by Chris Dumez
  • 12 edits in trunk/Source

Avoid ElementIdentifier-related work under Element::removedFromAncestor()
https://bugs.webkit.org/show_bug.cgi?id=240932

Reviewed by Darin Adler.

Avoid ElementIdentifier-related work under Element::removedFromAncestor() since it is a
hot function and we want to do as little work as possible in there.

  • Source/WebCore/dom/Document.cpp:

(WebCore::Document::dispatchSystemPreviewActionEvent):
(WebCore::Document::identifierForElement): Deleted.
(WebCore::Document::searchForElementByIdentifier): Deleted.
(WebCore::Document::identifiedElementWasRemovedFromDocument): Deleted.

  • Source/WebCore/dom/Document.h:
  • Source/WebCore/dom/Element.cpp:

(WebCore::Element::removedFromAncestor):
(WebCore::elementIdentifiersMap):
(WebCore::Element::identifier const):
(WebCore::Element::fromIdentifier):
(WebCore::Element::createElementIdentifier): Deleted.

  • Source/WebCore/dom/Element.h:
  • Source/WebCore/dom/Node.h:
  • Source/WebCore/html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::handleClick):

  • Source/WebCore/page/InteractionRegion.cpp:

(WebCore::regionForElement):

  • Source/WebCore/testing/Internals.cpp:

(WebCore::Internals::elementIdentifier const):
(WebCore::Internals::isElementAlive const):

  • Source/WebKit/WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::elementForContext const):
(WebKit::WebPage::contextForElement const):

  • Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::textInputContextsInRect):

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

10:45 PM Changeset in webkit [294930] by Chris Dumez
  • 8 edits
    2 adds in trunk/Source/WebCore

Move some of the work from Element::insertedIntoAncestor() / removedFromAncestor() to subclasses
https://bugs.webkit.org/show_bug.cgi?id=240914

Reviewed by Ryosuke Niwa and Darin Adler.

Move some of the work from Element::insertedIntoAncestor() / removedFromAncestor() to subclasses.
These functions are hot and should be kept as efficient as possible. There is no reason for every
Element to pay run-time cost for checks that only apply to article or label elements.

  • Source/WebCore/Headers.cmake:
  • Source/WebCore/Sources.txt:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/dom/Element.cpp:

(WebCore::Element::insertedIntoAncestor):
(WebCore::Element::removedFromAncestor):

  • Source/WebCore/dom/Element.h:
  • Source/WebCore/html/HTMLArticleElement.cpp: Added.

(WebCore::HTMLArticleElement::create):
(WebCore::HTMLArticleElement::HTMLArticleElement):
(WebCore::HTMLArticleElement::insertedIntoAncestor):
(WebCore::HTMLArticleElement::removedFromAncestor):

  • Source/WebCore/html/HTMLArticleElement.h: Added.
  • Source/WebCore/html/HTMLLabelElement.cpp:

(WebCore::HTMLLabelElement::insertedIntoAncestor):
(WebCore::HTMLLabelElement::removedFromAncestor):

  • Source/WebCore/html/HTMLLabelElement.h:
  • Source/WebCore/html/HTMLTagNames.in:

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

10:20 PM Changeset in webkit [294929] by Ross Kirsling
  • 2 edits in trunk

ArrayBuffer species should be ignored when cloning a Typed Array
https://bugs.webkit.org/show_bug.cgi?id=240996

Reviewed by Yusuke Suzuki.

This patch implements the spec change of tc39/ecma262#2719:
Constructing one Typed Array from another used to require that we check @@species on the source buffer and create
a new ArrayBuffer using the species constructor's *prototype*...without actually calling the species constructor itself.
Happily, this ridiculous behavior turned out to be web-compatible to remove.

  • JSTests/test262/expectations.yaml:
  • Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructCustomArrayBufferIfNeeded): Deleted.

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

8:55 PM Changeset in webkit [294928] by Said Abou-Hallawa
  • 7 edits
    2 adds in trunk

REGRESSION(r289580): Canvas: putImageData sometimes draws nothing
https://bugs.webkit.org/show_bug.cgi?id=240802
rdar://93801722

Reviewed by Simon Fraser.

RemoteImageBufferProxy::putPixelBuffer() needs to setNeedsFlush(true) once the
request to change the backend is sent to GPUProcess. If WebProcess has access to
the ImageBufferBackend, flushDrawingContext() will be called from copyNativeImage().
This call has to wait all DisplayList items and PutPixelBuffer messages to be
flushed to the backend before copyNativeImage() copies the pixels of the backend
to a NativeImage.

  • Source/WebCore/platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::setNeedsFlush):

  • Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:

(WebKit::RemoteDisplayListRecorderProxy::send):
(WebKit::RemoteDisplayListRecorderProxy::resetNeedsFlush): Deleted.
(WebKit::RemoteDisplayListRecorderProxy::needsFlush const): Deleted.
(): Deleted.

  • Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):

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

8:51 PM Changeset in webkit [294927] by achristensen@apple.com
  • 8 edits in trunk

Use _adoptEffectiveConfiguration instead of a separate NSURLSession without credentials
https://bugs.webkit.org/show_bug.cgi?id=240362

Reviewed by Chris Dumez.

This is a PLT performance improvement because we spend less time initiating TCP connections.

  • Source/WTF/wtf/PlatformHave.h:
  • Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:
  • Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::initializeNSURLSessionsInSet):
(WebKit::SessionSet::initializeEphemeralStatelessSessionIfNeeded):
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
(WebKit::NetworkSessionCocoa::appBoundSession):
(WebKit::SessionSet::isolatedSession):
(WebKit::NetworkSessionCocoa::invalidateAndCancelSessionSet):

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/cocoa/HTTPServer.mm:

(TestWebKitAPI::HTTPServer::respondWithChallengeThenOK):

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

7:29 PM Changeset in webkit [294926] by Ross Kirsling
  • 2 edits in trunk/JSTests/test262

Unreviewed test262 gardening, use useArrayGroupByMethod for feature tests
https://bugs.webkit.org/show_bug.cgi?id=240997

  • JSTests/test262/config.yaml:
  • JSTests/test262/expectations.yaml:

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

6:54 PM Changeset in webkit [294925] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.3.4

Tag WebKit-7614.1.14.3.4.

6:51 PM Changeset in webkit [294924] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.3-branch/Source

Versioning.

WebKit-7614.1.14.3.4

6:49 PM Changeset in webkit [294923] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.2.5

Tag WebKit-7614.1.14.2.5.

6:48 PM Changeset in webkit [294922] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.2-branch/Source

Versioning.

WebKit-7614.1.14.2.5

6:47 PM Changeset in webkit [294921] by Alan Coon
  • 8 edits
    2 deletes in branches/safari-7614.1.14.2-branch

Revert r294186. rdar://problem/93213436

This reverts r294697.

6:40 PM Changeset in webkit [294920] by Lauro Moura
  • 4 edits in trunk

[GTK] Deprecate WebKitSettings:enable-java
https://bugs.webkit.org/show_bug.cgi?id=239538

Reviewed by Adrian Perez de Castro and Michael Catanzaro.

250264@main removed the WKPreference entry regarding Java support, which in turn
was dropped long time ago.

  • Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:

(webKitSettingsSetProperty): Do not call deprecated function.
(webKitSettingsGetProperty): Ditto.
(webkit_settings_class_init): Ditto.
(webkit_settings_get_enable_java): Add deprecation warnings.
(webkit_settings_set_enable_java): Add deprecation warnings.

  • Source/WebKit/UIProcess/API/gtk/WebKitSettings.h: Mark functions as

deprecated.

  • Source/WebKit/UIProcess/API/wpe/WebKitSettings.h: Ditto.
  • Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:

(testWebKitSettings): Update for new behavior and remove fatal warning
flag for enable-java block as the warnings are expected.

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

5:58 PM Changeset in webkit [294919] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.12

Tag WebKit-7614.1.14.0.12.

5:57 PM Changeset in webkit [294918] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.13

Tag WebKit-7614.1.14.1.13.

5:56 PM Changeset in webkit [294917] by sbarati@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

Rename putDirect to putDirectOffset
https://bugs.webkit.org/show_bug.cgi?id=240992
<rdar://92298537>

Reviewed by Mark Lam.

  • Source/JavaScriptCore/dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

  • Source/JavaScriptCore/ftl/FTLOperations.cpp:

(JSC::FTL::JSC_DEFINE_JIT_OPERATION):

  • Source/JavaScriptCore/runtime/ClonedArguments.cpp:

(JSC::ClonedArguments::createEmpty):

  • Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:

(JSC::JSC_DEFINE_COMMON_SLOW_PATH):

  • Source/JavaScriptCore/runtime/IteratorOperations.cpp:

(JSC::createIteratorResultObject):

  • Source/JavaScriptCore/runtime/JSONObject.cpp:

(JSC::Walker::walk):

  • Source/JavaScriptCore/runtime/JSObject.cpp:

(JSC::JSObject::setPrototypeDirect):
(JSC::JSObject::putDirectCustomGetterSetterWithoutTransition):
(JSC::JSObject::putDirectNonIndexAccessorWithoutTransition):

  • Source/JavaScriptCore/runtime/JSObject.h:

(JSC::JSObject::putDirectOffset):
(JSC::JSObject::putDirectWithoutBarrier):
(JSC::JSObject::putDirectUndefined): Deleted.

  • Source/JavaScriptCore/runtime/JSObjectInlines.h:

(JSC::JSObject::putDirectWithoutTransition):
(JSC::JSObject::putDirectInternal):

  • Source/JavaScriptCore/runtime/ObjectConstructor.h:

(JSC::constructObjectFromPropertyDescriptor):

  • Source/JavaScriptCore/runtime/RegExpMatchesArray.h:

(JSC::createRegExpMatchesArray):

  • Source/JavaScriptCore/runtime/Structure.cpp:

(JSC::Structure::flattenDictionaryStructure):

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

5:50 PM Changeset in webkit [294916] by Chris Dumez
  • 10 edits in trunk

Make StringView(const char*) private
https://bugs.webkit.org/show_bug.cgi?id=240942

Reviewed by Darin Adler.

Make StringView(const char*) private and update existing call sites
to use either StringView(ASCIILiteral) or StringView::fromLatin1(const char*).

  • Source/WTF/wtf/text/StringView.h:
  • Source/WebCore/platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::isColumnDeclaredAsBlob):

  • Source/WebGPU/WGSL/Parser.cpp:

(WGSL::Parser<Lexer>::parseTypeDecl):

  • Tools/TestWebKitAPI/Tests/WTF/StringParsingBuffer.cpp:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WTF/StringView.cpp:

(TestWebKitAPI::stringViewFromLiteral):

  • Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WebCore/ISOBox.cpp:

(TestWebKitAPI::TEST):

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

5:23 PM Changeset in webkit [294915] by Alan Coon
  • 1 edit in branches/safari-7614.1.14.11-branch/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in

Cherry-pick r294282. rdar://problem/93249176

[macOS] Fix mach syscall sandbox violation in the Network process
https://bugs.webkit.org/show_bug.cgi?id=240466
<rdar://93249176>

Reviewed by Chris Dumez.

Fix mach syscall sandbox violation in the Network process on macOS.

  • Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:

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

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

5:10 PM Changeset in webkit [294914] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.11-branch/Source

Versioning.

WebKit-7614.1.14.11.4

5:05 PM Changeset in webkit [294913] by Alan Coon
  • 22 edits in branches/safari-7614.1.15-branch

Cherry-pick r294897. rdar://problem/93984643

Define WK_NOT_NO in SDKVariant.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=240963
rdar://problem/93984643

Reviewed by Alexey Proskuryakov.

Provide a definition of WK_NOT_NO = YES, so that the $(WK_NOT_$(SOME_BUILD_SETTING)) construction can
be relied upon to produce a result of YES if the original build setting has a value of NO, which shouldn't
be handled substantially different from an empty string.

  • PerformanceTests/MediaTime/Configurations/SDKVariant.xcconfig:
  • Source/JavaScriptCore/Configurations/SDKVariant.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/SDKVariant.xcconfig:
  • Source/ThirdParty/gtest/xcode/Config/SDKVariant.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig:
  • Source/WTF/Configurations/SDKVariant.xcconfig:
  • Source/WebCore/Configurations/SDKVariant.xcconfig:
  • Source/WebCore/PAL/Configurations/SDKVariant.xcconfig:
  • Source/WebGPU/Configurations/SDKVariant.xcconfig:
  • Source/WebInspectorUI/Configurations/SDKVariant.xcconfig:
  • Source/WebKit/Configurations/SDKVariant.xcconfig:
  • Source/WebKitLegacy/mac/Configurations/SDKVariant.xcconfig:
  • Source/bmalloc/Configurations/SDKVariant.xcconfig:
  • Tools/ContentExtensionTester/Configurations/SDKVariant.xcconfig:
  • Tools/DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
  • Tools/ImageDiff/cg/Configurations/SDKVariant.xcconfig:
  • Tools/MiniBrowser/Configurations/SDKVariant.xcconfig:
  • Tools/MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
  • Tools/TestWebKitAPI/Configurations/SDKVariant.xcconfig:
  • Tools/WebEditingTester/Configurations/SDKVariant.xcconfig:
  • Tools/WebKitTestRunner/Configurations/SDKVariant.xcconfig:
  • Tools/lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:

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

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

5:01 PM Changeset in webkit [294912] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Models/CSSProperty.js

REGRESSION (250994@main): inspector/css/css-property.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=240986
<rdar://problem/94001813>

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype._updateName.changeCount):
Don't adjust WI.CSSProperty._cachedNameCounts when updating WI.objectStores.cssPropertyNameCounts
as the latter will not work in LayoutTests (to avoid having to reset state between tests).

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

4:59 PM Changeset in webkit [294911] by Jenner@apple.com
  • 1 edit in trunk/LayoutTests/platform/mac/TestExpectations

[ Gardening ]: New test: [macOS] http/tests/media/hls/hls-webvtt-flashing.html is frequently failing
https://bugs.webkit.org/show_bug.cgi?id=240989

Unreviewed test gardening.

  • LayoutTests/platform/mac/TestExpectations:

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

4:48 PM Changeset in webkit [294910] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.10.8

Tag WebKit-7614.1.14.10.8.

4:47 PM Changeset in webkit [294909] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.8

4:41 PM Changeset in webkit [294908] by Nikos Mouchtaris
  • 2 edits in trunk/LayoutTests/platform

Disable heic tests temporarily
https://bugs.webkit.org/show_bug.cgi?id=240990

Unreviewed test expectation chnage.

  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/mac/TestExpectations:

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

4:41 PM Changeset in webkit [294907] by Patrick Angle
  • 2 edits in trunk/LayoutTests/inspector/debugger/breakpoints

Web Inspector: inspector/debugger/breakpoints/resolved-dump-all-pause-locations.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=239134
rdar://91639437

Reviewed by Devin Rousso.

This test was flaky because the only piece of code in the test keeping the SourceProvider alive for dump-multiline.js
was the function test(), which is replaced by the function test() in the test page itself. This meant that the
function from dump-multiline.js would be garbage collected at some point, and since it was the last possible way to
reach source code in dump-multiline.js, the SourceProvider was also disposed of at the same time.

Normally this would not be an issue for users because the source code itself is still viewable in Web Inspector, and
breakpoints can still be set (and will be triggered after a reload). The issue here is that when we attach Web Inspector
the source code is longer reachable, so the backend doesn't send information for it to the frontend for it (until a page
reload), but this test is assuming the script will have been sent from the backend to associate with the resource.

  • LayoutTests/inspector/debugger/breakpoints/resolved-dump-all-pause-locations-expected.txt:
  • LayoutTests/inspector/debugger/breakpoints/resources/dump-multiline.js:

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

4:13 PM Changeset in webkit [294906] by don.olmstead@sony.com
  • 1 edit in trunk/Source/cmake/OptionsPlayStation.cmake

[CMake][PlayStation] Base find_package checks on whether WebCore is being built
https://bugs.webkit.org/show_bug.cgi?id=240974

Reviewed by Ross Kirsling.

Move any find_package for WebCore libraries under a check for
ENABLE_WEBCORE. Shift the find_package checks to the top of the
file. This will allow us to base ENABLE flags on whether or not a
package is found. Fix a couple style issues while there.

  • Source/cmake/OptionsPlayStation.cmake:

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

3:51 PM Changeset in webkit [294905] by mark.lam@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/runtime/JSCellInlines.h

Re-factoring clean up in allocateCell and tryAllocateCell.
https://bugs.webkit.org/show_bug.cgi?id=240973

Reviewed by Saam Barati.

The AllocationFailureMode should be a template parameter to tryAllocateCellHelper because it's
constant. Also, tryAllocateCellHelper should take a VM& instead of taking a Heap& and then
converting it back to a VM&.

  • Source/JavaScriptCore/runtime/JSCellInlines.h:

(JSC::tryAllocateCellHelper):
(JSC::allocateCell):
(JSC::tryAllocateCell):

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

3:39 PM Changeset in webkit [294904] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex

Add support for flex-shrink
https://bugs.webkit.org/show_bug.cgi?id=240957

Reviewed by Antti Koivisto.

This patch implements a simple "let's shrink the flex items when available space is limited" logic.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForStretchingFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems):

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:

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

3:34 PM Changeset in webkit [294903] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in

[iOS][WP] Block access to file-ioctl commands
https://bugs.webkit.org/show_bug.cgi?id=240977
<rdar://88334007>

Reviewed by Chris Dumez.

This is based on collected telemetry. This patch also adds telemetry to file read/write of /dev/aes_0
to determine if that can be removed as well.

  • Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:

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

3:22 PM Changeset in webkit [294902] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore/rendering

Do not issue repaint when the ancestor layer has already been scheduled for one
https://bugs.webkit.org/show_bug.cgi?id=240728

Reviewed by Simon Fraser.

When a renderer needs repaint, we walk the layer tree to search for the repaint container (root for all the paints).
If we find a layer between the renderer and the repaint container that has already been scheduled for a full repaint
we know that this repaint is redundant and will be covered by the ancestor layer.
Since layers paint their overflow content, this works even when the renderer "sticks out" of the ancestor layer's renderer's border box (i.e. produces ink/scrollable overflow).

  • Source/WebCore/rendering/RenderLayer.cpp:

(WebCore::RenderLayer::enclosingCompositingLayerForRepaint const):
(WebCore::RenderLayer::clipCrossesPaintingBoundary const):
(WebCore::RenderLayer::calculateClipRects const):

  • Source/WebCore/rendering/RenderLayer.h:

(WebCore::RenderLayer::needsFullRepaint const):

  • Source/WebCore/rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::repaintInCompositedAncestor):

  • Source/WebCore/rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint const):
(WebCore::fullRepaintIsScheduled): This covers the cases when the content is embedded inside an iframe and the iframe's view is not composited.
(WebCore::RenderObject::repaint const):
(WebCore::RenderObject::repaintRectangle const):

  • Source/WebCore/rendering/RenderView.cpp:

(WebCore::RenderView::paintBoxDecorations):

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

3:15 PM Changeset in webkit [294901] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp

AX: -Wswitch warnings in AXObjectCacheAtspi.cpp
https://bugs.webkit.org/show_bug.cgi?id=240956

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-26
Reviewed by Adrian Perez de Castro.

  • Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:

(WebCore::AXObjectCache::postPlatformNotification):

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

2:56 PM Changeset in webkit [294900] by Jonathan Bedard
  • 7 edits in trunk/Tools/Scripts/libraries/webkitscmpy

[git-webkit] Use --git-common-dir over hard-coded .git
https://bugs.webkit.org/show_bug.cgi?id=240732
<rdar://93676555>

Reviewed by Dewei Zhu.

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

(Git.Cache.path): Use common_directory instead of .git.
(Git.is_svn): Ditto.
(Git.common_directory): Attempt to determine path to .git directory with
git rev-parse --git-common-dir.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:

(Scm.common_directory): Added.

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

(Svn.Cache.path): Use common_directory instead of .svn.
(Svn.common_directory): Added.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:

(Setup.git): Use common_directory instead of .git.

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

2:31 PM Changeset in webkit [294899] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in

[iOS][GPUP] Block unused system calls
https://bugs.webkit.org/show_bug.cgi?id=240960
<rdar://84826074>

Reviewed by Chris Dumez.

  • Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in:

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

2:29 PM Changeset in webkit [294898] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in

[macOS][GPUP] Block unused system calls
https://bugs.webkit.org/show_bug.cgi?id=240966
<rdar://84826074>

Reviewed by Chris Dumez.

  • Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:

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

2:12 PM Changeset in webkit [294897] by david_quesada@apple.com
  • 22 edits in trunk

Define WK_NOT_NO in SDKVariant.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=240963
rdar://problem/93984643

Reviewed by Alexey Proskuryakov.

Provide a definition of WK_NOT_NO = YES, so that the $(WK_NOT_$(SOME_BUILD_SETTING)) construction can
be relied upon to produce a result of YES if the original build setting has a value of NO, which shouldn't
be handled substantially different from an empty string.

  • PerformanceTests/MediaTime/Configurations/SDKVariant.xcconfig:
  • Source/JavaScriptCore/Configurations/SDKVariant.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/SDKVariant.xcconfig:
  • Source/ThirdParty/gtest/xcode/Config/SDKVariant.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig:
  • Source/WTF/Configurations/SDKVariant.xcconfig:
  • Source/WebCore/Configurations/SDKVariant.xcconfig:
  • Source/WebCore/PAL/Configurations/SDKVariant.xcconfig:
  • Source/WebGPU/Configurations/SDKVariant.xcconfig:
  • Source/WebInspectorUI/Configurations/SDKVariant.xcconfig:
  • Source/WebKit/Configurations/SDKVariant.xcconfig:
  • Source/WebKitLegacy/mac/Configurations/SDKVariant.xcconfig:
  • Source/bmalloc/Configurations/SDKVariant.xcconfig:
  • Tools/ContentExtensionTester/Configurations/SDKVariant.xcconfig:
  • Tools/DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
  • Tools/ImageDiff/cg/Configurations/SDKVariant.xcconfig:
  • Tools/MiniBrowser/Configurations/SDKVariant.xcconfig:
  • Tools/MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
  • Tools/TestWebKitAPI/Configurations/SDKVariant.xcconfig:
  • Tools/WebEditingTester/Configurations/SDKVariant.xcconfig:
  • Tools/WebKitTestRunner/Configurations/SDKVariant.xcconfig:
  • Tools/lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:

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

2:07 PM Changeset in webkit [294896] by don.olmstead@sony.com
  • 1 edit in trunk/Source/WebCore/accessibility/AXObjectCache.h

Fix !ENABLE(ACCESSIBILITY) after r294878
https://bugs.webkit.org/show_bug.cgi?id=240976

Reviewed by Chris Fleizach.

Some methods with AXObjectCache were missing an !ENABLE(ACCESSIBILITY) build.

  • Source/WebCore/accessibility/AXObjectCache.h:

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

1:45 PM Changeset in webkit [294895] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Build with -Wno-stringop-overflow when using GCC
https://bugs.webkit.org/show_bug.cgi?id=240596

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-26
Reviewed by Adrian Perez de Castro.

Also, rearrange and simplify the warning flag code.

And remove suppression of -Wno-attributes, since GCC 8 is everywhere nowadays.

  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • Source/JavaScriptCore/ftl/FTLOSRExit.cpp:

(JSC::FTL::OSRExitDescriptor::prepareOSRExitHandle):

  • Source/WebCore/loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::end):

  • Source/cmake/WebKitCompilerFlags.cmake:

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

1:19 PM Changeset in webkit [294894] by Tyler Wilcock
  • 2 edits in trunk/Source/WebCore/accessibility/isolatedtree

AX: Don't create isolated objects from ignored live objects
https://bugs.webkit.org/show_bug.cgi?id=240507

Reviewed by Chris Fleizach.

Sometimes, we can get into a state where a live object has dynamically
become ignored but not removed as a child from its parent (since
unignored objects are the only thing that should be in any
AccessibilityObject::m_children). This can cause us to create an
isolated object for this ignored live object.

With this change, we now return a std::nullopt NodeChange for an
ignored live object.

I split this change off from a different patch improving our handling of
modals. It is required to make accessibility/aria-modal-multiple-dialogs.html
pass in isolated tree mode.

  • Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::nodeChangeForObject):
(WebCore::AXIsolatedTree::queueRemovalsAndUnresolvedChanges):
(WebCore::AXIsolatedTree::updateNode):

  • Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:

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

1:18 PM Changeset in webkit [294893] by Jonathan Bedard
  • 2 edits in trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy

[git-webkit] Support radar when auto-filing bug
https://bugs.webkit.org/show_bug.cgi?id=240969
<rdar://problem/93989777>

Reviewed by Dewei Zhu.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:

(Branch.main): Handle case where tracker does not have defined credentials.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py:

(TestBranch.test_create_bug): Added.

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

1:06 PM Changeset in webkit [294892] by Alan Coon
  • 1 edit in branches/safari-7614.1.14.1-branch/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm

Cherry-pick r294877. rdar://problem/93834054

Uniform buffer reuse causes flush, creates invalid state
https://bugs.webkit.org/show_bug.cgi?id=240896

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-26
Patch by Kyle Piddington.

Reviewed by Kimmo Kinnunen.

A flush during draw setup would leave the render command encoder
not started and render pipeline unset. This would assert in debug
and leak memory with corrupted draws in release.

This would happen for example when uniform buffer pool would run
out of uniform memory. If the pool is maxed out, we flush the
existing rendering to obtain free buffers. After the flush,
we need to re-run the setup.

Test is tracked in bug 240948.

  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm: (rx::ContextMtl::setupDraw): (rx::ContextMtl::setupDrawImpl):

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

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

1:06 PM Changeset in webkit [294891] by Alan Coon
  • 5 edits in branches/safari-7614.1.14.1-branch/Source/WebKit/UIProcess

Cherry-pick r294831. rdar://problem/93656000

Prevent NSAttributedString crashes when AppSSO URLs are provided
https://bugs.webkit.org/show_bug.cgi?id=240739
<rdar://93656000>

Reviewed by Chris Dumez.

When NSAttributedString is used in a sandboxed app, it is prevented from checking in with the
AppSSO plugin manager, causing a Sandbox Violation and crash. We don't want NSAttributedString
to ever hand-off to AppSSO, so we should configure it's internal WKWebView to do the right thing.
Reviewed by Chris Dumez.

  • Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm: (+[_WKAttributedStringWebViewCache configuration]): Turn off AppSSO for string uses.
  • Source/WebKit/UIProcess/Cocoa/NavigationState.mm: (WebKit::trySOAuthorization): Use new lazy loading approach.
  • Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::trySOAuthorization): Ditto.
  • Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::WebsiteDataStore): (WebKit::WebsiteDataStore::soAuthorizationCoordinator): Lazily initialize, and RELEASE_ASSERT if we somehow reach this code without enabling AppSSO.
  • Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h: (WebKit::WebsiteDataStore::soAuthorizationCoordinator): Deleted.

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

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

1:03 PM Changeset in webkit [294890] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.13

1:02 PM Changeset in webkit [294889] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.12

12:50 PM Changeset in webkit [294888] by Devin Rousso
  • 1 edit in trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm

spurious RELEASE_LOG when creating a WKWebView with an empty frame
https://bugs.webkit.org/show_bug.cgi?id=240959

Reviewed by Tim Horton.

  • Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _recalculateViewportSizesWithMinimumViewportInset:maximumViewportInset:throwOnInvalidInput:]):
Don't RELEASE_LOG (or throw) unless a minimumViewportInset/maximumViewportInset has been specified.

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

12:30 PM Changeset in webkit [294887] by Adrian Perez de Castro
  • 1 edit in releases/WebKitGTK/webkit-2.36/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp

Crash in WebCore::TextureMapperLayer::paintSelf https://bugs.webkit.org/show_bug.cgi?id=240283

Unreviewed merge.

There are 4 cases that can happen after there has been a layerFlush and
we're adopting the new state in the composition stage:

  1. The layer is removed from the tree and the proxy is not assigned to any other layer: the deletion of the layer causes an invalidation of the proxy and both are destroyed afterwards. This works fine.
  1. The layer is removed from the tree and the proxy is reassigned to a new layer: the deletion of the first layer causes the invalidation of the proxy, which is then activated on the second layer. As the first layer is destroyed, we don't have to worry about dangling references from it to the proxy's currentBuffer. This works fine.
  1. The layer is kept in the tree and the proxy gets disassociated from it and not used by any other layer: we detect that the proxy is not used anymore and call invalidate on it, but the layer keeps a reference to the proxy's currentBuffer, which has been deleted during invalidate, which leads to a crash when trying to render the layer.
  1. The layer is kept in the tree and the proxy gets associated to a new layer: as we detect that the proxy is still being used it's not invalidated, but it gets activated on the second layer. The first layer keeps a reference to the proxy's currentBuffer, which will be destroyed a bit later when swapBuffers is called on the proxy. This leads to a crash when trying to render the first layer.

This patch addresses cases 3. and 4. described above.

  • Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp:

(WebCore::TextureMapperPlatformLayerProxyGL::activateOnCompositingThread):
Ensure that the layer no longer keeps a reference to the current buffer if the
proxy is already active on a different layer.
(WebCore::TextureMapperPlatformLayerProxyGL::invalidate): Ensure that
the invalidated layer does not keep a reference to the current buffer.

11:41 AM Changeset in webkit [294886] by Sam Sneddon
  • 10 edits in trunk

Remove resolution media feature dpi/dpcm unit warning
https://bugs.webkit.org/show_bug.cgi?id=240907

Reviewed by Simon Fraser.

  • LayoutTests/fast/media/mq-resolution-dpi-dpcm-warning-expected.txt:
  • LayoutTests/fast/media/mq-resolution-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:
  • LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:
  • Source/WebCore/css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::setMediaQueries):

  • Source/WebCore/css/MediaList.cpp:

(WebCore::addResolutionWarningMessageToConsole): Deleted.
(WebCore::reportMediaQueryWarningIfNeeded): Deleted.

  • Source/WebCore/css/MediaList.h:
  • Source/WebCore/css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::matchMedia):

  • Source/WebCore/css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::parserAppendRule):

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

11:30 AM Changeset in webkit [294885] by Chris Dumez
  • 7 edits in trunk/Source

Drop unnecessary overloads now that StringView(const char*) is explicit
https://bugs.webkit.org/show_bug.cgi?id=240941

Reviewed by Darin Adler.

  • Source/WTF/wtf/text/AtomString.h:
  • Source/WTF/wtf/text/StringImpl.h:

(WTF::StringImpl::find):
(WTF::StringImpl::reverseFind):

  • Source/WTF/wtf/text/StringView.h:
  • Source/WTF/wtf/text/WTFString.h:
  • Source/WebCore/platform/network/HTTPHeaderMap.h:
  • Source/WebCore/platform/network/ResourceRequestBase.h:
  • Source/WebCore/platform/network/ResourceResponseBase.h:

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

11:21 AM Changeset in webkit [294884] by Russell Epstein
  • 9 edits in branches/safari-7614.1.15-branch/Source

Versioning.

WebKit-7614.1.15

11:00 AM Changeset in webkit [294883] by Russell Epstein
  • 1 copy in branches/safari-7614.1.15-branch

New branch.

10:46 AM Changeset in webkit [294882] by Aditya Keerthi
  • 1 edit in trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm

[iOS] Update the presentation style of the photo picker
https://bugs.webkit.org/show_bug.cgi?id=240926
rdar://89670039

Reviewed by Wenson Hsieh.

The photo picker should no longer be displayed as a popover. Instead, let UIKit
decide the modal presentation style.

  • Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel dismiss]):
(-[WKFileUploadPanel _dismissDisplayAnimated:]):
(-[WKFileUploadPanel _showPhotoPickerWithSourceType:]):

Set the presentationController's delegate so that we are informed when the picker
is dismissed by swiping down.

(-[WKFileUploadPanel _presentMenuOptionForCurrentInterfaceIdiom:]): Deleted.

This method was already unused.

(-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]): Deleted.
(-[WKFileUploadPanel popoverControllerDidDismissPopover:]): Deleted.

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

10:25 AM Changeset in webkit [294881] by Fujii Hironori
  • 5 edits in trunk/Source

Cannot link WebKitTestRunner in non-unified builds
https://bugs.webkit.org/show_bug.cgi?id=240755

Reviewed by Adrian Perez de Castro.

In GTK non-unified build, WebKit shared library didn't export all
WEBCORE_EXPORT marked WebCore symbols because WebCore was a static
library.

WebCore should be an SHARED or OBJECT library to work WEBCORE_EXPORT
macro as expected.

  • Source/WebCore/PlatformGTK.cmake:
  • Source/WebCore/page/gtk/DragControllerGtk.cpp:
  • Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

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

9:56 AM Changeset in webkit [294880] by Simon Fraser
  • 1 edit in trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

Incorrect layout on iframe with object-fit
https://bugs.webkit.org/show_bug.cgi?id=240940
<rdar://93188925>

Reviewed by Alan Bujtas.

Don't use replacedContentRect() when positioning iframe content layers, because iframes
don't (yet) respond to object-fit.

  • Source/WebCore/rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::contentsBox const):

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

9:16 AM Changeset in webkit [294879] by commit-queue@webkit.org
  • 2 edits in trunk

[GStreamer][WebRTC] Local/remote ICE candidates stats gathering support
https://bugs.webkit.org/show_bug.cgi?id=240949

Patch by Philippe Normand <philn@igalia.com> on 2022-05-26
Reviewed by Xabier Rodriguez-Calvar.

The corresponding feature was implemented in GStreamer as part of:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998

  • LayoutTests/platform/glib/TestExpectations:
  • Source/WebCore/Modules/mediastream/gstreamer/GStreamerStatsCollector.cpp:

(WebCore::iceCandidateType):
(WebCore::fillRTCCandidateStats):
(WebCore::fillRTCCandidatePairStats):
(WebCore::fillReportCallback):

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

9:01 AM Changeset in webkit [294878] by Andres Gonzalez
  • 10 edits
    2 adds in trunk

AX: Refactor implementation of AX object relationships.
https://bugs.webkit.org/show_bug.cgi?id=240842

Reviewed by Chris Fleizach and Tyler Wilcock.

Test: accessibility/grid-with-aria-owned-cells.html

Relationships between AX objects were being computed by the methods
AccessibilityObject::ariaElementsFromAttribute and
ariaElementsReferencedByAttribute, both of which performed walks of the DOM tree
to match ids between origin and target of a specific relationship, having a
significant performance impact when called repeatedly.
With this patch, these two methods are replaced with a single method,
AccessibilityObject::relatedObjects, that in turn calls
AXObjectCache::relatedObjectsFor. This AXObjectCache method computes and caches
all relationships in one walk of the DoM tree. The cache is updated when
relevant event notifications are received. This makes support of relationships between objects more efficient, and the code clearer.
The test added exercises this implementation of relationships via the aria-owns
attribute to relate table rows to their cells. The execution time of this test
before this change was estimated in one system at about 1.91s, and after the
change was reduced to 1.87s.

  • Source/WebCore/accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::objectsForIDs const):
(WebCore::AXObjectCache::handleActiveDescendantChanged):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::relationAttributes):
(WebCore::AXObjectCache::symmetricRelation):
(WebCore::AXObjectCache::attributeToRelationType):
(WebCore::AXObjectCache::addRelation):
(WebCore::AXObjectCache::updateRelationsIfNeeded):
(WebCore::AXObjectCache::relatedObjectsFor):

  • Source/WebCore/accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::relationsNeedUpdate):

  • Source/WebCore/accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::relatedObjects const):
(WebCore::AccessibilityObject::activeDescendantOfObjects const):
(WebCore::AccessibilityObject::controlledObjects const):
(WebCore::AccessibilityObject::controllers const):
(WebCore::AccessibilityObject::describedByObjects const):
(WebCore::AccessibilityObject::descriptionForObjects const):
(WebCore::AccessibilityObject::detailedByObjects const):
(WebCore::AccessibilityObject::detailsForObjects const):
(WebCore::AccessibilityObject::errorMessageObjects const):
(WebCore::AccessibilityObject::errorMessageForObjects const):
(WebCore::AccessibilityObject::flowToObjects const):
(WebCore::AccessibilityObject::flowFromObjects const):
(WebCore::AccessibilityObject::labelledByObjects const):
(WebCore::AccessibilityObject::labelForObjects const):
(WebCore::AccessibilityObject::ownedObjects const):
(WebCore::AccessibilityObject::owners const):
(WebCore::AccessibilityObject::ariaElementsFromAttribute const): Deleted.
(WebCore::AccessibilityObject::ariaElementsReferencedByAttribute const): Deleted.

  • Source/WebCore/accessibility/AccessibilityObject.h:
  • Source/WebCore/accessibility/AccessibilityObjectInterface.h:

(WebCore::Accessibility::findRelatedObjectInAncestry):

  • Source/WebCore/accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::activeDescendant const):

  • Source/WebCore/accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::columnHeaders):

  • Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::relationMap const):

  • Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]):

  • LayoutTests/accessibility/grid-with-aria-owned-cells-expected.txt: Added.
  • LayoutTests/accessibility/grid-with-aria-owned-cells.html: Added.

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

7:00 AM Changeset in webkit [294877] by commit-queue@webkit.org
  • 1 edit in trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm

Uniform buffer reuse causes flush, creates invalid state
https://bugs.webkit.org/show_bug.cgi?id=240896

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-26
Patch by Kyle Piddington.

Reviewed by Kimmo Kinnunen.

A flush during draw setup would leave the render command encoder
not started and render pipeline unset. This would assert in debug
and leak memory with corrupted draws in release.

This would happen for example when uniform buffer pool would run
out of uniform memory. If the pool is maxed out, we flush the
existing rendering to obtain free buffers. After the flush,
we need to re-run the setup.

Test is tracked in bug 240948.

  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm:

(rx::ContextMtl::setupDraw):
(rx::ContextMtl::setupDrawImpl):

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

5:13 AM Changeset in webkit [294876] by ntim@apple.com
  • 1 delete in trunk/LayoutTests/platform/win/fast/css3-text/css3-text-decoration/getComputedStyle

[Windows] Remove obsolete css3-text-decoration test results
https://bugs.webkit.org/show_bug.cgi?id=240951

Unreviewed test gardening.

  • LayoutTests/platform/win/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line-expected.txt: Removed.
  • LayoutTests/platform/win/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style-expected.txt: Removed.

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

4:40 AM Changeset in webkit [294875] by Tyler Wilcock
  • 9 edits
    4 adds in trunk

AccessibilityTable::m_isExposable is never recomputed after AccessibilityTable::init
https://bugs.webkit.org/show_bug.cgi?id=240750

Reviewed by Andres Gonzalez.

AccessibilityTable::m_isExposable is never recomputed after
AccessibilityTable::init. This is bad because the semantics of table,
and the semantics of the table cells in the table, are dependent on
whether the table is exposed.

With this commit, we recompute m_isExposable when a table's row count
changes. This commit also updates the isolated tree for row count
changes, meaning we handle dynamic aria-rowcount value modifications.

Test: accessibility/table-exposure-updates-dynamically.html.
Also added another testcase to accessibility/aria-table-attributes.html.

  • LayoutTests/accessibility/aria-table-attributes-expected.txt:
  • LayoutTests/accessibility/aria-table-attributes.html: Add testcase.
  • LayoutTests/accessibility/table-exposure-updates-dynamically-expected.txt: Added.
  • LayoutTests/accessibility/table-exposure-updates-dynamically.html: Added.
  • LayoutTests/platform/glib/accessibility/table-exposure-updates-dynamically-expected.txt: Added.
  • LayoutTests/platform/ios/TestExpectations: Enable new test.
  • LayoutTests/platform/ios/accessibility/table-exposure-updates-dynamically-expected.txt: Added.
  • LayoutTests/platform/win/TestExpectations: Disable new test.
  • Source/WebCore/accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::childrenChanged):
(WebCore::AXObjectCache::handleRowCountChanged): Added.
(WebCore::AXObjectCache::handleAriaExpandedChange):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::filterWeakHashSetForRemoval):
(WebCore::AXObjectCache::prepareForDocumentDestruction):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::AXObjectCache::updateIsolatedTree):

  • Source/WebCore/accessibility/AXObjectCache.h:
  • Source/WebCore/accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::recomputeIsExposable): Added.
(WebCore::AccessibilityTable::updateChildrenRoles): Added.
(WebCore::AccessibilityTable::addChildren):

  • Source/WebCore/accessibility/AccessibilityTable.h:
  • Source/WebCore/html/HTMLTablePartElement.h:

Moved findParentTable from protected to public so it can be called from
accessibility code.

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

4:05 AM Changeset in webkit [294874] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp

[GStreamear] DMABufVideoSink can already handle Y41B
https://bugs.webkit.org/show_bug.cgi?id=240946

Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-05-26
Reviewed by Philippe Normand.

In GStreamer-specific DMABufVideoSink, Y41B multi-planar format was listed as
problematic and not included in the list of formats that are supported by
default. In reality, it's handled properly already and works, so it's moved over
to the list of supported formats.

  • Source/WebCore/platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp:

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

1:13 AM Changeset in webkit [294873] by ysuzuki@apple.com
  • 41 edits in trunk

[JSC] Introduce unlinked StructureStubInfo into uDFG
https://bugs.webkit.org/show_bug.cgi?id=240557

Reviewed by Saam Barati.

This patch introduces unlinked StructureStubInfo into uDFG. To make it work, we refactor existing StructureStubInfo mechanism
to make unlinked StructureStubInfo first citizen instead of adhoc code.

  1. JITXXXGenerator takes CompileTimeStructureStubInfo as its argument. It is variant of unlinked / linked StructureStubInfo. And we configure registers etc. in one place. JITXXXGenerator sets necessary fields for each type of StructureStubInfo so we have massive less code in Baseline and uDFG.
  2. DFG::JITCompiler::LinkableConstant takes DFG::JITCompiler instead of DFG::Graph to make code simpler.
  3. Introduce DFG::LinkerIR, which is currently just a constant pool. We will eventually extend it to support many uDFG LinkerIR opcodes.
  4. Clean up some of unused registers in some JITXXXGenerator to make code simpler.
  5. Rename useDataICInOptimizingJIT to useDataICInFTL and use it only for FTL. That flag was used to keep maintaining DataIC in DFG / FTL, and in uDFG case, we already have forceUnlinkedDFG flag.
  • Tools/Scripts/run-jsc-stress-tests:
  • JSTests/microbenchmarks/deltablue-varargs.js:
  • JSTests/microbenchmarks/richards-try-catch.js:
  • Source/JavaScriptCore/bytecode/AccessCase.cpp:

(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):

  • Source/JavaScriptCore/bytecode/CodeBlock.cpp:

(JSC::CodeBlock::setupWithUnlinkedBaselineCode):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::finalizeJITInlineCaches):
(JSC::CodeBlock::getICStatusMap):
(JSC::CodeBlock::findStubInfo):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC::CodeBlock::findPC):
(JSC::CodeBlock::useDataIC const):

  • Source/JavaScriptCore/bytecode/CodeBlock.h:

(JSC::CodeBlock::useDataIC const): Deleted.

  • Source/JavaScriptCore/bytecode/InlineAccess.cpp:

(JSC::InlineAccess::generateSelfPropertyAccess):
(JSC::getScratchRegister):
(JSC::InlineAccess::generateSelfPropertyReplace):
(JSC::InlineAccess::generateArrayLength):
(JSC::InlineAccess::generateStringLength):
(JSC::InlineAccess::generateSelfInAccess):

  • Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp:

(JSC::AccessGenerationState::makeDefaultScratchAllocator):
(JSC::PolymorphicAccess::regenerate):

  • Source/JavaScriptCore/bytecode/PolymorphicAccess.h:

(JSC::AccessGenerationState::AccessGenerationState):

  • Source/JavaScriptCore/bytecode/StructureStubInfo.cpp:

(JSC::slowOperationFromUnlinkedStructureStubInfo):
(JSC::StructureStubInfo::initializeFromUnlinkedStructureStubInfo):
(JSC::StructureStubInfo::initializeFromDFGUnlinkedStructureStubInfo):
(JSC::StructureStubInfo::checkConsistency):

  • Source/JavaScriptCore/bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::StructureStubInfo):
(JSC::StructureStubInfo::valueRegs const):
(JSC::StructureStubInfo::propertyRegs const):
(JSC::StructureStubInfo::baseRegs const):
(JSC::StructureStubInfo::thisValueIsInExtraGPR const):
(JSC::StructureStubInfo::thisGPR const):
(JSC::StructureStubInfo::prototypeGPR const):
(JSC::StructureStubInfo::propertyGPR const):
(JSC::StructureStubInfo::brandGPR const):
(JSC::StructureStubInfo::thisValueIsInThisGPR const): Deleted.

  • Source/JavaScriptCore/dfg/DFGInlineCacheWrapperInlines.h:

(JSC::DFG::InlineCacheWrapper<GeneratorType>::finalize):

  • Source/JavaScriptCore/dfg/DFGJITCode.cpp:

(JSC::DFG::JITData::JITData):

  • Source/JavaScriptCore/dfg/DFGJITCode.h:

(JSC::DFG::LinkerIR::ValueHash::hash):
(JSC::DFG::LinkerIR::ValueHash::equal):
(JSC::DFG::LinkerIR::ValueTraits::emptyValue):
(JSC::DFG::LinkerIR::ValueTraits::constructDeletedValue):
(JSC::DFG::LinkerIR::ValueTraits::isDeletedValue):
(JSC::DFG::LinkerIR::LinkerIR):
(JSC::DFG::LinkerIR::size const):
(JSC::DFG::LinkerIR::at const):
(JSC::DFG::JITData::create):

  • Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::loadConstant):
(JSC::DFG::JITCompiler::LinkableConstant::LinkableConstant):
(JSC::DFG::JITCompiler::addToConstantPool):
(JSC::DFG::JITCompiler::addStructureStubInfo):

  • Source/JavaScriptCore/dfg/DFGJITCompiler.h:
  • Source/JavaScriptCore/dfg/DFGPlan.cpp:

(JSC::DFG::Plan::finalizeJITData):
(JSC::DFG::Plan::addLinkableConstant): Deleted.

  • Source/JavaScriptCore/dfg/DFGPlan.h:
  • Source/JavaScriptCore/dfg/DFGSlowPathGenerator.h:

(JSC::DFG::slowPathICCall):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitGetCallee):
(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::SpeculativeJIT::compileGetById):
(JSC::DFG::SpeculativeJIT::compileGetByIdFlush):
(JSC::DFG::SpeculativeJIT::compileDeleteById):
(JSC::DFG::SpeculativeJIT::compileDeleteByVal):
(JSC::DFG::SpeculativeJIT::compileInById):
(JSC::DFG::SpeculativeJIT::compileInByVal):
(JSC::DFG::SpeculativeJIT::compileHasPrivate):
(JSC::DFG::SpeculativeJIT::compilePushWithScope):
(JSC::DFG::SpeculativeJIT::compileStringSlice):
(JSC::DFG::SpeculativeJIT::compileToLowerCase):
(JSC::DFG::SpeculativeJIT::compileCheckTraps):
(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):
(JSC::DFG::SpeculativeJIT::compilePutByVal):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileFromCharCode):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:
  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::genericJSValueNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileToBooleanObjectOrOther):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compileGetByVal):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileArithRandom):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::genericJSValueNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileCompareEqPtr):
(JSC::DFG::SpeculativeJIT::compileToBooleanObjectOrOther):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitUntypedBranch):
(JSC::DFG::SpeculativeJIT::compileGetByVal):
(JSC::DFG::SpeculativeJIT::compileRegExpTestInline):
(JSC::DFG::SpeculativeJIT::compile):

  • Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::getPrivateName):
(JSC::FTL::DFG::LowerDFGToB3::compilePrivateBrandAccess):
(JSC::FTL::DFG::LowerDFGToB3::compilePutPrivateName):
(JSC::FTL::DFG::LowerDFGToB3::cachedPutById):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByValImpl):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileDelBy):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • Source/JavaScriptCore/ftl/FTLState.cpp:

(JSC::FTL::State::addStructureStubInfo):

  • Source/JavaScriptCore/ftl/FTLState.h:
  • Source/JavaScriptCore/jit/BaselineJITCode.h:
  • Source/JavaScriptCore/jit/BaselineJITRegisters.h:
  • Source/JavaScriptCore/jit/GPRInfo.h:

(JSC::JSValueRegs::gpr const):
(JSC::JSValueRegs::JSValueRegs):
(JSC::JSValueRegs::withTwoAvailableRegs):

  • Source/JavaScriptCore/jit/IntrinsicEmitter.cpp:

(JSC::IntrinsicGetterAccessCase::canEmitIntrinsicGetter):

  • Source/JavaScriptCore/jit/JIT.cpp:

(JSC::JIT::addUnlinkedStructureStubInfo):
(JSC::JIT::link):

  • Source/JavaScriptCore/jit/JIT.h:
  • Source/JavaScriptCore/jit/JITCall.cpp:

(JSC::JIT::emit_op_iterator_open):
(JSC::JIT::emit_op_iterator_next):

  • Source/JavaScriptCore/jit/JITCode.h:

(JSC::JITCode::useDataIC): Deleted.

  • Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp:

(JSC::JITInlineCacheGenerator::JITInlineCacheGenerator):
(JSC::JITInlineCacheGenerator::finalize):
(JSC::JITInlineCacheGenerator::generateDFGDataICFastPath):
(JSC::JITInlineCacheGenerator::generateBaselineDataICFastPath):
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITByIdGenerator::finalize):
(JSC::JITByIdGenerator::generateFastCommon):
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
(JSC::JITGetByIdGenerator::generateFastPath):
(JSC::JITGetByIdGenerator::generateBaselineDataICFastPath):
(JSC::JITGetByIdGenerator::generateDFGDataICFastPath):
(JSC::JITGetByIdWithThisGenerator::JITGetByIdWithThisGenerator):
(JSC::JITGetByIdWithThisGenerator::generateFastPath):
(JSC::JITGetByIdWithThisGenerator::generateBaselineDataICFastPath):
(JSC::JITGetByIdWithThisGenerator::generateDFGDataICFastPath):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
(JSC::JITPutByIdGenerator::generateBaselineDataICFastPath):
(JSC::JITPutByIdGenerator::generateDFGDataICFastPath):
(JSC::JITPutByIdGenerator::generateFastPath):
(JSC::JITDelByValGenerator::JITDelByValGenerator):
(JSC::JITDelByValGenerator::generateFastPath):
(JSC::JITDelByValGenerator::finalize):
(JSC::JITDelByIdGenerator::JITDelByIdGenerator):
(JSC::JITDelByIdGenerator::generateFastPath):
(JSC::JITDelByIdGenerator::finalize):
(JSC::JITInByValGenerator::JITInByValGenerator):
(JSC::JITInByValGenerator::generateFastPath):
(JSC::JITInByValGenerator::finalize):
(JSC::JITInByIdGenerator::JITInByIdGenerator):
(JSC::JITInByIdGenerator::generateFastPath):
(JSC::JITInByIdGenerator::generateBaselineDataICFastPath):
(JSC::JITInByIdGenerator::generateDFGDataICFastPath):
(JSC::JITInstanceOfGenerator::JITInstanceOfGenerator):
(JSC::JITInstanceOfGenerator::generateFastPath):
(JSC::JITInstanceOfGenerator::finalize):
(JSC::JITGetByValGenerator::JITGetByValGenerator):
(JSC::JITGetByValGenerator::generateFastPath):
(JSC::JITGetByValGenerator::finalize):
(JSC::JITPutByValGenerator::JITPutByValGenerator):
(JSC::JITPutByValGenerator::generateFastPath):
(JSC::JITPutByValGenerator::finalize):
(JSC::JITPrivateBrandAccessGenerator::JITPrivateBrandAccessGenerator):
(JSC::JITPrivateBrandAccessGenerator::generateFastPath):
(JSC::JITPrivateBrandAccessGenerator::finalize):

  • Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:

(JSC::JITInlineCacheGenerator::setUpStubInfoImpl):
(JSC::JITByIdGenerator::setUpStubInfoImpl):
(JSC::JITInByValGenerator::setUpStubInfo):

  • Source/JavaScriptCore/jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_instanceof):

  • Source/JavaScriptCore/jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_get_private_name):
(JSC::JIT::emit_op_set_private_brand):
(JSC::JIT::emit_op_check_private_brand):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emit_op_put_private_name):
(JSC::JIT::emit_op_del_by_id):
(JSC::JIT::emit_op_del_by_val):
(JSC::JIT::emit_op_try_get_by_id):
(JSC::JIT::emit_op_get_by_id_direct):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_get_by_id_with_this):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emit_op_in_by_val):
(JSC::JIT::emitHasPrivate):
(JSC::JIT::emit_op_enumerator_get_by_val):

  • Source/JavaScriptCore/runtime/OptionsList.h:
  • Source/WTF/wtf/CompactPointerTuple.h:

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

Note: See TracTimeline for information about the timeline view.