Skip to content
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
526 commits
Select commit Hold shift + click to select a range
760bea8
[Image Redux] Consolidate callers of createShareableBitmap/createShar…
weinig Oct 18, 2026
17fc4ea
[ASan] Name the invalid IPC message when a process is killed for a fa…
Oct 18, 2026
ae5d190
Annotate functions in Source/WebCore/platform as NODELETE
rniwa Oct 18, 2026
16a7f29
Annotate more WTF functions as NODELETE
rniwa Oct 18, 2026
51f1263
Annotate functions in Source/WebCore/layout as NODELETE
rniwa Oct 18, 2026
acd6257
[SVG text] SVGTextLayoutAlgorithm crashes with display: contents in S…
anttijk Oct 18, 2026
cfa0b3f
Versioning. WebKit-7627.1.5
samuelengida Oct 18, 2026
fb67a6b
Remove dead platform checks from Mac and iOS files
annevk Oct 18, 2026
5bf5d8d
Move shared AVKit playback session files from platform/ios to ../cocoa
annevk Oct 18, 2026
6a9e7f5
CSSStyleDeclaration.setProperty() wrongly fails to override an existi…
Ahmad-S792 Oct 18, 2026
241e993
SVG timeline resets to 0 when it is paused and seeked before it begins
Ahmad-S792 Oct 18, 2026
5172194
Move shared WebKit C API files from mac to ../cocoa
annevk Oct 18, 2026
19f6c49
Only top-level data: documents should be non-secure contexts
annevk Oct 18, 2026
d22fe75
<use> copies of an SVG <a> keep the old target after the target attri…
Ahmad-S792 Oct 18, 2026
5132841
[SVG text] Enable the SVG 2 text layout algorithm by default
anttijk Oct 18, 2026
8b0147f
SVG <font-face> rules are registered in non-deterministic order
nikolaszimmermann Oct 18, 2026
cf30450
Fix ineffective LEGACY_NODELETE annotations on function templates and…
rniwa Oct 18, 2026
7b54846
Add NODELETE annotations to a few more WTF functions
rniwa Oct 18, 2026
8475411
[WPE][GTK] Significant web process leak
apeschar Oct 18, 2026
7eace68
Text width cache returns incorrect widths when kerned and unkerned ve…
weinig Oct 18, 2026
97bdc06
[GTK][WPE] Avoid white background flash on unstyled pages and new tab…
IGS-GIT Oct 18, 2026
5b2e266
Compute the repaint rect of SVG text with non-scaling-stroke per text…
nikolaszimmermann Oct 18, 2026
aaa8c3a
[Win] Update dependencies October 2026
donny-dont Oct 18, 2026
24b4ce3
Stop soft-linking TelephonyUtilities
rr-codes Oct 18, 2026
ec61373
[Swift in WebKit] Promote VariableNeverMutated and UnusedImportAccess…
rr-codes Oct 18, 2026
700a3c1
Re-enable more WebGL tests that no longer fail on macOS
heycam Oct 18, 2026
3a41ad1
[Skia] Compositing work grows as 2^n with the number of backdrop-filt…
Oct 18, 2026
4424372
Annotate functions in Source/WebCore/css as NODELETE
rniwa Oct 18, 2026
a32c5b2
Annotate more functions in WebCore with NODELETE
rniwa Oct 18, 2026
6209e18
Web processes can overwrite the frame tree sync data that the UI proc…
annevk Oct 18, 2026
450812b
Update macOS safer C++ bots with swift-DEVELOPMENT-SNAPSHOT-2026-10-17-a
rniwa Oct 18, 2026
37d68cc
Resync `html/dom` from WPT upstream
Ahmad-S792 Oct 18, 2026
7abf897
[LBSE] Updates LBSE baselines after 324088@main
nikolaszimmermann Oct 18, 2026
ec45f4f
Apply dynamic-range-limit to HDR 2D canvas
squelart Oct 19, 2026
3ddc4bb
Resync `resources` from WPT upstream
Ahmad-S792 Oct 19, 2026
e14f9e6
Resync `fullscreen` from WPT Upstream
Ahmad-S792 Oct 19, 2026
b0218cf
Add support for fontKerning, fontStretch, fontVariantCaps and textRen…
weinig Oct 19, 2026
011cc89
Update WebGPU CTS - October 2026
mwyrzykowski Oct 19, 2026
375618c
Update macOS safer C++ bots with swift-DEVELOPMENT-SNAPSHOT-2026-10-17-a
rniwa Oct 19, 2026
21d4506
[EWS][GTK][WPE] Use results-db to avoid retrying layout tests that ar…
csaavedra Oct 19, 2026
730bb99
[GLib] platform/glib/damage/animations-blur.html and animations-drop-…
csaavedra Oct 19, 2026
847eb68
Fix safer C++ warnings in WebCore and WebKit after 2026-10-17-a rollout
rniwa Oct 19, 2026
2c7b24f
[macOS] Add basic multi-model support to the WebModelPlayer
etiennesegonzac Oct 19, 2026
6e15083
Update iOS safer C++ bots to use swift-DEVELOPMENT-SNAPSHOT-2026-10-17-a
rniwa Oct 19, 2026
4419a85
[GTK] Web Inspector frontend is laid out at 0x0 under test
csaavedra Oct 19, 2026
fcaa75c
[GStreamer] Video frame converter races when several threads convert …
csaavedra Oct 19, 2026
43d5b8d
[GTK][WPE] platform/glib/damage/animations-opacity-to-invisibility.ht…
csaavedra Oct 19, 2026
c8f1f0f
[GTK][WPE] Document that input method delete-surrounding counts UTF-1…
fujii Oct 19, 2026
9e896da
[GLib] Release suspended pages and idle processes on memory pressure
TingPing Oct 19, 2026
6ef42f4
[LBSE] SVG text is not re-measured when a CSS transform changes its s…
nikolaszimmermann Oct 19, 2026
0f863d2
[WPE][GTK] Pointer lock permission request header file missing in web…
philn Oct 19, 2026
9da0fa4
Add support for VideoFrame.rotation
youennf Oct 19, 2026
ce40c95
WebCore::AVVideoCaptureSource::configurationChanged assert
eric-carlson Oct 19, 2026
36dfaa0
[css-grid] Grid item with a non-auto min-block-size overflows the gri…
sammygill Oct 19, 2026
9850e5b
[GFC] Give grid items a dedicated box geometry update after integrati…
sammygill Oct 19, 2026
ac6b35c
[IFC] Replace InlineIterator traversal with modern C++ style iterator…
anttijk Oct 19, 2026
49b8cb1
[GLib] platform/glib/damage/video.html is flaky
csaavedra Oct 19, 2026
a7187ed
[GFC] Lay out grid items through layoutGridItemWithFormattingContext …
sammygill Oct 19, 2026
7b2dc73
[JSC] Skip identical printable ASCII prefix in Intl.Collator ASCII fa…
Constellation Oct 19, 2026
d074b70
[AXCustomColorMode] Add a setter for SVGImage:m_fallbackInvertContent
smfr Oct 19, 2026
1edf953
Blob.text() should not sniff UTF-16 byte order marks
annevk Oct 19, 2026
e52d9cc
Unreviewed, reverting 324097@main (24b4ce3a15fd)
revert-bot Oct 19, 2026
75c0417
AX: Selection change notifications on a Mac text field need to be pos…
minorninth Oct 19, 2026
fef5041
[Site Isolation] Restore back/forward cached iframes in other process…
szewai Oct 19, 2026
83cd40f
WebBackForwardList: restore an empty list when the current index is i…
rr-codes Oct 19, 2026
fa921ff
[Quirk] thetimes.com: "UK Edition" header menu cannot be dismissed by…
Ahmad-S792 Oct 19, 2026
8d8c2a2
SiteIsolation.NavigationJoiningPrefetchWithDifferentDocumentIsolation…
annevk Oct 19, 2026
12c87c5
[CMake] Build libraries like WTF and pal to ./usr/local
brentfulgham Oct 19, 2026
abc6de4
Calling action.setPopup({ popup: "invalid.html" }) makes popup unreco…
xeenon Oct 19, 2026
cafb4b5
WKWebsiteDataStore reuses its connection pool after proxyConfiguratio…
aproskuryakov Oct 19, 2026
c2018b3
[WebGL] Resizing a canvas that is not drawn to allocates the default …
bnham Oct 19, 2026
db7830d
Web Extensions: validate tab and window URLs in the UI process and ho…
xeenon Oct 19, 2026
456aadb
[JSC] FTL short constant string comparison should handle 16-bit strin…
Constellation Oct 19, 2026
61f2d9a
Resync css-typed-om color property tests from WPT upstream
AndrewJMart Oct 19, 2026
2eb82b3
[JSC] Truncate int32 multiplications by narrow integer typed array loads
Constellation Oct 19, 2026
b37127b
Refine when <selectedcontent> elements are updated
annevk Oct 19, 2026
8fbe152
Media Controls: Video viewer native controls are getting YouTube quirks
hortont424 Oct 19, 2026
d049759
Moving the caret across lines asserts in positionInParentBeforeNode w…
csaavedra Oct 19, 2026
a3313ff
WebGPU: Make the Metal implementation use the C++ API enums
kkinnunen-apple Oct 19, 2026
2b7b986
[JSC] Allocate poly proto objects in create_this fast paths
Constellation Oct 19, 2026
919d79a
[ews-build.webkit.org] Dynamically configure builders
JonWBedard Oct 19, 2026
6c9029a
element.checkVisibility() does not work for unslotted elements
yury-s Oct 19, 2026
b262703
Add an SPI to save the original URLs of saved web page resources
xianda-zhou Oct 19, 2026
e174317
CSS Custom Highlight API: registering a few hundred small highlights …
rreno Oct 19, 2026
9c59cec
[libpas] Specialize page_sharing_pool expirations per participant kind
Achierius Oct 19, 2026
23a7e5e
Text extraction drops all text inside a shadow root hosted on the bod…
whsieh Oct 19, 2026
9afe8b8
[ews] Bring up AWS bots
JonWBedard Oct 19, 2026
330f733
[ews] Rename mac-AS-debug to mac-cmake-debug
JonWBedard Oct 19, 2026
516f148
[Text Extraction] truncateByWordCount moves a Vector while it is stil…
geoffreygaren Oct 19, 2026
a6908ef
[Threaded Animations] _animationStackForLayerWithID converts to JSON …
geoffreygaren Oct 19, 2026
9c6d90a
[WPEPlatform] WPEClipboard.changed vfunc gets passed a stray null format
aperezdc Oct 19, 2026
e4214b3
[ews] Bring up AWS bots (Follow-up)
JonWBedard Oct 19, 2026
4f48edb
[WPE][cross-toolchain-helper] Keep the journal across reboots, keep /…
clopez Oct 19, 2026
eabd60b
Update test expectations for TestWebKitAPI.AdvancedPrivacyProtections…
achristensen07 Oct 19, 2026
004e01c
A cross-document navigation from another agent cluster fires navigate
annevk Oct 19, 2026
6247349
Web Inspector: Debugger: use the `sourceURL` for breakpoints if provided
dcrousso Oct 19, 2026
996f659
Web Inspector: use zero-based `Debugger.Location` for `InjectedScript…
dcrousso Oct 19, 2026
f1c1ca5
Web Inspector: REGRESSION(?): Timelines: Frames are missing
dcrousso Oct 19, 2026
9296c2a
Web Inspector: REGRESSION(?): checkbox navigation items are shifted down
dcrousso Oct 19, 2026
91ea7d1
Web Inspector: Timelines: Call Trees sometimes missing content
dcrousso Oct 19, 2026
566bee3
Web Inspector: REGRESSION(?): Timelines: focus is lost when using arr…
dcrousso Oct 19, 2026
cc4cd51
Web Inspector: REGRESSION(?): Graphics: focus is lost when using arro…
dcrousso Oct 19, 2026
8f152d4
[GFC] Avoid unnecessary copies in grid layout (missing WTF::move and …
Ahmad-S792 Oct 19, 2026
08fa6b7
[Quirks] Resolve quirks from QuirkTable.json
colelao Oct 19, 2026
04b54b4
Add NODELETE annotations to the rest of Source/WebCore
rniwa Oct 19, 2026
162a937
New Test(322321@main): [ iOS ] TestWebKitAPI.SiteIsolation.SelectPosi…
rniwa Oct 19, 2026
0db66ae
TextMeasurementCache with out-of-line long-text table
squelart Oct 19, 2026
788cb78
[Text Extraction] macOS 27: fast/text-extraction/debug-text-extractio…
whsieh Oct 19, 2026
87c02de
Remove HAVE(NW_PROXY_CONFIG)
aproskuryakov Oct 20, 2026
b5a0eff
Set the ARQL originatingPageURL to page instead of asset
squelart Oct 20, 2026
e6f2e2c
[JSC] DFG strength reduction should not crash when a folded string is…
sosukesuzuki Oct 20, 2026
e1bfd55
[Wasm] BBQ and OMG should compile atomic loads and stores in the same…
sosukesuzuki Oct 20, 2026
9f224fe
[JSC] Avoid String ref count churn in `RegExp` constructor, `padStart…
sosukesuzuki Oct 20, 2026
cd506b1
[JSC] Object allocation sinking should escape allocations without rec…
sosukesuzuki Oct 20, 2026
2f932d6
Destroy provisional frame when removing a frame from the tree
jelee53 Oct 20, 2026
dea15a2
Test what still crosses between same-origin documents with and withou…
annevk Oct 20, 2026
9fa2c1b
Test that a same-site navigation from a document with a Document-Isol…
annevk Oct 20, 2026
3c1b83d
TestWebKitAPI fails to build with the public SDK and Xcode 27
weinig Oct 20, 2026
3ef29a2
[Image Redux] Make createDragImageFromImage() take a NativeImage
weinig Oct 20, 2026
0590ea9
Add Sadhika Akula as a contributor.
SadhikaA Oct 20, 2026
7b8caae
[Site Isolation] New test (268919@main): [ iOS ] http/tests/site-isol…
megangardner Oct 20, 2026
011349a
REGRESSION(318173@main): Text zoom double-applied to font-relative fo…
fantasai Oct 20, 2026
fb901e6
[Site Isolation] Focused element in another process is blurred too la…
szewai Oct 20, 2026
68b19b2
[JSC] Check mayHaveIndexingHeader before marking previous cell
rreno Oct 20, 2026
3bbcebf
Add ability to disable system background color extensions
lilyspiniolas Oct 20, 2026
4a630cf
[GLib] Remove Crash from expectations of tests that no longer crash
csaavedra Oct 20, 2026
e3c0697
[xml] Add deprecation console warning upon usage of XML external enti…
zakariaridouh Oct 20, 2026
b8affbe
Remove unused pas_compact_atomic_bitfit_global_size_class_ptr.h file
rr-codes Oct 20, 2026
7288502
[Site Isolation] Web Inspector: Reloading a page with iframes loses t…
zakariaridouh Oct 20, 2026
0083ac4
Use modern C++20 concepts in static_assert across WTF and JSC
zakariaridouh Oct 20, 2026
7febf0a
[JSC] DFG Array.push with 0-argument should throw an error when lengt…
Constellation Oct 20, 2026
adafb17
ERROR: Unhandled web process message 'WebPage_Close'
achristensen07 Oct 20, 2026
354fb3b
Grid with a subgrid whose item has an aspect-ratio and a percentage h…
csaavedra Oct 20, 2026
2a7e43c
[Site Isolation] Web Inspector: Frames in other processes stay held a…
basuke Oct 20, 2026
e6b98f9
[Skia] Accelerated canvas GL objects can be released without the Skia…
csaavedra Oct 20, 2026
73e2579
ANGLE: Metal: Clamp MSL language version to 3.2
kkinnunen-apple Oct 20, 2026
bf2b8bf
[CoordinatedGraphics] Allocate and release CoordinatedTileBuffer inte…
carlosgcampos Oct 20, 2026
7f31ee7
[macOS] Add animation support for models in Spatial Portals
etiennesegonzac Oct 20, 2026
60fa082
[Skia] WebProcess crashes with offscreen canvas in SkTDPQueue::percol…
ehfd Oct 20, 2026
561563f
WebGPU: Move the C API instance and surface descriptors into the C AP…
kkinnunen-apple Oct 20, 2026
dc310f9
[GStreamer][WebCodecs] VideoDecoder with a hardware H.264 decoder hol…
ehfd Oct 20, 2026
2a0b884
[GStreamer] Switch media player to playbin3
philn Oct 20, 2026
b24a1de
[GStreamer] Deadlock between the main thread and the AudioWorklet thr…
ehfd Oct 20, 2026
c240cef
[GStreamer][WebCodecs] VideoDecoder frames come out with timestamps o…
ehfd Oct 20, 2026
7b70217
Black pixel artifacts when drawing a Canvas 2D image through WebGL af…
kkinnunen-apple Oct 20, 2026
668a395
WebGPU: Remove the WebKit-only functions of the WebGPU C API
kkinnunen-apple Oct 20, 2026
26b45fd
Shared and service workers in a process without a page do not get the…
kkinnunen-apple Oct 20, 2026
f2af25b
ANGLE: Metal: single-sample rendering that uses derivatives forces sa…
kkinnunen-apple Oct 20, 2026
5d5248a
[JSC] Install the private class brand before evaluating class elements
sosukesuzuki Oct 20, 2026
f88678d
[JSC] Import and export declarations should not redeclare a var in mo…
sosukesuzuki Oct 20, 2026
8ab6412
Agent cluster keying is recorded for documents that never exist
annevk Oct 20, 2026
0a988d1
WGSL uniformity analysis treats textureDimensions() of a write-only o…
mwyrzykowski Oct 20, 2026
728a05a
[WPE] DisplayVBlankMonitorWPE releases a screen sync observer referen…
alexgcastro Oct 20, 2026
993aa85
Geolocation should be blocked in non-secure contexts
annevk Oct 20, 2026
f2d83dd
[GLib] Remove Timeout from expectations of WebRTC tests that no longe…
csaavedra Oct 20, 2026
a3c8dbf
[JSC] Avoid accessing missing indexing headers in Butterfly helpers.
clopez Oct 20, 2026
2bb559d
[GLib] Remove expectations of tests that pass now
csaavedra Oct 20, 2026
66e85fc
[GLib] Update baselines of tests with missing or changed results
csaavedra Oct 20, 2026
cc50ab1
[SaferCPP] Enforce Vector crashIfBorrowed in release builds
geoffreygaren Oct 20, 2026
bdf0502
[GTK][WPE] Gardening of tests - 2026-10-20
csaavedra Oct 20, 2026
d53b00e
Text width cache returns incorrect widths when versions of a font wit…
weinig Oct 20, 2026
087eff8
Remove excess smart pointers in Source/WebCore/dom
rniwa Oct 20, 2026
a60f7af
[CoordinatedGraphics] Call CoordinatedTileBuffer::beginPainting from …
carlosgcampos Oct 20, 2026
29a56d9
Release CA rendering resources on critical memory pressure
rreno Oct 20, 2026
3e5f905
Fix document lifetime and world-leak check ordering in MemoryRelease …
rreno Oct 20, 2026
497d66b
Unreviewed, reverting 324012@main (6ba523a068ca) and 324000@main (abd…
JonWBedard Oct 20, 2026
acd96ed
[Text Extraction] Add more telemetry around text extraction codepaths
whsieh Oct 20, 2026
6eec407
Make TestWebKitAPI work with iOS simulator builds from CMake
achristensen07 Oct 20, 2026
adade9c
[Win] Skip http/tests/canvas/canvas-2d-accelerated-in-* tests
csaavedra Oct 20, 2026
8ec0143
[JSC] any.convert_extern should accept a subtype of externref
Constellation Oct 20, 2026
98571be
[JSC] Compute double modulo by a power-of-two constant inline in DFG …
Constellation Oct 20, 2026
52440c8
Unreviewed, reverting 324237@main (29a56d9545b6)
rreno Oct 20, 2026
7d12474
Parse processing instructions in HTML
hjanuschka Oct 20, 2026
df5a49f
[JSC] B3 ReduceStrength should not fold Trunc(SShr(Shl(SExt32(x), c),…
Constellation Oct 20, 2026
858b529
[JSC] B3 ReduceStrength should check the zip lane before turning a ve…
Constellation Oct 20, 2026
9f79bbf
[webkitpy] Turn off the noisiest log subsystems on simulators webkitp…
Smackteo Oct 20, 2026
a56bafe
[Navigation API] navigation.traverseTo() from a navigate event can ap…
basuke Oct 20, 2026
053f872
[Site Isolation] http/tests/resourceLoadStatistics/do-not-remove-bloc…
szewai Oct 20, 2026
2a79170
[CMake] Add missing includes exposed by a non-unified build - WebProc…
megangardner Oct 20, 2026
cd4f0d5
[Site Isolation] The data detector button in a cross-site iframe can …
ruthvikkonda Oct 20, 2026
62c015c
browser.test.assertSafeResolve() does not check that the callback res…
xeenon Oct 20, 2026
ae823d5
[WebVTT] 10x wpt/webvtt tests are failing because the test reference …
jernoble Oct 20, 2026
fad9c39
[JSC] B3 LowerToAir's xor-and-rotate match should require a logical r…
Constellation Oct 20, 2026
ef3c11e
[Baidu] Hold-Space voice input is not available in Safari on the sear…
brentfulgham Oct 20, 2026
bc87746
Update ANGLE to 2026-10-12 (e9f64dda0c5b45ee1c22a7034036eeba845f6ff0)
roberto-apple Oct 20, 2026
555e733
REGRESSION (322251@main): [Content Change Observer] Visibility candid…
hortont424 Oct 20, 2026
14211b3
[JSC] FTL StringLocaleCompare should skip the equal ASCII prefix a wo…
Constellation Oct 20, 2026
65a3942
Unreviewed, reverting 322233@main (e73be17fcf29)
JonWBedard Oct 20, 2026
1ea90c6
Documents with a Document-Isolation-Policy are never restored from th…
annevk Oct 20, 2026
d420e1d
[GARDENING][macOS] REGRESSION(323176@main): accessibility/isolated-tr…
JEspinal01 Oct 20, 2026
78fd849
location.replace() of a frame in another process adds a session histo…
annevk Oct 20, 2026
409caec
[GARDENING]NEW TEST(323879@main): media/modern-media-controls/spatial…
JEspinal01 Oct 20, 2026
bc6b12f
[GTK] API test WebKit.EventModifiers is failing
csaavedra Oct 20, 2026
f0a484c
[Webpage Translation Refactoring] webViewBoundingRect does not reflec…
jesxilin Oct 20, 2026
2831b19
[ANGLE] Fix ANGLEUnitTests test failure and crash prompt
roberto-apple Oct 20, 2026
fcb71e3
A navigation to the current URL gets the wrong navigationType when do…
annevk Oct 20, 2026
3c91014
Web Inspector: [Site isolation] "Inspect Element" on a cross-origin i…
AnujPanta1 Oct 20, 2026
c67dfb7
[Cocoa] Add a testing hook to make it possible to test WebKit's captu…
eric-carlson Oct 20, 2026
aad6d4a
[GARDENING][macOS x86_64]REGRESSION(319900@main): imported/w3c/web-pl…
JEspinal01 Oct 20, 2026
a0d2faa
[Site Isolation] SpeechRecognition does not start in cross-site iframes
szewai Oct 20, 2026
2b4cd37
Add a preference to enable EnhancedSecurity by default for system apps
darryl-apple Oct 20, 2026
2adcfb1
For compression dictionaries always use the structural url pattern ma…
TingPing Oct 20, 2026
89f9618
Use `std::atomic_ref` in Atomics.h's free standing functions
kmiller68 Oct 20, 2026
29e66e2
action.setIcon({tabId: null}) throws instead of setting a global icon
elijahsawyers Oct 20, 2026
a5ab322
Restrict compression dictionary transport to HTTPS
TingPing Oct 20, 2026
4f97164
[JSC] Remove friend declarations Heap and Collector no longer need
dhecht Oct 20, 2026
22c50d5
[webkitcorepy] Add type annotations to the remaining modules
emw-apple Oct 20, 2026
aad19f2
[Site Isolation] Web Inspector: Test that frames in other processes s…
basuke Oct 20, 2026
1733986
Storage access should not be inherited by SharedWorkers and ServiceWo…
Oct 20, 2026
5949381
REGRESSION(321159@main): Creating a <select> triggers a CSP style-src…
fantasai Oct 20, 2026
6b83e1c
[Site Isolation] http/tests/intersection-observer/zoomed-page-iframe-…
rniwa Oct 20, 2026
e0cffad
Unreviewed, reverting 324148@main (2eb82b333f00)
revert-bot Oct 20, 2026
c127320
[Gardening]: [macOS Debug] TestWebKitAPI.WKAttachmentTestsMac.DragAtt…
martadarbinyan Oct 20, 2026
52524ff
[Remote Snapshotting] Printing pages into a recording context carries…
szewai Oct 20, 2026
4152d95
REGRESSION(319257@main): Twitter videos are clipped to the wrong corn…
mattwoodrow Oct 20, 2026
2638b97
[macOS] Scroll bars in nested iframes keep the old style when the sys…
zakariaridouh Oct 20, 2026
583ab4b
[webkitbugspy] Bugzilla's cc_radar() continues when the user chooses …
emw-apple Oct 20, 2026
4648ccf
[webkitscmpy] Add a mypy test and type annotations for the core model
emw-apple Oct 20, 2026
da8adc5
[Site Isolation][iOS] Data detection skips cross-site iframes
zakariaridouh Oct 20, 2026
d1eca97
[Writing Tools] Undo after a proofread with multiple suggestions leav…
megangardner Oct 20, 2026
695b89b
[webkitbugspy] Add type annotations and a mypy test
emw-apple Oct 20, 2026
4d44245
Refactoring: Introducing ENABLE(LIB_JSC_TOOLS).
Oct 20, 2026
0116e2a
[Win] Garden two new failures on Win-Tests-EWS
csaavedra Oct 20, 2026
d68d875
[GTK] API test fails: WebKit.SpacebarScrolling
csaavedra Oct 20, 2026
8e8cccb
[JSC] PutStackSinking should run only when ArgumentsElimination did s…
Constellation Oct 20, 2026
89dcb36
[JSC] Quickly scan whether we have OAS target nodes
Constellation Oct 20, 2026
ba25071
[css-fonts] Scale the medium font size with the user's text size unde…
vitorroriz Oct 20, 2026
2f0d2c1
[Site Isolation] Fullscreen from a cross-site iframe fires resize bef…
zakariaridouh Oct 20, 2026
b4e5a41
[Site Isolation] Scroll snap state does not reach cross-site iframes
zakariaridouh Oct 20, 2026
554a3bd
[WTF] Use C++20 concepts in WeakPtr
zakariaridouh Oct 20, 2026
db810d8
[ews] More Debug API tests machines
JonWBedard Oct 20, 2026
52cc112
[webkitpy] Find simulators whose runtime differs from the SDK in its …
Smackteo Oct 20, 2026
0cdff65
[webkitpy] Find the tests a TestExpectations directory line covers wi…
Smackteo Oct 20, 2026
e12d6fc
Dedicated workers of documents with a Document-Isolation-Policy aren'…
annevk Oct 20, 2026
58562e0
[webkitscmpy] Add type annotations to local and remote
emw-apple Oct 20, 2026
b848410
[Cocoa] Don't remember a capture permission denial unless it came fro…
eric-carlson Oct 20, 2026
0976f3a
Remove dlsym telemetry
pvollan Oct 20, 2026
675aae0
Remove some no longer needed code.
Oct 20, 2026
b40ec02
[JSC] Proxy should directly call a function when it does not have app…
Constellation Oct 21, 2026
de4efbb
[JSC] BigInt64 / BigUint64 toNativeFromValueWithoutCoercion should ch…
Constellation Oct 21, 2026
825e963
[JSC] Array literals with only holes should use `new_array_with_size`
sosukesuzuki Oct 21, 2026
bfc0e9c
[GARDENING][DEBUG]REGRESSION(323719@main): http/tests/ipc/createnewpa…
JEspinal01 Oct 21, 2026
b6b871f
[Image Redux] Make each Style::Image kind pass ImageQualityController…
weinig Oct 21, 2026
33ce3bf
[WTF] Replace dragonbox with zmij
Constellation Oct 21, 2026
7e0b72b
Merge remote-tracking branch 'upstream/main' into bun/upgrade-to-33ce…
claude Oct 21, 2026
5ac1583
[WTF] Atomics.h: keep the Atomic<T> casts where the standard library …
claude Oct 21, 2026
20209b2
[JSC] The count of private names a function uses does not depend on t…
claude Oct 21, 2026
70d3fed
[WTF] Vector::crashIfBorrowed(): one shared crash instead of RELEASE_…
claude Oct 21, 2026
bc7aebe
Merge remote-tracking branch 'origin/main' into bun/upgrade-to-33ce3b…
claude Oct 21, 2026
35cf4b1
Merge remote-tracking branch 'origin/main' into bun/upgrade-to-33ce3b…
claude Oct 21, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
12 changes: 11 additions & 1 deletion Configurations/CommonBase.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,16 @@ WK_SWIFT_MEMORY_SAFETY_ERROR_FLAGS = -Werror StrictMemorySafety -Werror ForeignR
// rdar://164903024: Work around false positives in some SDK versions.
WK_SWIFT_MEMORY_SAFETY_ERROR_FLAGS[sdk=*26.3*] = ;

// Treat VariableNeverMutated warnings as errors only with SDKs that ship Swift 6.4 or later. Swift 6.3
// needs `var` bindings in some places to work around rdar://170907318.
WK_SWIFT_VARIABLE_NEVER_MUTATED_ERROR_FLAGS = -Werror VariableNeverMutated;
WK_SWIFT_VARIABLE_NEVER_MUTATED_ERROR_FLAGS[sdk=*26.*] = ;

// Treat UnusedImportAccess warnings as errors only with SDKs that ship Swift 6.4 or later. Swift 6.3
// doesn't support the `@diagnose` attribute used to suppress existing violations.
WK_SWIFT_UNUSED_IMPORT_ACCESS_ERROR_FLAGS = -Werror UnusedImportAccess;
WK_SWIFT_UNUSED_IMPORT_ACCESS_ERROR_FLAGS[sdk=*26.*] = ;

// rdar://168992837 requires us to tell swiftc to tell clang how to set version macros
// when interpreting C++ headers as clang modules, so that we get identical feature
// enablement to C++ interpretation of those headers (otherwise we get mismatched data members etc.)
Expand All @@ -145,6 +155,6 @@ WK_SWIFT_CLANG_DEPLOYMENT_TARGET_macosx = -clang-target $(CURRENT_ARCH)-apple-ma

// rdar://170129992: remove -track-system-dependencies when resolved
// FIXME(rdar://189511928, rdar://189512247): remove -disable-round-trip-debug-types when both are resolved
OTHER_SWIFT_FLAGS = $(inherited) $(WK_AVAILABILITY_OVERLAY_SWIFT_FLAGS) -Xcc -fvisibility=hidden -Werror ExistentialAny -Werror NoUseUnstructuredThrowingTask -Werror NoUsage -enable-upcoming-feature ExistentialAny $(WK_SWIFT_MEMORY_SAFETY_FLAGS) $(WK_SWIFT_MEMORY_SAFETY_ERROR_FLAGS) $(WK_SWIFT_CLANG_DEPLOYMENT_TARGET) $(WK_SANITIZER_OTHER_SWIFT_FLAGS) -enable-upcoming-feature InternalImportsByDefault -enable-upcoming-feature MemberImportVisibility -track-system-dependencies -enable-experimental-feature ImportCxxMembersLazily -enable-experimental-feature SuppressedAssociatedTypes -enable-experimental-feature SuppressedAssociatedTypesWithDefaults -enable-experimental-feature ForeignReferenceTypeInheritance -Xfrontend -disable-round-trip-debug-types -enable-experimental-feature SafeInteropWrappers;
OTHER_SWIFT_FLAGS = $(inherited) $(WK_AVAILABILITY_OVERLAY_SWIFT_FLAGS) -Xcc -fvisibility=hidden -Werror ExistentialAny -Werror NoUseUnstructuredThrowingTask -Werror NoUsage $(WK_SWIFT_VARIABLE_NEVER_MUTATED_ERROR_FLAGS) $(WK_SWIFT_UNUSED_IMPORT_ACCESS_ERROR_FLAGS) -enable-upcoming-feature ExistentialAny $(WK_SWIFT_MEMORY_SAFETY_FLAGS) $(WK_SWIFT_MEMORY_SAFETY_ERROR_FLAGS) $(WK_SWIFT_CLANG_DEPLOYMENT_TARGET) $(WK_SANITIZER_OTHER_SWIFT_FLAGS) -enable-upcoming-feature InternalImportsByDefault -enable-upcoming-feature MemberImportVisibility -track-system-dependencies -enable-experimental-feature ImportCxxMembersLazily -enable-experimental-feature SuppressedAssociatedTypes -enable-experimental-feature SuppressedAssociatedTypesWithDefaults -enable-experimental-feature ForeignReferenceTypeInheritance -Xfrontend -disable-round-trip-debug-types -enable-experimental-feature SafeInteropWrappers;

OTHER_LIBTOOLFLAGS = -no_warning_for_no_symbols;
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 = 627;
MINOR_VERSION = 1;
TINY_VERSION = 4;
TINY_VERSION = 5;
MICRO_VERSION = 0;
NANO_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
Expand Down
16 changes: 16 additions & 0 deletions JSTests/microbenchmarks/array-literal-with-only-holes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
function test(x) {
let pair = [,,];
pair[0] = x + 0.5;
pair[1] = x - 0.5;
let quad = [,,,,];
quad[0] = x;
quad[3] = x;
return pair[0] + pair[1] + quad.length;
}
noInline(test);

let result = 0;
for (let i = 0; i < 2e6; ++i)
result += test(i);
if (result !== 3999998000000 + 8e6)
throw new Error("bad result " + result);
19 changes: 19 additions & 0 deletions JSTests/microbenchmarks/for-of-map-set-mixed.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
function test(iterable) {
let sum = 0;
for (const e of iterable) {
if (typeof e === "number")
sum += e;
else
sum += e[0] + e[1];
}
return sum;
}
noInline(test);

const map = new Map([[1, 10], [2, 20], [3, 30], [4, 40], [5, 50]]);
const set = new Set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);

for (let i = 0; i < 1e5; ++i) {
test(map);
test(set);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
function test(collator, a, b, n) {
let result = 0;
for (let i = 0; i < n; ++i)
result += collator.compare(a, b);
return result;
}

let collator = new Intl.Collator("en");
let prefix = "The quick brown fox jumps over the lazy dog 0123456789 ABCDEFGHIJ";
let a = $vm.make16BitStringIfPossible(prefix + "a");
let b = $vm.make16BitStringIfPossible(prefix + "b");

let result = test(collator, a, b, 2e6);
if (result !== -2e6)
throw new Error("Bad result: " + result);
15 changes: 15 additions & 0 deletions JSTests/microbenchmarks/intl-collator-compare-equal-long.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
function test(collator, a, b, n) {
let result = 0;
for (let i = 0; i < n; ++i)
result += collator.compare(a, b);
return result;
}

let collator = new Intl.Collator("en");
let text = "The quick brown fox jumps over the lazy dog 0123456789 ABCDEFGHIJ";
let a = text.split("").join("");
let b = text.split("").join("");

let result = test(collator, a, b, 2e6);
if (result !== 0)
throw new Error("Bad result: " + result);
15 changes: 15 additions & 0 deletions JSTests/microbenchmarks/intl-collator-compare-first-char-diff.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
function test(collator, a, b, n) {
let result = 0;
for (let i = 0; i < n; ++i)
result += collator.compare(a, b);
return result;
}

let collator = new Intl.Collator("en");
let suffix = "he quick brown fox jumps over the lazy dog 0123456789 ABCDEFGHIJ";
let a = ("a" + suffix).split("").join("");
let b = ("b" + suffix).split("").join("");

let result = test(collator, a, b, 2e6);
if (result !== -2e6)
throw new Error("Bad result: " + result);
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
function test(collator, a, b, n) {
let result = 0;
for (let i = 0; i < n; ++i)
result += collator.compare(a, b);
return result;
}

let collator = new Intl.Collator("en");
let prefix = "The quick brown fox jumps over the lazy dog 0123456789 ABCDEFGHIJ";
let a = (prefix + "a").split("").join("");
let b = (prefix + "A").split("").join("");

let result = test(collator, a, b, 2e6);
if (result !== -2e6)
throw new Error("Bad result: " + result);
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
function test(collator, a, b, n) {
let result = 0;
for (let i = 0; i < n; ++i)
result += collator.compare(a, b);
return result;
}

let collator = new Intl.Collator("en");
let prefix = "The quick brown fox jumps over the lazy dog 0123456789 ABCDEFGHIJ";
let a = prefix.split("").join("");
let b = (prefix + "z").split("").join("");

let result = test(collator, a, b, 2e6);
if (result !== -2e6)
throw new Error("Bad result: " + result);
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
function test(collator, a, b, n) {
let result = 0;
for (let i = 0; i < n; ++i)
result += collator.compare(a, b);
return result;
}

let collator = new Intl.Collator("en");
let prefix = "The quick brown fox jumps over the lazy dog 0123456789 ABCDEFGHIJ";
let a = (prefix + "a").split("").join("");
let b = (prefix + "b").split("").join("");

let result = test(collator, a, b, 2e6);
if (result !== -2e6)
throw new Error("Bad result: " + result);
38 changes: 38 additions & 0 deletions JSTests/microbenchmarks/intl-collator-compare-sort-short-keys.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
function makeKeys(count)
{
let syllables = ["ka", "ri", "to", "Mo", "su", "Na", "be", "lo", "Ze", "pi", "du", "fa", "ge", "ho", "Ji", "wu"];
let keys = [];
let seed = 1;
for (let i = 0; i < count; ++i) {
let key = "";
let length = 4 + (i % 5);
for (let j = 0; j < length; ++j) {
seed = (seed * 1103515245 + 12345) & 0x7fffffff;
key += syllables[seed % syllables.length];
}
keys.push(key);
}
return keys;
}

function test(collator, keys, n) {
let checksum = 0;
for (let i = 0; i < n; ++i) {
let sorted = keys.slice().sort(collator.compare);
checksum += sorted[0].length + sorted[sorted.length - 1].length;
}
return checksum;
}

let collator = new Intl.Collator("en");
let keys = makeKeys(500);
let sorted = keys.slice().sort(collator.compare);
for (let i = 1; i < sorted.length; ++i) {
if (collator.compare(sorted[i - 1], sorted[i]) > 0)
throw new Error("Bad order at " + i);
}

let expected = (sorted[0].length + sorted[sorted.length - 1].length) * 3000;
let result = test(collator, keys, 3000);
if (result !== expected)
throw new Error("Bad result: " + result);
10 changes: 10 additions & 0 deletions JSTests/microbenchmarks/new-regexp-with-flags.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
var patterns = ["fo+", "ba[rz]", "x.*y", "^f$"];
var flags = ["g", "i", "gi", "m"];

function test(pattern, flags) {
return new RegExp(pattern, flags);
}
noInline(test);

for (var i = 0; i < 1e6; ++i)
test(patterns[i & 3], flags[(i >> 2) & 3]);
15 changes: 15 additions & 0 deletions JSTests/microbenchmarks/put-by-id-transition-on-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
(function() {
function tag(array, value) {
array.tag = value;
return array;
}
noInline(tag);

var result = 0;
for (var i = 0; i < 2000000; ++i) {
var array = tag([i, i + 1], i);
result += array.tag + array[1];
}
if (result !== 4000000000000)
throw new Error("Bad result: " + result);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
(function() {
var symbol = Symbol("tag");

function tag(array, value) {
array[symbol] = value;
return array;
}

var result = 0;
for (var i = 0; i < 2000000; ++i) {
var array = tag([], i);
result += array[symbol] + array.length;
}
if (result !== 1999999000000)
throw new Error("Bad result: " + result);
})();
11 changes: 11 additions & 0 deletions JSTests/microbenchmarks/spread-typed-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
function test(typedArray) {
return [...typedArray];
}
noInline(test);

const typedArray = new Uint8Array(32);
for (let i = 0; i < typedArray.length; i++)
typedArray[i] = i;

for (let i = 0; i < 1e6; i++)
test(typedArray);
9 changes: 9 additions & 0 deletions JSTests/microbenchmarks/string-pad-start-short.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
var strings = ["1", "2", "3", "4", "15", "26", "37", "48"];

function test(string) {
return string.padStart(2, "0") + string.padStart(8, "0") + string.padEnd(8);
}
noInline(test);

for (var i = 0; i < 1e6; ++i)
test(strings[i & 7]);
13 changes: 13 additions & 0 deletions JSTests/microbenchmarks/string-replace-all-short-string.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
var strings = ["foo", "bar", "xfoooy", "baz", "fo", "f"];

function replacer(match) {
return "0";
}

function test(string) {
return string.replaceAll("o", "0") + string.replaceAll("o", replacer) + string.replace("o", replacer);
}
noInline(test);

for (var i = 0; i < 1e6; ++i)
test(strings[i % 6]);
17 changes: 17 additions & 0 deletions JSTests/microbenchmarks/string-split-regexp-optional-cr-then-lf.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
function splitLines(text)
{
return text.split(/\r?\n/);
}
noInline(splitLines);

const lines = [];
for (let i = 0; i < 200; ++i)
lines.push("line " + i + " " + "x".repeat((i * 7) % 60));
const lf = lines.join("\n");
const crlf = lines.join("\r\n");

let count = 0;
for (let i = 0; i < 1e4; ++i)
count += splitLines(lf).length + splitLines(crlf).length;
if (count !== 4e6)
throw new Error("bad count: " + count);
25 changes: 25 additions & 0 deletions JSTests/microbenchmarks/typed-array-set-concat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
function concat(chunks, result) {
let offset = 0;
for (let i = 0; i < chunks.length; i++) {
const chunk = chunks[i];
result.set(chunk, offset);
offset += chunk.length;
}
return offset;
}
noInline(concat);

const chunks = [];
for (let i = 0; i < 16; i++) {
const chunk = new Uint8Array(8 + i * 8);
chunk.fill(i + 1);
chunks.push(chunk);
}
const result = new Uint8Array(1088);

let total = 0;
for (let i = 0; i < 1e6; i++)
total += concat(chunks, result);

if (total !== 1088e6 || result[0] !== 1 || result[1087] !== 16)
throw new Error("bad: " + total);
15 changes: 15 additions & 0 deletions JSTests/microbenchmarks/typed-array-set-small.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
function test(target, source, offset) {
target.set(source, offset);
}
noInline(test);

const target = new Uint8Array(64);
const source = new Uint8Array(16);
for (let i = 0; i < source.length; i++)
source[i] = i + 1;

for (let i = 0; i < 1e7; i++)
test(target, source, i & 31);

if (target[46] !== 16)
throw new Error("bad: " + target[46]);
Loading
Loading