Skip to content
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
268 commits
Select commit Hold shift + click to select a range
10c13e9
[JSC] Refine clobberize rule for ObjectCreate
sosukesuzuki Apr 25, 2026
bfab895
[JSC] Add `emitBytecodeInConditionContext` for optional chaining
sosukesuzuki Apr 25, 2026
fac0cb3
[Site Isolation] Replace parentFrameSecurityOrigin with precomputed b…
atar13 Apr 25, 2026
93f39b4
marketwatch.com: Tapping the “share” button causes the media controls…
sammygill Apr 25, 2026
93bc07f
Use protect() instead of Ref { } in permissions, highlight, and webau…
ruthvikkonda Apr 25, 2026
82c23c3
[Site Isolation] http/tests/security/frameNavigation/not-opener.html …
atar13 Apr 25, 2026
bf720cf
[JSC] Adopt truncate-double-to-int infrastructure more in ArrayProtot…
tetsuharuohzeki Apr 25, 2026
f6d1b6e
[JSC] Produce flat string from `padStart` / `padEnd` for short results
sosukesuzuki Apr 25, 2026
4c22d31
Use UTR#50 Vertical_Orientation for SVG glyph-orientation-vertical: auto
Ahmad-S792 Apr 25, 2026
edcf5f3
[GFC][Cleanup] Add a struct to aggregate data associated with a grid …
sammygill Apr 25, 2026
1fb5ba8
innerText should not emit newlines for visibility:hidden block elements
cdumez Apr 25, 2026
90e427e
[Swift in WebKit] Apply formatting/linting to Tools/TestWebKitAPI
rr-codes Apr 25, 2026
57b25bb
[Site Isolation] http/tests/navigation/redirect-preserves-fragment.ht…
rniwa Apr 25, 2026
f3816fe
Harden NSDraggingItem creation in WebViewImpl::startDrag.
megangardner Apr 25, 2026
9e7125f
Unreviewed gardening
csaavedra Apr 25, 2026
ce921a9
Add test to show that we properly begin at the top of the document tr…
megangardner Apr 25, 2026
c417392
[Site isolation] Swiping over scrollable web content in cross-origin …
lilyspiniolas Apr 25, 2026
05f145f
Event's target can get its JS wrapper GC'ed
rniwa Apr 25, 2026
38a0bdf
Resync `svg` from WPT Upstream
Ahmad-S792 Apr 25, 2026
a3c1d3b
Fix wheel event handling in WPEQtView
tusooa Apr 25, 2026
d4ee79d
REGRESSION (311908@main): Autoplay button in YouTube controls is misp…
alanbaradlay Apr 25, 2026
71b6443
Update state of WPEToplevelQtQuick when window state changes
tusooa Apr 25, 2026
5e3085d
Remove unused CSS/Style PropertyIdentifier types
weinig Apr 25, 2026
6c0e1dc
[AppKit Gestures] Support gesture recognizer-initiated drag sessions
aprotyas Apr 25, 2026
2a76b69
AX: VoiceOver cannot position the focus ring correctly element is bei…
twilco Apr 26, 2026
9bf4fb6
REGRESSION(290385@main - 290390@main?): [ wk2 arm64 ] imported/w3c/we…
rniwa Apr 26, 2026
49694dd
[CSS Calc] sibling-index() and sibling-count() should set requiresCon…
Ahmad-S792 Apr 26, 2026
b7e777f
[Site Isolation] http/tests/navigation/redirect-to-fragment.html and …
rniwa Apr 26, 2026
e12a52d
[Site Isolation] http/tests/security/XFrameOptions/x-frame-options-ig…
rniwa Apr 26, 2026
5da32d9
[JSC] Lazily resolve default calendar / numberingSystem in Intl const…
sosukesuzuki Apr 26, 2026
5878eac
[AppKit Gestures] Gesture recognizer driven inputs can stop working a…
aprotyas Apr 26, 2026
0ae1849
[Site Isolation] fast/events/before-unload-navigate-different-window.…
rniwa Apr 26, 2026
ee5f807
Sequential focus navigation should not move focus between elements wi…
Ahmad-S792 Apr 26, 2026
d1ec7b5
[JSC] Remove createSuppressedError builtin
Constellation Apr 26, 2026
8fb99af
Resync `css/filter-effects` from WPT Upstream
Ahmad-S792 Apr 26, 2026
008ce40
[JSC] OMG should only emit WasmBoundsCheck overflow guard for Int64 p…
sosukesuzuki Apr 26, 2026
21ec347
[iOS] Create event regions for dblclick
lilyspiniolas Apr 26, 2026
e76b2a2
[Gardening]: REGRESSION(310272@main): [Tahoe] imported/w3c/web-platfo…
karlrackler Apr 26, 2026
a776836
[GLIB] Fix flaky test fast/repaint/backgroundSizeRepaint.html
dpino Apr 26, 2026
f984a04
[Gardening]: REGRESSION(310272@main): [Tahoe] imported/w3c/web-platfo…
karlrackler Apr 26, 2026
5dbb3ad
Resync `css/css-scroll-snap` from from WPT Upstream
smfr Apr 26, 2026
78682e8
[JSC] Avoid per-edge ModuleLoaderPayload allocation in graph loading
sosukesuzuki Apr 26, 2026
6fde2fd
[Gardening]: REGRESSION(311771@main): [Tahoe] media/media-vp8-webm-wi…
karlrackler Apr 26, 2026
689ebe5
[WebGPU] device.onuncapturederror = ... does not work
mwyrzykowski Apr 26, 2026
0c84b51
[Site Isolation] http/tests/websocket/tests/hybi/contentextensions/up…
rniwa Apr 26, 2026
afaad74
[Site Isolation] webarchive/loading/test-loading-archive.html fails
rniwa Apr 26, 2026
a413796
Synchronize WPT html/semantics/embedded-content
annevk Apr 26, 2026
64a80d8
[Site Isolation] editing/execCommand/delete-no-scroll.html fails
rniwa Apr 26, 2026
b6083e9
[Site Isolation] animations/animation-multiple-callbacks-timestamp.ht…
rniwa Apr 26, 2026
a340e58
setAutomaticLinkDetection not working in WebKit2
rniwa Apr 26, 2026
3792899
[Site Isolation] js/dom/dfg-inline-resolve.html fails
rniwa Apr 26, 2026
d3fea49
[Site Isolation] editing/pasteboard/copy-text-from-uneditable-element…
rniwa Apr 26, 2026
ed753c5
[Site Isolation] http/tests/workers/service/postmessage-after-sw-proc…
rniwa Apr 26, 2026
5fcd169
[Site Isolation] editing/undo/undo-with-disconnected-editable-element…
rniwa Apr 26, 2026
c06ceeb
[Gardening]: [Sequoia+] imported/w3c/web-platform-tests/media-source/…
karlrackler Apr 26, 2026
58c70eb
stroke-dasharray interpolation should use LCM for list length matching
Ahmad-S792 Apr 27, 2026
9323616
REGRESSION (304469@main): WTR::supportedAttributes() leaks NSMutableA…
Apr 27, 2026
fd0db67
[WTF] Fix crash in utf8ForCharacters when string ends with unpaired s…
kmonsen Apr 27, 2026
c5b4561
[Site Isolation] Clear CORS preflight cache between tests
rniwa Apr 27, 2026
e98d7d8
Handle MessagePort messages in FIFO order
annevk Apr 27, 2026
007d79c
[TestWebKitAPI] Remove Embed Frameworks phase from TestWGSL target
Apr 27, 2026
0f86f54
Fix FileSystemDirectoryHandle's resolve()
annevk Apr 27, 2026
9bed770
[Site Isolation] http/tests/xmlhttprequest/abort-should-cancel-load.h…
rniwa Apr 27, 2026
6ee2ef3
[Site Isolation] http/wpt/html/browsers/browsing-the-web/navigating-a…
rniwa Apr 27, 2026
edf0a92
[Site Isolation] editing/inserting/insert-list-then-edit-command-cras…
rniwa Apr 27, 2026
163e3c0
[Swift Testing] Make it easy to allow a WebPage to access web process…
rr-codes Apr 27, 2026
9c49484
[GTK][WPE] Skia Compositor: Make *ForChildren transforms transient
zhani Apr 27, 2026
0677ffb
Linux Swift build fixes
adetaylor Apr 27, 2026
8e98c46
Remove accidentally committed file from 312065@main
rr-codes Apr 27, 2026
84a17ea
SkiaCompositingLayer: clip rect should take the accumulated replica t…
fujii Apr 27, 2026
5c4b430
[Swift Testing] Make it easy to allow a WebPage to get and set select…
rr-codes Apr 27, 2026
1d5da19
CoordinatedPlatformLayer::invalidateTarget should be called before de…
fujii Apr 27, 2026
59e1343
[WebXR][OpenXR] Support Equirect layer
svillar Apr 27, 2026
a49dbdc
[GTK] fast/forms/placeholder-content-line-height.html is failing
dpino Apr 27, 2026
d18deb3
[CMake] Enable AV1 codec support on the macOS port
zakariaridouh Apr 27, 2026
791f050
[GLib] Remove version check in soup/WebKitDirectoryInputStream.cpp
aperezdc Apr 27, 2026
e51899f
[GTK][WPE] Skia Compositor: use SkBlendMode::kSrc when copying dirty …
carlosgcampos Apr 27, 2026
429c0af
[GTK][WPE] REGRESSION(312071@main): ASSERTION FAILED: !m_target in ~C…
fujii Apr 27, 2026
70bdcef
[CoordinatedGraphics] Replace bit-shifted Change enum in CoordinatedP…
nikolaszimmermann Apr 27, 2026
c04c110
Unreviewed, reverting 312070@main (5c4b4308307b)
karlrackler Apr 27, 2026
b55bdc1
Accept anchor-* as aliases of anchors-* in position-visibility
fantasai Apr 27, 2026
47f6224
Fix imported/w3c/web-platform-tests/css/css-sizing/inline-intrinsic-s…
alanbaradlay Apr 27, 2026
78d320c
BFC with margin-start overlaps adjacent float
alanbaradlay Apr 27, 2026
9b61fa3
Float with margin-start overlaps adjacent float
alanbaradlay Apr 27, 2026
2d2f202
Fix imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block…
alanbaradlay Apr 27, 2026
957846b
Fix imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-…
alanbaradlay Apr 27, 2026
6027938
Fix imported/w3c/web-platform-tests/css/css-sizing/stretch/stretch-bl…
alanbaradlay Apr 27, 2026
791b1c7
[macOS] Restrict sandbox access to file-clone in Networking process a…
pvollan Apr 27, 2026
b02f885
[macOS] Limit some sandbox read accesses to internal builds
pvollan Apr 27, 2026
d113109
Fix subtest leak in fast/selectors/has-invalidation-traversal-size.html
anttijk Apr 27, 2026
61e2280
[LBSE] Cache local transform for non-layered SVG elements
rwlbuis Apr 27, 2026
b5484e5
style checker fails with PNG files
karlcow Apr 27, 2026
0ae02b1
Fix Fetch 301 & 302 redirect behavior
annevk Apr 27, 2026
6176517
AX: ownerParentObject() shows up heavily in samples on Speedometer de…
twilco Apr 27, 2026
3b8f247
[TestWebKitAPI] Use framework-style include for WebCoreTestSupport.h
Apr 27, 2026
451e583
[GLIB] Gardening for April 27th 2026
csaavedra Apr 27, 2026
03415ef
[GLIB] Skip IPC tests expected to timeout/crash
csaavedra Apr 27, 2026
00db8e1
Drummer model on various sites has its wind-up key become invisible a…
mwyrzykowski Apr 27, 2026
99f9751
Model stops spinning when leaving and returning to the tab
mwyrzykowski Apr 27, 2026
534592e
Resize handle doesn't work on iframe container when handle overlaps i…
alanbaradlay Apr 27, 2026
9147d34
[model] Correct framework checks
mwyrzykowski Apr 27, 2026
475a14f
[JSC][JSPI] Change the signing scheme of return PCs in EvacuatedStack…
ast-hugger Apr 27, 2026
3cce849
Versioning. WebKit-7625.1.16
Apr 27, 2026
108882f
[:has() perf] Remove separate handling of scope breaking selectors
anttijk Apr 27, 2026
24b39d1
[Gardening][iOS] REGRESSION(4/9/2026?): fast/backgrounds/background-r…
diegodelatoba Apr 27, 2026
3e6353a
[Gardening]REGRESSION:(311911@main) [macOS]fonts/font-cache-memory-pr…
diegodelatoba Apr 27, 2026
9b4359d
Adopt LIFETIME_BOUND in the downcast family of functions
geoffreygaren Apr 27, 2026
942019b
Unified sources build fix
pxlcoder Apr 27, 2026
ba1f174
Aspect-ratio automatic minimum should not override flex/grid stretch …
alanbaradlay Apr 27, 2026
ba55759
Fixed the CMake Swift build with recent toolchains
geoffreygaren Apr 27, 2026
b4245e1
[CMake] Adopt -gsimple-template-names and -dwarf-linkage-names=Abstract
geoffreygaren Apr 27, 2026
e14f985
[JSC] Move symbolHasInstance to C++
Constellation Apr 27, 2026
370fcab
[JSC] Remove @isArraySlow
Constellation Apr 27, 2026
2a5614a
Revert accidentally committed file
geoffreygaren Apr 27, 2026
08d2ef1
[AppKit Gestures] Gesture recognizer driven drag operations can not c…
aprotyas Apr 27, 2026
a91d8f8
[Site Isolation] Make typing work on iOS
RupinMittal Apr 27, 2026
d4029d5
[Build Speed] Fix compilation issues in JSC headers
jernoble Apr 27, 2026
f9b3622
Use protect() instead of RefPtr { } in ServiceWorkerGlobalScope, XMLH…
jelee53 Apr 27, 2026
9070da9
[TSan] GlyphPage::s_count: use std::atomic for the debug counter
DanBlackwell Apr 27, 2026
ec0f666
sports.yahoo.com: volume slider baseline is incorrect and it is bit b…
J0pan Apr 27, 2026
20621fe
Replace logging instances in HTMLMediaElement.cpp with the more effic…
pvollan Apr 27, 2026
41ae266
[JSC] Codegen: emit basenames, not absolute paths, in "generated from…
sheeparegreat Apr 27, 2026
04c5285
[Site Isolation] http/tests/misc/willCacheResponse-delegate-callback.…
rniwa Apr 27, 2026
935f187
[Site Isolation] http/tests/navigation/cross-origin-navigation-fires-…
rniwa Apr 27, 2026
ea23208
[Site Isolation] Rename focusedLocalFrame to localFocusedFrame
RupinMittal Apr 27, 2026
1689358
Allow the api test parallel allowlist to accept test names individually
Smackteo Apr 27, 2026
fe27944
[Site Isolation] http/tests/navigation/cross-site-iframe-nav.html fails
rniwa Apr 27, 2026
4337048
[JSC] Add Map / Set fast iteration
Constellation Apr 27, 2026
d2ad355
TestWebKitAPI.ResourceLoadStatistics.EnableResourceLoadStatisticsAfte…
Apr 27, 2026
042fe2f
[CMake] Add mac-dev-debug-o3 preset
Constellation Apr 27, 2026
daecd76
Assert in processLineBreakingResult when line-start-prohibited charac…
alanbaradlay Apr 27, 2026
ced4457
REGRESSION(312044@main): [macOS] http/tests/websocket/tests/hybi/cont…
rniwa Apr 27, 2026
f69c4f5
[WTF] Use worklist for WTF::Liveness
Constellation Apr 27, 2026
1fa52a4
Haiku upstreaming; WebCore part 1
pulkomandy Apr 27, 2026
38b6ce2
Expand :is()/:where() optimization beyond tag selectors
nipunshukla21 Apr 27, 2026
6bd5ef4
Remove redundant set of sandbox extensions in NetworkResourceLoadPara…
pvollan Apr 27, 2026
3d3f476
[JSC] Delay intlAvailableTimeZoneIndex initialization as normal IANA …
Constellation Apr 27, 2026
d9d2138
[CMake] Export ShareableCVPixelBuffer headers as WebCore framework he…
sheeparegreat Apr 27, 2026
0e0e65c
[libpas] Upgrade to gnu++23
Achierius Apr 27, 2026
5a8b1e3
Add preliminary cursor shape support for WPEQtView
tusooa Apr 27, 2026
f84460b
API::PageConfiguration::Data::LazyInitializedRef wastefully initializ…
brentfulgham Apr 27, 2026
a405f8c
Unified sources build fix
pxlcoder Apr 27, 2026
5a08617
`eventTypeForEventListenerType` has incorrect mappings for `mousemove…
lilyspiniolas Apr 27, 2026
5b2f95f
Enable touch and dblclick event regions on iOS-family regardless of SDK
lilyspiniolas Apr 27, 2026
61a8875
[JSC] Add JSFullPromiseReaction and JSSlimPromiseReaction
Constellation Apr 27, 2026
aa6c00c
[JSC] Inline tight loop of String#localeCompare in FTL
Constellation Apr 27, 2026
9f66695
[CMake] Add cmake-build-analysis for ninja whole-build profiling
sheeparegreat Apr 27, 2026
823d636
REGRESSION(311538@main): Unreviewed, skip tests again
Constellation Apr 27, 2026
c1bdc51
[TSan] ANGLE: emitMetalCallCount should be std::atomic
DanBlackwell Apr 27, 2026
41727b0
[CMake] swiftc-wrapper: translate -fsanitize=* to -sanitize=*
sheeparegreat Apr 27, 2026
a44ee72
[CMake] Add generate-cmake-vscode-project-macos for the cmake-mac build
sheeparegreat Apr 27, 2026
1d70b35
Make fullscreen quirk clearer about what it does
annevk Apr 27, 2026
5ade7c0
[JSC] Remove the overload of printInternal() for JSC::ConstraintVolat…
ast-hugger Apr 27, 2026
0d7053c
Introduced UnbarrieredMonotonicTime.
Apr 27, 2026
ebaadb2
[CMake] Follow-up on -gsimple-template-names: Use WEBKIT_PREPEND_GLOB…
geoffreygaren Apr 27, 2026
723db2e
[CMake] Match the Xcode build's approach to bmalloc/WTF/JSC
geoffreygaren Apr 27, 2026
c2419dc
WebGL: Some texImage functions use incorrect name when reporting errors
kkinnunen-apple Apr 27, 2026
3b911b2
[CMake] Don't relink WebKit when relinking WebCore (or either when re…
geoffreygaren Apr 28, 2026
df46e3a
[Site Isolation] SessionStorage message from cross-site frame fails s…
szewai Apr 28, 2026
b1b0e82
REGRESSION(311624@main): LLIntAssembly.h:189:54: error: use of undecl…
cdumez Apr 28, 2026
1af18a1
[Site Isolation] CSP violation reports not sent for frame-ancestors v…
roberto-apple Apr 28, 2026
70e442b
REGRESSION(311771@main): [Tahoe] media/media-vp8-webm-with-preload.ht…
jyavenard Apr 28, 2026
7f42431
Make LayoutTests/fast/repaint/line-flow-* tests runnable outside WebK…
heycam Apr 28, 2026
33ff124
Remove WPT file-system-access
annevk Apr 28, 2026
4476b09
[CMake][Mac] Fail configure if an ASan build dir is reconfigured with…
sheeparegreat Apr 28, 2026
dc829e1
[CMake][Mac] WebKitTestRunner/TestWebKitAPI/TestIPC fail to link: WTF…
sheeparegreat Apr 28, 2026
2a0052e
[Mac] Add support for screen reserved
jernoble Apr 28, 2026
16ecd5c
Re-land [Swift Testing] Make it easy to allow a WebPage to get and se…
rr-codes Apr 28, 2026
afc2f0f
[CMake][Mac] WebGPU framework fails to link: missing CoreGraphics and…
sheeparegreat Apr 28, 2026
0a2872f
innerText should emit blank lines around <p> elements regardless of C…
cdumez Apr 28, 2026
3d8f24e
[Site Isolation] http/wpt/service-workers/third-party-registration.ht…
rniwa Apr 28, 2026
65f1f3b
[Site Isolation] http/tests/security/mixedContent/redirect-https-to-h…
rniwa Apr 28, 2026
00845d9
git-webkit create-bug --see-also causes cc_radar() to prompt about ov…
Apr 28, 2026
c8e987c
Add WebKitAdditions hook for TestWebKitAPILibrary
rr-codes Apr 28, 2026
07fca8a
[Site Isolation] http/tests/security/XFrameOptions/x-frame-options-ig…
atar13 Apr 28, 2026
c53a7f9
Create WKRBSAssertion subclass of RBSAssertion to prevent missing inv…
RupinMittal Apr 28, 2026
3086207
[GStreamer][glib] Fix GRefPtr adaptations
calvaris Apr 28, 2026
0f476df
Leak due to retain cycle between LibWebRTCRtp{Sender,Receiver}Transfo…
Apr 28, 2026
29826ed
[Media Testing] Add MP4 file generator to media-source layout tests a…
jernoble Apr 28, 2026
c479f0f
(REGRESSION): 9 imported/w3c/web-platform-tests/html/dom/elements/req…
vitorroriz Apr 28, 2026
856e446
WebGL: compressedTexImage does not check if the texture format has be…
kkinnunen-apple Apr 28, 2026
3ea8ec0
[Site Isolation] http/wpt/clear-site-data/partitioning.html fails
rniwa Apr 28, 2026
be6e7f7
[Skia][GBM] Use gbm_bo_map() fallback when gbm_bo_get_fd_for_plane() …
nikolaszimmermann Apr 28, 2026
703ce78
fonts/font-cache-memory-pressure-crash.html is treated as binary by git
cdumez Apr 28, 2026
466ee71
[Build Speed] Group together source files requiring RenderStyle+Gette…
jernoble Apr 28, 2026
2c58221
Make EventTarget::opaqueRoot and Node::opaqueRoot out-of-line
rniwa Apr 28, 2026
a50da55
REGRESSION(309943@main): Drag-and-drop preview does not lift from cor…
aprotyas Apr 28, 2026
c529c61
Make AudioNode's ref-counting thread-safe
cdumez Apr 28, 2026
ee9f80f
[WebXR Layers] Refactor the composition layers code
svillar Apr 28, 2026
6ff991b
[GStreamer][Rice] Flaky crash in `rice_proto::conncheck::ConnCheckLis…
philn Apr 28, 2026
056c4c5
[GStreamer] 3 new failures on MVT tests hls-hlsjs-test/HLS_FMP4_MP3 a…
ntrrgc Apr 28, 2026
761084d
New Test(294043@main): [ iOS Debug ] ipc/invalid-addSourceBuffer-to-G…
csaavedra Apr 28, 2026
404e188
REGRESSION:(311911@main) [macOS]fonts/font-cache-memory-pressure-cras…
cdumez Apr 28, 2026
ddc0a2f
Fix FileSystemDirectoryHandle's removeEntry()
annevk Apr 28, 2026
2fea5de
[GTK][WPE] Skia Compositor: handle empty clip path in mask layers
carlosgcampos Apr 28, 2026
1bcdb2f
Import service worker registrations lazily, one top-level origin at a…
cdumez Apr 28, 2026
253f33f
ImageCapture: queue takePhoto() and applyConstraints() to avoid concu…
eric-carlson Apr 28, 2026
343e13b
Fix imported/w3c/web-platform-tests/css/css-tables/absolute-tables-00…
alanbaradlay Apr 28, 2026
e611c7f
CryptoAlgoritmHKDFOpenSSL: fix OpenSSL3 compatibility function
pulkomandy Apr 28, 2026
e211768
[Site Isolation] Document::isSecureContext ignores RemoteFrame ancestors
atar13 Apr 28, 2026
a888adc
Fix use-after-move in Storage::storeBodyAsBlob()
cdumez Apr 28, 2026
67fc22e
WKMouseTrackingObserver should do a hit test before forwarding mouse …
danae404 Apr 28, 2026
36c3761
Improve libatomic test in WebKitCompilerFlags.cmake
bertogg Apr 28, 2026
a24949c
Unreviewed, reverting 312184@main (466ee713fc9c)
JonWBedard Apr 28, 2026
4ab1c5a
Fix imported/w3c/web-platform-tests/css/css-tables/absolute-tables-01…
alanbaradlay Apr 28, 2026
f55db8d
After spending some time on a page, web content hangs forcing page re…
nipunshukla21 Apr 28, 2026
21ca921
Flex container baseline should be clamped to border edge for scroll c…
Ahmad-S792 Apr 28, 2026
dfd0483
Fix incorrect nesting of m_glyphsWithComplexColorFormat reset.
fantasai Apr 28, 2026
f08993f
LayoutTest streams/pipe-to.html is a flaky failure
brentfulgham Apr 28, 2026
ada244d
IPC values to createModel are not validated
mwyrzykowski Apr 28, 2026
576dd92
updateOriginData should avoid updating result if input is empty
szewai Apr 28, 2026
ce1c5b0
REGRESSION(305413.31@safari-7624-branch): Broke editing/pasteboard/im…
xeenon Apr 28, 2026
9e45d72
[Site Isolation] prefers-color-scheme doesn't see color-scheme from p…
tuankiet65 Apr 28, 2026
91912cb
Use protect() instead of Ref { } in reporting and remoteplayback code
ruthvikkonda Apr 28, 2026
9f4deff
Use protect() instead of Ref { } in notifications code
ruthvikkonda Apr 28, 2026
24f1e6d
Use protect() instead of Ref { } in push-api code
ruthvikkonda Apr 28, 2026
7e49a67
Make CleanGitRepo robust against stale git lock files left by interru…
aj062 Apr 28, 2026
21b295c
[Gardening]: [macOS Debug] ASSERTION FAILED: !m_loggingLevel virtual …
martadarbinyan Apr 28, 2026
0e74ad9
[libpas] Clean up Windows implementation
Constellation Apr 28, 2026
8c8ff06
Use protect() instead of Ref { } in storage and speech code
ruthvikkonda Apr 28, 2026
8af021f
[JSC] More aligning module loader to the spec
Constellation Apr 28, 2026
45d24e3
[:has()] Fix failures in css/selectors/invalidation/has-invalidation-…
anttijk Apr 28, 2026
cfb69a9
[CMake] Set --std=c++17 for the libatomic probe
zakariaridouh Apr 28, 2026
f2a3aa2
Remove all KVO observers before calling [m_objcObserver disconnect] i…
Apr 28, 2026
c64f173
[WebGPU] Install libwgsl.a when FORCE_TOOL_INSTALL=YES
Apr 28, 2026
779aba8
Unreviewed, reverting 312202@main (36c3761def82)
martadarbinyan Apr 28, 2026
dc7238d
[Gardening][iOS] imported/w3c/web-platform-tests/navigation-api/navig…
diegodelatoba Apr 28, 2026
e7745af
[WebKit][Main+SU] [3473ae787b8859f0] ASAN_SEGV | WebCore::DocumentLoa…
rwlbuis Apr 28, 2026
b05d16f
[JSC] Save source offset for evaluating Wasm constant expressions
syg Apr 28, 2026
42beed9
Use WeakHashSet::forEach to iterate over set where the iterator might…
kmonsen Apr 28, 2026
ec1b15d
Unreviewed, reverting 311500@main (61c4954ff80a)
mwyrzykowski Apr 28, 2026
1c19ff8
Clean up stale web extension origin data after migration
szewai Apr 28, 2026
527346d
[MacOS IOS] imported/w3c/web-platform-tests/css/css-viewport/zoom/ifr…
diegodelatoba Apr 28, 2026
80eaeca
Occasional flicker of bad layer offsets when positions are adjusted b…
smfr Apr 28, 2026
3caec83
Use HTTP status codes in more places
fred-wang Apr 28, 2026
8ecfbea
[CMake] Fix CMake -Xcc flag deduplication in native Swift target_comp…
zakariaridouh Apr 28, 2026
b4390e8
Fix CSP bypass in sandboxed srcdoc iframes
charliewolfe Apr 28, 2026
c7e7785
[WebKit][Main+SU] [73e157cc9e45c104] ASAN_SEGV | WebCore::WebAnimatio…
csaavedra Apr 28, 2026
9fe9df5
[LDM] Ensure temporary pages use the correct Font Parser
brentfulgham Apr 28, 2026
99779db
[libpas] Remove partial views
Achierius Apr 28, 2026
21ce77b
[Build Speed] Group together source files requiring RenderStyle+Gette…
jernoble Apr 28, 2026
a7b2ad4
Make line-flow-with-float-* layout tests pass in Site Isolation mode
heycam Apr 28, 2026
6b2ce02
Adjust fuzzy annotation on gradient-analogous-missing-components-003.…
heycam Apr 28, 2026
e298509
WebGL provoking vertex with uint16 primitive restart causes GPU OOB a…
ruthvikkonda Apr 28, 2026
df8790f
Use protect() instead of RefPtr { } in PlatformMediaSessionManager, A…
jelee53 Apr 28, 2026
46525db
Use new, more performant CoreText color glyph check API
fantasai Apr 28, 2026
456a67f
Merge upstream/main (46525dbf2abb) — adopt libpas Windows is_symmetri…
Jarred-Sumner Apr 28, 2026
f7b52b0
JSPromise: adapt BUN paths to Slim/Full reaction split — use upstream…
Jarred-Sumner Apr 28, 2026
a5bf2e3
pas_thread_local_cache: skip decommitted allocators in for_all on sym…
Jarred-Sumner Apr 29, 2026
9dc26d0
pas_thread_local_cache: use asymmetric decommit for allocator-range p…
Jarred-Sumner Apr 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
33 changes: 26 additions & 7 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,10 @@
"PORT": {
"type": "STRING",
"value": "Mac"
},
"ENABLE_EXPERIMENTAL_FEATURES": {
"type": "BOOL",
"value": "OFF"
}
},
"environment": {
Expand All @@ -107,19 +111,29 @@
{
"name": "mac-dev-release",
"displayName": "macOS Development (Release, ccache, compile_commands)",
"inherits": ["mac-release", "dev"],
"cacheVariables": {
"ENABLE_EXPERIMENTAL_FEATURES": {
"type": "BOOL",
"value": "OFF"
}
}
"inherits": ["mac-release", "dev"]
},
{
"name": "mac-dev-debug",
"displayName": "macOS Development (Debug, ccache, compile_commands)",
"inherits": ["mac-debug", "dev"]
},
{
"name": "mac-dev-debug-o3",
"displayName": "macOS Development (Debug O3 optimization, ccache, compile_commands)",
"inherits": ["mac-debug", "dev"],
"binaryDir": "WebKitBuild/cmake-mac/DebugO3",
"cacheVariables": {
"CMAKE_C_FLAGS_DEBUG": {
"type": "STRING",
"value": "-g -O3"
},
"CMAKE_CXX_FLAGS_DEBUG": {
"type": "STRING",
"value": "-g -O3"
}
}
},
{
"name": "mac-dev-relwithdebinfo",
"displayName": "macOS Development (RelWithDebInfo -- optimized + debuggable)",
Expand Down Expand Up @@ -207,6 +221,11 @@
"displayName": "macOS Development Debug",
"configurePreset": "mac-dev-debug"
},
{
"name": "mac-dev-debug-o3",
"displayName": "macOS Development Debug O3",
"configurePreset": "mac-dev-debug-o3"
},
{
"name": "mac-dev-relwithdebinfo",
"displayName": "macOS Development RelWithDebInfo",
Expand Down
2 changes: 1 addition & 1 deletion Configurations/Version.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

MAJOR_VERSION = 625;
MINOR_VERSION = 1;
TINY_VERSION = 14;
TINY_VERSION = 16;
MICRO_VERSION = 0;
NANO_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
Expand Down
2 changes: 1 addition & 1 deletion Configurations/WebKitProjectPaths.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ WEBCORE_TEST_SUPPORT_DIR = $(WEBCORE_TEST_SUPPORT_DIR_$(CONFIGURATION));
WEBCORE_TEST_SUPPORT_DIR_Release = $(WEBCORE_TEST_SUPPORT_DIR_Engineering);
WEBCORE_TEST_SUPPORT_DIR_Debug = $(WEBCORE_TEST_SUPPORT_DIR_Engineering);
WEBCORE_TEST_SUPPORT_DIR_Production = $(SDK_DIR)$(WK_ALTERNATE_WEBKIT_SDK_PATH)$(WK_LIBRARY_HEADERS_FOLDER_PATH)/WebCoreTestSupport;
WEBCORE_TEST_SUPPORT_DIR_Engineering = $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport;
WEBCORE_TEST_SUPPORT_DIR_Engineering = $(BUILT_PRODUCTS_DIR)$(WK_LIBRARY_HEADERS_FOLDER_PATH)/WebCoreTestSupport;

// Where libwebrtc and ANGLE go.
WEBCORE_LIBRARY_DIR = $(UMBRELLA_FRAMEWORKS_DIR)/WebCore.framework/Frameworks
Expand Down
2 changes: 1 addition & 1 deletion Introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -982,7 +982,7 @@ that `JSStyleSheet` should be kept alive so long as the garbage collector had en
```cpp
bool JSStyleSheetOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, AbstractSlotVisitor& visitor, const char** reason)
{
auto* jsStyleSheet = jsCast<JSStyleSheet*>(handle.slot()->asCell());
auto* jsStyleSheet = downcast<JSStyleSheet>(handle.slot()->asCell());
void* root = WebCore::root(&jsStyleSheet->wrapped());
if (UNLIKELY(reason))
*reason = "Reachable from jsStyleSheet";
Expand Down
14 changes: 14 additions & 0 deletions JSTests/microbenchmarks/for-of-map-entries-small.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const map = new Map();
for (let i = 0; i < 10; ++i)
map.set(i, i * 2);

function test(map) {
let sum = 0;
for (let [k, v] of map)
sum += k + v;
return sum;
}
noInline(test);

for (let i = 0; i < 1e5; ++i)
test(map);
14 changes: 14 additions & 0 deletions JSTests/microbenchmarks/for-of-map-entries.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const map = new Map();
for (let i = 0; i < 100; ++i)
map.set(i, i * 2);

function test(map) {
let sum = 0;
for (let [k, v] of map)
sum += k + v;
return sum;
}
noInline(test);

for (let i = 0; i < 1e4; ++i)
test(map);
14 changes: 14 additions & 0 deletions JSTests/microbenchmarks/for-of-set-values-small.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const set = new Set();
for (let i = 0; i < 10; ++i)
set.add(i);

function test(set) {
let sum = 0;
for (let x of set)
sum += x;
return sum;
}
noInline(test);

for (let i = 0; i < 1e5; ++i)
test(set);
14 changes: 14 additions & 0 deletions JSTests/microbenchmarks/for-of-set-values.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const set = new Set();
for (let i = 0; i < 100; ++i)
set.add(i);

function test(set) {
let sum = 0;
for (let x of set)
sum += x;
return sum;
}
noInline(test);

for (let i = 0; i < 1e4; ++i)
test(set);
10 changes: 10 additions & 0 deletions JSTests/microbenchmarks/intl-constructor-collator.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
function test() {
let count = 0;
for (let i = 0; i < 1e4; ++i)
count += new Intl.Collator("en-US").compare !== undefined;
return count;
}

const result = test();
if (result !== 1e4)
throw new Error("Bad result: " + result);
10 changes: 10 additions & 0 deletions JSTests/microbenchmarks/intl-constructor-datetimeformat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
function test() {
let count = 0;
for (let i = 0; i < 1e4; ++i)
count += new Intl.DateTimeFormat("en-US").format !== undefined;
return count;
}

const result = test();
if (result !== 1e4)
throw new Error("Bad result: " + result);
10 changes: 10 additions & 0 deletions JSTests/microbenchmarks/intl-constructor-durationformat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
function test() {
let count = 0;
for (let i = 0; i < 1e4; ++i)
count += new Intl.DurationFormat("en").format !== undefined;
return count;
}

const result = test();
if (result !== 1e4)
throw new Error("Bad result: " + result);
10 changes: 10 additions & 0 deletions JSTests/microbenchmarks/intl-constructor-numberformat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
function test() {
let count = 0;
for (let i = 0; i < 1e4; ++i)
count += new Intl.NumberFormat("en-US").format !== undefined;
return count;
}

const result = test();
if (result !== 1e4)
throw new Error("Bad result: " + result);
10 changes: 10 additions & 0 deletions JSTests/microbenchmarks/intl-constructor-relativetimeformat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
function test() {
let count = 0;
for (let i = 0; i < 1e4; ++i)
count += new Intl.RelativeTimeFormat("en").format !== undefined;
return count;
}

const result = test();
if (result !== 1e4)
throw new Error("Bad result: " + result);
21 changes: 21 additions & 0 deletions JSTests/microbenchmarks/object-create-null-cse.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
function test(o, proto)
{
var s = o.a + o.b + o.c + o.d + o.e + o.f;
Object.create(proto);
s += o.a + o.b + o.c + o.d + o.e + o.f;
s += o.a + o.b + o.c + o.d + o.e + o.f;
s += o.a + o.b + o.c + o.d + o.e + o.f;
s += o.a + o.b + o.c + o.d + o.e + o.f;
s += o.a + o.b + o.c + o.d + o.e + o.f;
s += o.a + o.b + o.c + o.d + o.e + o.f;
s += o.a + o.b + o.c + o.d + o.e + o.f;
return s;
}
noInline(test);

var o = { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 };
var result = 0;
for (var i = 0; i < 2e6; ++i)
result += test(o, null);
if (result !== 168 * 2e6)
throw new Error("bad result: " + result);
13 changes: 13 additions & 0 deletions JSTests/microbenchmarks/string-pad-end-consume.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// padEnd a short string and consume the result via charCodeAt.
function bench() {
let total = 0;
const base = "hello";
for (let i = 0; i < 1e6; ++i) {
const s = base.padEnd(80);
total += s.charCodeAt(79);
}
return total;
}
noInline(bench);

bench();
13 changes: 13 additions & 0 deletions JSTests/microbenchmarks/string-pad-end-indexof.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// padEnd then indexOf forces full rope resolution + linear scan.
function bench() {
let total = 0;
const base = "hello";
for (let i = 0; i < 1e6; ++i) {
const s = base.padEnd(80);
total += s.indexOf("x");
}
return total;
}
noInline(bench);

bench();
65 changes: 65 additions & 0 deletions JSTests/stress/iterator-dfg-fast-path-bad-time.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// Stress the DFG iterator_next fast path for Map iteration under "having a bad time".
// In that state, the NewArray([key, value]) pair-allocation for Map entries takes
// the operationNewArray slow path (a C++ call under DECLARE_THROW_SCOPE). This
// exercises NewArray's ExitsForExceptions classification: if allocation throws,
// exception unwind must not replay the already-advanced MapIteratorNext.
//
// Two phases:
// (1) warm up with normal allocation so DFG/FTL compiles the fast NewArray path,
// (2) flip to bad-time (invalidates the havingABadTime watchpoint installed by
// FixupPhase::watchHavingABadTime on NewArray) to force recompilation through
// the slow allocation path.

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad: ' + actual + ' vs ' + expected);
}
noInline(shouldBe);

const map = new Map();
for (let i = 0; i < 16; ++i)
map.set(i, i * 10);
// 0+0 + 1+10 + ... + 15+150 = sum(0..15) + 10*sum(0..15) = 120 + 1200 = 1320
const expectedMapSum = 1320;

const set = new Set();
for (let i = 0; i < 16; ++i)
set.add(i);
const expectedSetSum = 120;

function sumMapEntries(m) {
let total = 0;
for (const [k, v] of m)
total += k + v;
return total;
}
noInline(sumMapEntries);

function sumSetValues(s) {
let total = 0;
for (const v of s)
total += v;
return total;
}
noInline(sumSetValues);

// Phase 1: warm up with normal fast allocation.
for (let i = 0; i < testLoopCount; ++i) {
shouldBe(sumMapEntries(map), expectedMapSum);
shouldBe(sumSetValues(set), expectedSetSum);
}

// Phase 2: trigger bad-time by installing a getter on a numeric-indexed slot
// of Object.prototype. This fires the havingABadTime watchpoint, invalidating
// any compiled code that relied on NewArray taking the fast inline-allocation
// path. Subsequent runs must still iterate correctly.
Object.defineProperty(Object.prototype, "0", {
get() { return "shadow"; },
set(v) { },
configurable: true,
});

for (let i = 0; i < testLoopCount; ++i) {
shouldBe(sumMapEntries(map), expectedMapSum);
shouldBe(sumSetValues(set), expectedSetSum);
}
Comment on lines +56 to +65

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Clean up Object.prototype["0"] after the stress phase.

Keeping the prototype mutation installed beyond the test body is avoidable global state leakage.

Proposed fix
 Object.defineProperty(Object.prototype, "0", {
     get() { return "shadow"; },
     set(v) { },
     configurable: true,
 });
 
-for (let i = 0; i < testLoopCount; ++i) {
-    shouldBe(sumMapEntries(map), expectedMapSum);
-    shouldBe(sumSetValues(set), expectedSetSum);
-}
+try {
+    for (let i = 0; i < testLoopCount; ++i) {
+        shouldBe(sumMapEntries(map), expectedMapSum);
+        shouldBe(sumSetValues(set), expectedSetSum);
+    }
+} finally {
+    delete Object.prototype["0"];
+}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Object.defineProperty(Object.prototype, "0", {
get() { return "shadow"; },
set(v) { },
configurable: true,
});
for (let i = 0; i < testLoopCount; ++i) {
shouldBe(sumMapEntries(map), expectedMapSum);
shouldBe(sumSetValues(set), expectedSetSum);
}
Object.defineProperty(Object.prototype, "0", {
get() { return "shadow"; },
set(v) { },
configurable: true,
});
try {
for (let i = 0; i < testLoopCount; ++i) {
shouldBe(sumMapEntries(map), expectedMapSum);
shouldBe(sumSetValues(set), expectedSetSum);
}
} finally {
delete Object.prototype["0"];
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@JSTests/stress/iterator-dfg-fast-path-bad-time.js` around lines 56 - 65, The
test mutates global state by adding Object.prototype["0"] via
Object.defineProperty and never removes it; after the stress loop that calls
shouldBe(sumMapEntries(map), ...) and shouldBe(sumSetValues(set), ...), remove
or restore the prototype change (e.g., delete Object.prototype["0"] or restore
the previous descriptor) so the prototype mutation does not leak beyond this
test, ensuring cleanup happens once the stress phase completes.

58 changes: 58 additions & 0 deletions JSTests/stress/iterator-dfg-fast-path-mixed-modes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// Stress the DFG iterator_open / iterator_next fast path when a single
// call site observes Array, Map, Set, and a Generic user-defined iterable.
// The seenModes IterationMetadata accumulates FastArray|FastMap|FastSet|Generic,
// and the DFG parser emits the full chained fast path. This exercises the
// connectFailedBlock/numberOfRemainingModes bookkeeping across all four modes.

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad: ' + actual + ' vs ' + expected);
}
noInline(shouldBe);

function sumIterable(iterable) {
let sum = 0;
for (const entry of iterable) {
if (typeof entry === "number")
sum += entry; // Array / Set yields values
else if (Array.isArray(entry))
sum += entry[0] + entry[1]; // Map yields [key, value]
else
sum += entry.val; // Generic iterator yields {val}
}
return sum;
}
noInline(sumIterable);

const arr = [1, 2, 3, 4];
const map = new Map([[10, 1], [20, 2], [30, 3]]);
const set = new Set([100, 200, 300]);

function makeGeneric() {
let i = 0;
return {
[Symbol.iterator]() { return this; },
next() {
if (i >= 4)
return { value: undefined, done: true };
return { value: { val: ++i * 1000 }, done: false };
}
};
}

const arrSum = 1 + 2 + 3 + 4;
const mapSum = (10 + 1) + (20 + 2) + (30 + 3);
const setSum = 100 + 200 + 300;
const genSum = 1000 + 2000 + 3000 + 4000;

for (let i = 0; i < testLoopCount; i++) {
const idx = i & 3;
if (idx === 0)
shouldBe(sumIterable(arr), arrSum);
else if (idx === 1)
shouldBe(sumIterable(map), mapSum);
else if (idx === 2)
shouldBe(sumIterable(set), setSum);
else
shouldBe(sumIterable(makeGeneric()), genSum);
}
Loading
Loading