Skip to content
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
467 commits
Select commit Hold shift + click to select a range
5eb4c53
[WPE][GTK] Add User-Agent quirk for HBO Max
philn Jun 8, 2026
d1c5b2c
[export-w3c-test-changes] Support --delete-existing/--no-delete-existing
gsnedders Jun 8, 2026
1dc64ec
[CMake] Optimize configuration
geoffreygaren Jun 8, 2026
09f89f0
Take further steps to improve build parallelism
brentfulgham Jun 8, 2026
a291a69
Add runtime toggle for appearance defaults
mwyrzykowski Jun 8, 2026
b148037
[iOS] The UI process should not have access to the temp and cache fol…
pvollan Jun 8, 2026
08e81b2
Update web-platform-tests/tools
gsnedders Jun 8, 2026
5dcb530
[AutoFill Debugging] Fall back to extracting class names/id in the ab…
whsieh Jun 8, 2026
c6900eb
[JSC] Promise combinator's array should get vector-hint based on iter…
Constellation Jun 8, 2026
076f387
[iOS] Remove obsolete sandbox extensions for the Network extension
pvollan Jun 8, 2026
7b0aff1
[JSC] Clean up JSPromiseCombinatorsGlobalContext
Constellation Jun 8, 2026
ce2cb07
Fix scroll overcompensation of fixed anchor-positioned elements when …
fantasai Jun 8, 2026
3fa40e6
Cross origin iframes should not be able to set the app badge.
beidson Jun 8, 2026
b1f0940
[GTK][WPE] Gardening of tests - 2026-06-09 (x86_64)
nikolaszimmermann Jun 8, 2026
4b1e8e1
[WPE] Gardening of tests - 2026-06-09 (arm64)
nikolaszimmermann Jun 8, 2026
eef93d3
[YARR] Optimize save and restore ParenContext
Constellation Jun 8, 2026
951c3a1
[Gardening]REGRESSION(314534@main?): [macOS] media/media-source/media…
diegodelatoba Jun 8, 2026
a34f900
Fix missing `message == ` in XPCEndpointClient.mm
cdumez Jun 8, 2026
3dffc69
Use-after-move of frameInfo in WebPageProxy::decidePolicyForResponseS…
cdumez Jun 8, 2026
cf8cfa7
BlobDataTaskClient leaks completed tasks in NetworkSessionCocoa::m_bl…
cdumez Jun 8, 2026
54090eb
Use default member initializers for RenderFrameSet data members
Ahmad-S792 Jun 8, 2026
6667782
Add missing return statements in LazyRef.h and LazyUniqueRef.h
cdumez Jun 9, 2026
5960400
clampToInteger<T> does not clamp values below INT_MIN
cdumez Jun 9, 2026
4ead6b9
[Build Speed] REGRESSION (314565@main): Clean build is 30s slower
geoffreygaren Jun 9, 2026
9ff899b
[Win] Fix OpenSSLHelper summary() fallback
iangrunert Jun 9, 2026
ed70932
[MSE][iOS] Silent audio under MediaContainmentEnabled when AVStreamDa…
jyavenard Jun 9, 2026
b4b1581
[JSC] `String#split` RegExp fast path misses side effects from `ToStr…
sosukesuzuki Jun 9, 2026
012c64c
Remove some dead code from our codebase
cdumez Jun 9, 2026
7c78f81
WebPageProxy::viewScaleFactorDidChange does not update m_viewScaleFactor
cdumez Jun 9, 2026
8d6b112
[JSC] `isDefinitelyNonThenable` Structure cache can go stale when the…
sosukesuzuki Jun 9, 2026
84a71a9
[JSC] Map/Set iteration fast paths should perform `IteratorClose` whe…
sosukesuzuki Jun 9, 2026
deb8f86
[JSC] Remove redundant eager length definition in `JSPromiseConstructor`
sosukesuzuki Jun 9, 2026
f4b1fca
REGRESSION(314752@main): "Found 1 new test failure: imported/w3c/web-…
gsnedders Jun 9, 2026
f93d156
WebPageProxy::flushPending{Mouse,Key}EventCallbacks can corrupt their…
cdumez Jun 9, 2026
58b5768
[WebXR|visionOS] Try shared MTLTexture before falling back to IOSurface
djg Jun 9, 2026
8240c6a
Use default member initializers for SVGTransformDistance data members
Ahmad-S792 Jun 9, 2026
e79c024
Fix sandbox style issue in WebProcess sandbox
pvollan Jun 9, 2026
2977b59
[text-wrap: balance] Not applied to content with -webkit-line-clamp: 2
yulunwu2 Jun 9, 2026
1e2d071
Use default member initializers for Table Layout data members
Ahmad-S792 Jun 9, 2026
2b3b250
Add MediaElementSourceNode tests: creation, channel count, seek, pause
jernoble Jun 9, 2026
31e50e8
[JSC][Temporal] Validate `month` and `eraYear` in Japanese "ce"/"bce"…
sosukesuzuki Jun 9, 2026
626ab77
[AppKit Gestures] WKAppKitGestureController release logging is too noisy
aprotyas Jun 9, 2026
b1ca108
Use default member initializers for MathOperator data members
Ahmad-S792 Jun 9, 2026
e2c6133
Remove _WKSerializedNode
achristensen07 Jun 9, 2026
0a3f97a
Make testRunner.dumpResourceResponseMIMETypes able to work with site …
achristensen07 Jun 9, 2026
7901fa5
Use default member initializers for SVGSMILElement data members
Ahmad-S792 Jun 9, 2026
6eff33b
WebGL: Crash in EXTDisjointTimerQuery::queryCounterEXT task
kkinnunen-apple Jun 9, 2026
80e617e
REGRESSION: Layout Test webgl/many-contexts.html is a flaky timeout o…
kkinnunen-apple Jun 9, 2026
753ce39
Update ANGLE to 2026-06-05 (1359a25fcf265e4dc4f2f78c381a7b91a3e91d8b)
kkinnunen-apple Jun 9, 2026
7a75b47
[GStreamer] Rework suspending the player when muted and hidden
vivienne-w Jun 9, 2026
648c42f
[GTK] Implement BufferGBM::asNativeImageForTesting
yury-s Jun 9, 2026
c18ec1a
[Skia] Move upload conditions handling from SkiaRecordingResult to Sk…
carlosgcampos Jun 9, 2026
7f16a4c
REGRESSION(314788@main) Fix broken build with GCC 12
csaavedra Jun 9, 2026
4f7b193
Improve logging efficiency in GPUProcessConnection::create
pvollan Jun 9, 2026
f7025b0
Use a using alias instead of typedef for RenderTable::CollapsedBorder…
Ahmad-S792 Jun 9, 2026
44a78ec
Use auto for column position count in FixedTableLayout::layout
Ahmad-S792 Jun 9, 2026
0dedbbd
Drop redundant else after return in RenderTable::cellAbove/cellBelow
Ahmad-S792 Jun 9, 2026
b29d37c
Use range-based for loops over RenderTable::m_captions
Ahmad-S792 Jun 9, 2026
f726d50
Avoid redundant downcast in RenderTable::sectionAbove/sectionBelow
Ahmad-S792 Jun 9, 2026
f1013c6
[WebGPU] shader,validation,expression,call,builtin,pow:* is failing
tadeuzagallo Jun 9, 2026
5aba8ad
Avoid redundant width recomputation in FixedTableLayout::calcWidthArray
Ahmad-S792 Jun 9, 2026
c3741f6
Use default member initializers for RenderEmbeddedObject data members
Ahmad-S792 Jun 9, 2026
b8b7e86
Extract AutoTableLayout::isColumnCollapsed helper
Ahmad-S792 Jun 9, 2026
5decddd
[WebGPU] shader,validation,expression,call,builtin,faceForward:* is f…
tadeuzagallo Jun 9, 2026
68104fd
Expand maild render tree depth limit to cover mail app itself
anttijk Jun 9, 2026
6c2c02e
Do not rebuild unnecessary C++ from messages changes
adetaylor Jun 9, 2026
1dbae52
Use default member initializers for RenderLayoutState bitfields
Ahmad-S792 Jun 9, 2026
c3a1fc5
Unreviewed, reverting 314811@main.
revert-bot Jun 9, 2026
fc7afbc
font-synthesis: Synthetic bold not applied for variable font with fon…
vitorroriz Jun 9, 2026
66ac51e
[WPT] Incorrectly authored test file leads to failure in media-source…
jernoble Jun 9, 2026
dd3c171
Remove TrackDefault tests from media-source/ WPT tests
jernoble Jun 9, 2026
71e5e3e
Yosemite Explorer demo on webkit.org
timdream Jun 9, 2026
b041edf
[curl] Web Inspector: WebSocket response status code and status text …
dcrousso Jun 9, 2026
3a219a1
[git-webkit] Remove secret scanning setup
JonWBedard Jun 9, 2026
aae7663
IDNA cannot fail ASCII domains, even if they start with xn--
annevk Jun 9, 2026
2b529d0
[Site Isolation] Ensure BrowsingContextGroup::sharedProcessForSite do…
szewai Jun 9, 2026
a7f8174
REGRESSION(313197@main): [iOS] TestWebKitAPI.IndexedDB.IndexedDBPersi…
martadarbinyan Jun 9, 2026
bede953
[Site Isolation] BFCache crash on goBack when cached main frame was R…
basuke Jun 9, 2026
d222ffc
AX: LocalFrame is used off the main-thread in accessibility isolated …
twilco Jun 9, 2026
1c2a6d9
[Site Isolation] Implement Page.getResourceTree on the UIProcess Prox…
stwrt Jun 9, 2026
8bbb6a4
Deduplicate the distribution loop in RenderTable::distributeExtraLogi…
Ahmad-S792 Jun 9, 2026
8f6bc9a
[JSC] Add DFG MultiGetByVal and MultiPutByVal
Constellation Jun 9, 2026
2259680
[iOS] Quirk Scroll Anchoring off on reddit when the Sink It extension…
smfr Jun 9, 2026
ae01d1c
Line break should not appear after U+201D Right Double Quotation Mark
alanbaradlay Jun 9, 2026
f149be7
SVG: Do not apply text-decoration on elements with display:contents
Ahmad-S792 Jun 9, 2026
b0e6477
Web Inspector: [SI] implement querySelector, querySelectorAll, getOut…
AnujPanta1 Jun 9, 2026
0980a39
ANGLE: Metal: webgl/1.0.x/conformance/extensions/webgl-compressed-tex…
kkinnunen-apple Jun 9, 2026
2128a70
WebGL: Remove fast/canvas/webgl/webgl-compressed-texture-astc.html
kkinnunen-apple Jun 9, 2026
c202d51
Remove wk1 specific queues from ews-build.webkit
robert-jenner Jun 9, 2026
5431901
Prewarm the fallback tokenizer when requesting text extraction
whsieh Jun 9, 2026
ebf0210
Fix style issues in WebProcess sandbox
pvollan Jun 9, 2026
df9d73b
IntersectionObserver does not compute intersections for SVG element r…
Ahmad-S792 Jun 9, 2026
8d00a41
Fix null pointer dereference in WebPageProxy::updateActivityState
pvollan Jun 9, 2026
2c1df6e
Map nextslide and previousslide MediaSession actions to nexttrack and…
Jun 9, 2026
c01c10f
WPT linter fails with error
gsnedders Jun 9, 2026
4dc6d66
[Site Isolation] media-source/mediasource-changetype-play-implicit.ht…
zakariaridouh Jun 9, 2026
2a296bb
Share the percentage distribution loop in AutoTableLayout::calcEffect…
Ahmad-S792 Jun 9, 2026
9a889c6
Make Ruthvik Konda a reviewer
ruthvikkonda Jun 9, 2026
7afdf9c
[AppKit Gestures] Fatal error: Attempted to read an unowned reference…
rr-codes Jun 9, 2026
6a4f6ef
[MSE][Cocoa] MediaSampleAVFObjC methods other than divide() failed on…
jyavenard Jun 9, 2026
bdffad8
pathFromEllipseElement reads style.rx() and style.ry() without checki…
karlcow Jun 9, 2026
c25b26f
CSS corner-shape value square renamed as straight
codedbycupidity Jun 10, 2026
15b6a49
[Gardening]: [iOS] TestWebKitAPI.WritingTools.CompositionWithMultiple…
martadarbinyan Jun 10, 2026
5736e85
[Site Isolation] Fix YouTube crash
bnham Jun 10, 2026
1d48bbc
[AppKit Gestures] WKAppKitGestureController need not re-implement Int…
aprotyas Jun 10, 2026
ee04d53
color-mix() with all-absolute color components crashes renderer when …
kmonsen Jun 10, 2026
7a5eeda
[GTK][WPE] Gardening of layout tests
clopez Jun 10, 2026
3f58e20
[JSC] ParenthesesSubpatternFixedCount should support captures
Constellation Jun 10, 2026
77ee6ae
Background Fetch and Cache Storage share a single resolved-path member
cdumez Jun 10, 2026
5fb99ec
Fix unsafe capture of `this` in EventDispatcher::flushMomentumEventLo…
cdumez Jun 10, 2026
2fa8d7a
NetworkStorageManager::persistOrigin() may return true in case of error
cdumez Jun 10, 2026
fae960d
LocalStorageManager::cancelConnectToTransientLocalStorageArea cleans …
cdumez Jun 10, 2026
fbd2160
SharedWorker's navigator.userAgent ignores per-navigation _customUser…
cdumez Jun 10, 2026
e319714
WebSWClientConnection leaks pending callbacks when the network proces…
cdumez Jun 10, 2026
20af97e
WebSWClientConnection::notifyRecordResponseBodyChunk uses a HashMap i…
cdumez Jun 10, 2026
3a9039a
[Site Isolation] Make logs show if site isolation shared process is e…
RupinMittal Jun 10, 2026
8c89e3f
REGRESSION(314648@main):[macOS] Multiple tests are failing in importe…
basuke Jun 10, 2026
e63a922
Web Inspector: populate Event Listeners sidebar for cross-origin ifra…
AnujPanta1 Jun 10, 2026
c1d25a2
[webkitscmpy] Unit tests should avoid relying on Tracker._tracker's g…
gsnedders Jun 10, 2026
5472527
AX: In rare circumstances, WebKit can loop infinitely downstream of u…
twilco Jun 10, 2026
2455384
REGRESSION(312761@main): http/tests/media/fairplay/fps-mse-unmuxed-m…
jyavenard Jun 10, 2026
e6a5efe
[GFC] Add optimized intrinsic-width sizing path
yulunwu2 Jun 10, 2026
8dae835
Improve logging efficiency in GPUProcessConnection::didInitialize
pvollan Jun 10, 2026
8394b38
Update touch and gesture tests after 314731@main
aproskuryakov Jun 10, 2026
a008f1a
Remove Internals.shouldSkipResourceMonitorThrottling
szewai Jun 10, 2026
a0d2eeb
[JSC][Wasm] IPInt memory.atomic.notify/wait and memory.grow mishandle…
sosukesuzuki Jun 10, 2026
013f3f1
Unreviewed, reverting 314863@main (e63a92295a31)
AnujPanta1 Jun 10, 2026
b6a9b84
[JSC] Set class field function names at parse time instead of via `Se…
sosukesuzuki Jun 10, 2026
6a73d5e
REGRESSION(311380@main): CRASH in WebCore::LazyLoadVideoObserver::~La…
jernoble Jun 10, 2026
70d5a8f
[CMake] Set SDK based on CMAKE_OSX_SYSROOT and pin compiler tools usi…
emw-apple Jun 10, 2026
212325f
Resync `largest-contentful-paint` from WPT Upstream
smfr Jun 10, 2026
1d30614
Update Kate Lee's status to committer
kate-k-lee Jun 10, 2026
321ad9f
WebSWContextManagerConnection inspector handlers call main-thread-onl…
cdumez Jun 10, 2026
04b65f4
[MathML] Update direction-overall-003.html to match spec-compliant sy…
Ahmad-S792 Jun 10, 2026
7cbb35e
Build fix after 314875@main
pascoej Jun 10, 2026
01b1823
[CMake][GTK][WPE] Detect FreeType's builtin WOFF2 support on Skia builds
spenap Jun 10, 2026
0614d0b
git-webkit diff fails in linux
svillar Jun 10, 2026
4eab05f
[GStreamer] Migrate video sink pad probe to PadProbeHandle
philn Jun 10, 2026
ac990c0
CloseWatcherManagers inside iframes aren't notified about user activa…
lukewarlow Jun 10, 2026
0c2bbca
[WPE] Add an overview of the WPE Platform API to the documentation
csaavedra Jun 10, 2026
e9b9453
Non-unified build fixes for June 10th, 2026
csaavedra Jun 10, 2026
5bc2af8
[WebCodecs] Add support for overriding color space for HW video decoders
youennf Jun 10, 2026
df07db5
[Win] Build broken after 314752@main
iangrunert Jun 10, 2026
704d2b6
Fix instances of improper uses of quotes and apostrophes in WebKit
rmondello Jun 10, 2026
ccb3efd
Parse and serialize scroll-state container queries
kate-k-lee Jun 10, 2026
252dcd5
alert() deferral logic under SafeBrowsing not properly hooked
francovs Jun 10, 2026
c263bec
[GStreamer] Allow access to udmabuf device in bwrap sandbox
philn Jun 10, 2026
3997b5c
REGRESSION(313140@main) Introduced a race condition that permanently …
kmiller68 Jun 10, 2026
75c8d8e
[Model] existing tests under LayoutTests/model-element/ tests should …
etiennesegonzac Jun 10, 2026
8e4cc23
[GStreamer] Migrate GLVideoSink to PadProbeHandle
philn Jun 10, 2026
8c5b18b
Remove unnecessary `std::optional` initialization in WebKit
iidmsa Jun 10, 2026
a26cc29
Remove unnecessary `std::optional` initialization in WebCore
iidmsa Jun 10, 2026
7aeb5ed
moveBefore() needs to handle selections
lukewarlow Jun 10, 2026
a47428d
REGRESSION(314840@main): WPT linter crashes instead of reporting lint…
vitorroriz Jun 10, 2026
3432c64
AX: AXObjectCache::handleAttributeChange never actually handles chang…
twilco Jun 10, 2026
320c6e5
AX: Recent Events table on https://parks.wa.gov is reported as empty …
twilco Jun 10, 2026
e922a2c
[JSC] Move RegExp.prototype[Symbol.match] to C++
Constellation Jun 10, 2026
9fd79b3
[Site Isolation] Make key events attribute user interaction to the to…
RupinMittal Jun 10, 2026
7636f61
[JSC][Temporal] Cache ICU UCalendar per CalendarID in CalendarICUBridge
hyjorc1 Jun 10, 2026
9cc5fd7
[WebGPU] shader,validation,expression,call,builtin,refract:* is failing
tadeuzagallo Jun 10, 2026
d7b4706
getEnclosureList() crashes when a descendant is inside a display:cont…
kmonsen Jun 10, 2026
5318af2
Add quirk on battle.net for login accessing loopback
Jun 10, 2026
ce60187
[AppKit Gestures] Storyboards with WKWebView fail to compile (`init(c…
aprotyas Jun 10, 2026
8b40217
[iOS] Occasional UI process crash under PageClientImpl::didCommitLoad…
whsieh Jun 10, 2026
8b4585e
Do not rebuild unnecessary C++ from messages changes [take two]
adetaylor Jun 10, 2026
6df1cac
Find in page sometimes finds the first match twice
colelao Jun 10, 2026
3ac584d
Fix CSP 'self' source matching for opaque-origin documents
roberto-apple Jun 10, 2026
7cf151e
Unreviewed, fix the internal iOS build
whsieh Jun 10, 2026
4b26c3b
Update libwabt.js to support newer WebAssembly features
colelao Jun 10, 2026
ddd1bdc
Theater model unloads between 2 seat selections
jeanhbr Jun 10, 2026
8df9152
[Site Isolation] REGRESSION(314640@main): [ iOS Debug ] 32x site-isol…
RupinMittal Jun 10, 2026
08e30f6
PlayStation Port: Build failure in SIMDUTF.cpp due to missing AVX-512…
PardeepYadav1 Jun 10, 2026
6db5772
Improve logging efficiency in CachedResource
pvollan Jun 10, 2026
abe4593
[Navigation API] Resync Navigation API WPT tests
RupinMittal Jun 10, 2026
9c01a36
[Gardening]: REGRESSION(314640@main): [macOS Debug ] ASSERTION FAILED…
martadarbinyan Jun 10, 2026
e67a46f
Enhanced Security sites database should gracefully handle statement f…
Jun 10, 2026
a03eea6
[Skia] Use skgpu::Budgeted::kYes for surfaces targeting internal skia…
carlosgcampos Jun 10, 2026
2780830
[Swift GTK] Enable Swift back forward list on GTK by default (take two)
adetaylor Jun 10, 2026
ecb5f40
[MathML] Support embellished operator detection through mrow for unde…
Ahmad-S792 Jun 10, 2026
5394073
[Site Isolation] Avoid re-searching the document when selecting a fin…
charliewolfe Jun 10, 2026
8452269
REGRESSION(306393@main): SelectFallbackButtonElement should have styl…
annevk Jun 10, 2026
cd4bc5c
TransformOperation TextStream uses "scaleX" for ScaleZ
charliewolfe Jun 10, 2026
49d63bf
[MathML] Operators routed through MathOperator are invisible when the…
Ahmad-S792 Jun 10, 2026
360d3d3
ColorSpace::XYZ_D65 is logged as "XYZ-D50" in the TextStream operator
charliewolfe Jun 10, 2026
441e3da
[JSC] Remove a misleading comment in Heap::runEndPhase and run delete…
dhecht Jun 10, 2026
6fc2044
Possible null-deref in checkRedirection completion
charliewolfe Jun 10, 2026
78f58a3
createVPCodecParametersString zero-pads bitDepth based on transferCha…
charliewolfe Jun 10, 2026
c241847
GraphicsLayerAnimation TextStream dump iterationCount under "delay"
charliewolfe Jun 10, 2026
82ef6d0
Possible null-deref in NetworkProcess::deleteWebsiteDataForOrigin wit…
charliewolfe Jun 10, 2026
cedae32
[Gardening]: [macOS Debug ] ASSERTION FAILED: std::holds_alternative<…
martadarbinyan Jun 10, 2026
ae2e4a4
SourceBufferPrivate::validateInitializationSegment iterates videoTrac…
charliewolfe Jun 10, 2026
6a12936
Null deref in Image::toShareableBitmap when ShareableBitmap::create()…
charliewolfe Jun 10, 2026
57d0eed
GraphicsContextState::mergeAllChanges records the wrong change flags …
charliewolfe Jun 10, 2026
459c9e9
PlayStation: Main thread assertion fails on PlayStation
Ashusahani Jun 10, 2026
a1399ba
ImageOrientation::Orientation TextStream operator swaps top/bottom fo…
charliewolfe Jun 10, 2026
0345af3
border-shape-ignore-radius-computed.html asserts keyword serializatio…
codedbycupidity Jun 10, 2026
d343d17
TrackPrivateBase::removeClient has an inverted bounds check
charliewolfe Jun 10, 2026
e092063
Skip strokeWidth resolution when no markers and no zero-length caps n…
nullhook Jun 10, 2026
74eb129
Undefined left-shift in AV1 readULEBSize()
charliewolfe Jun 10, 2026
13c2aba
[CMake] Integrate WebKitAdditions as a CMake target
emw-apple Jun 10, 2026
fec8c9b
Add Jeffrey Xu to contributors list
jeffreyhxu Jun 10, 2026
e7665a9
[libpas] Wrap test_pas with xctest harness
Achierius Jun 10, 2026
3ad8ffd
[Site Isolation] BFCache restore broken for back-navigation through a…
basuke Jun 10, 2026
90b15da
[webkitpy] commits_for_upload should use path_to_module instead of __…
gsnedders Jun 10, 2026
ae87bf6
Fix style issues in Networking process sandbox
pvollan Jun 10, 2026
5c716eb
WebModelPlayer should support setting the entityTransform while the m…
etiennesegonzac Jun 10, 2026
a3cc416
Have VTTRegion use LoggerHelper
danae404 Jun 10, 2026
dfc2007
Changing caption display mode and language simultaneously can cause o…
danae404 Jun 10, 2026
94ecf40
[webkitbugspy] Lazily resolve radar authentication
JonWBedard Jun 10, 2026
c10af47
Unreviewed, reverting 314897@main (a26cc29546f0)
martadarbinyan Jun 10, 2026
9ce8d06
REGRESSION(307380@main): Possible null pointer dereference in WebPage…
shallawa Jun 10, 2026
6870371
generated-serializers.py should not complain about residual types
mcatanzaro Jun 10, 2026
23b4028
RemoteLayerTreeHost::updateLayerTree may dereference a null root node…
cdumez Jun 10, 2026
d3dd450
WebAuthenticatorCoordinatorProxy fails to return after a released Web…
cdumez Jun 10, 2026
870c656
[iOS] WKWebView stuck on a blank/white screen after a quick app-switc…
cdumez Jun 10, 2026
cdd711f
REGRESSION(259426@main): [WebAuthn] CcidConnection fails to detect le…
cdumez Jun 10, 2026
38dda74
CtapAuthenticator strands an internal continuation handler when resta…
cdumez Jun 10, 2026
3533e63
NetworkProcessProxy::dataTaskWillPerformHTTPRedirection drops its com…
cdumez Jun 10, 2026
f46ff32
Resolve stray `if` in loadSubframe
charliewolfe Jun 10, 2026
758fa8a
[cmake] Make ENABLE_BACK_FORWARD_LIST_SWIFT configurable
basuke Jun 10, 2026
5ab9297
[Site Isolation] Web Inspector: Introduce a CSS agent for the frame t…
the-chenergy Jun 10, 2026
da312a7
Follow-up to "[CMake] Integrate WebKitAdditions as a CMake target"
emw-apple Jun 10, 2026
ae840bd
WebFrameProxy::nextSibling/previousSibling compare find() against the…
charliewolfe Jun 10, 2026
19f9109
Remove extraneous smart pointer get() calls from StyleSubstitutionRes…
jelee53 Jun 10, 2026
cf40e12
Restrict DocumentPrefetcher redirects to same-origin like we do with …
achristensen07 Jun 10, 2026
7ad88af
Fix RunningBoard not being able to manage WebKit XPC services on Mac
bnham Jun 11, 2026
5c8b964
NEW-TEST(314615@main): [visionOS Debug] http/tests/security/model-ele…
achristensen07 Jun 11, 2026
047a641
Remove unused code in WKPagePrivateMac.mm
achristensen07 Jun 11, 2026
07f15d6
TextResourceDecoder's find() skips the last candidate
charliewolfe Jun 11, 2026
52b94b3
Synchronize WPT custom-elements
annevk Jun 11, 2026
10ed2f4
Move to API for grammar checking.
megangardner Jun 11, 2026
e46667f
[JSC] Deferred module namespace's `"then"` leaks into `Object.keys`
sosukesuzuki Jun 11, 2026
c8e53c7
[JSC] `Heap::clearConcurrentRetainedDataIfPossible()` should not run …
sosukesuzuki Jun 11, 2026
fa68546
NavigationAPIMethodTracker should manage its own promise settlement
basuke Jun 11, 2026
afdeb7a
Several functions in WebAuthenticatorCoordinator fail to call their c…
cdumez Jun 11, 2026
fd62b64
m_scriptTrackingPrivacyDataUpdateObserver is reused for 2 observers
cdumez Jun 11, 2026
ace89f6
Avoid some ref-counting churn in OriginStorageManager
cdumez Jun 11, 2026
2a28bec
[Site Isolation] Web Inspector: Implement per-frame CSS functions wit…
the-chenergy Jun 11, 2026
412a823
Prevent re-entrant calls to dispatchPlayPauseEventsIfNeedsQuirks()
szewai Jun 11, 2026
19e18af
[JSC][Temporal] Fix double-throw crash in Temporal constructors; clea…
hyjorc1 Jun 11, 2026
221dcc8
[JSC][Temporal] Fix crash in Temporal.PlainMonthDay.from with very la…
hyjorc1 Jun 11, 2026
1632df7
StabilityTracer: MobileSafari at Received an invalid message 'WebLock…
RupinMittal Jun 11, 2026
f4f624c
CorrectionPanel's autocorrection completion handler captures WebViewI…
cdumez Jun 11, 2026
5c64352
[JSC] `GatherAvailableAncestors` and `AsyncModuleExecutionRejected` c…
sosukesuzuki Jun 11, 2026
42ec79c
Potential use after free of m_controller under ReadableStreamBYOBRequ…
youennf Jun 11, 2026
08713e9
WebGL: UNSIGNED_INT drawElements() does not validate large indexes co…
kkinnunen-apple Jun 11, 2026
24362e6
[JSC] Make wasm name section parsing threadsafe
syg Jun 11, 2026
95df7e6
Merge remote-tracking branch 'upstream/main' into bun/upgrade-to-2436…
sosukesuzuki Jun 11, 2026
10fc0ca
Fix cross-compile breakage from upstream merge
sosukesuzuki Jun 11, 2026
92b221c
FastMalloc: honor extended alignment in class operator new
sosukesuzuki Jun 11, 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.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
autoinstall.cache.d
project.xcworkspace
xcuserdata
*.xcresult
DerivedData
.mailmap
results
Expand Down Expand Up @@ -96,4 +97,6 @@ CLAUDE.md

# Ignore tracing files
*.atrc
*.profraw
*.pas_stats.jsonl

63 changes: 9 additions & 54 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,16 @@
# and loading the cross-compilation settings from CMAKE_TOOLCHAIN_FILE.

cmake_minimum_required(VERSION 3.20)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake")

if (CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
# Resolve the SDK and pin tools before the call to project().
include(WebKitXcodeSDK)
endif ()

if (PORT STREQUAL "IOS")
# FIXME: Delete or merge into WebKitXcodeSDK logic.
set(CMAKE_SYSTEM_NAME iOS)
if (CMAKE_IOS_SIMULATOR)
set(_sdk_name "iphonesimulator.internal")
set(_sdk_name_fallback "iphonesimulator")
else ()
set(_sdk_name "iphoneos.internal")
set(_sdk_name_fallback "iphoneos")
endif ()
execute_process(COMMAND xcrun --sdk ${_sdk_name} --show-sdk-path
OUTPUT_VARIABLE _ios_sysroot
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE _internal_sdk_result
ERROR_QUIET)
if (NOT _internal_sdk_result EQUAL 0 OR NOT _ios_sysroot)
set(_ios_sysroot "")
if (CMAKE_OSX_SYSROOT AND EXISTS "${CMAKE_OSX_SYSROOT}")
set(_ios_sysroot "${CMAKE_OSX_SYSROOT}")
elseif (DEFINED ENV{SDKROOT} AND EXISTS "$ENV{SDKROOT}" AND "$ENV{SDKROOT}" MATCHES "iPhone")
set(_ios_sysroot "$ENV{SDKROOT}")
else ()
execute_process(COMMAND xcrun --sdk ${_sdk_name_fallback} --show-sdk-path
OUTPUT_VARIABLE _ios_sysroot
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET)
endif ()
endif ()
if (_ios_sysroot)
set(CMAKE_OSX_SYSROOT "${_ios_sysroot}" CACHE PATH "iOS SDK path" FORCE)
endif ()
unset(_sdk_name)
unset(_sdk_name_fallback)
unset(_internal_sdk_result)
unset(_ios_sysroot)

if (NOT CMAKE_OSX_ARCHITECTURES)
if (CMAKE_OSX_SYSROOT MATCHES "\\.Internal\\.sdk$" AND NOT CMAKE_OSX_SYSROOT MATCHES "[Ss]imulator")
execute_process(COMMAND uname -m
Expand All @@ -66,32 +40,11 @@ if (PORT STREQUAL "IOS")
endif ()
endif ()

if (CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND NOT CMAKE_SYSTEM_NAME STREQUAL "iOS" AND NOT CMAKE_OSX_SYSROOT)
# Set CMAKE_OSX_SYSROOT before the project() call below. project() runs ABI
# detection tests whose results are cached; having the wrong sysroot there
# would cause those cached results to refer to a different SDK than actual
# builds use. OptionsMac.cmake (which sets this via WEBKIT_XCRUN) is loaded
# only after project() via include(WebKitCommon), so it is too late.
# WEBKIT_XCRUN is also unavailable here because WebKitXcrun.cmake is
# included by OptionsMac.cmake.
execute_process(COMMAND xcrun --sdk macosx --show-sdk-path
OUTPUT_VARIABLE _macos_sysroot
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE _xcrun_result
ERROR_QUIET)
if (_xcrun_result EQUAL 0 AND _macos_sysroot)
set(CMAKE_OSX_SYSROOT "${_macos_sysroot}" CACHE PATH "macOS SDK path" FORCE)
endif ()
unset(_macos_sysroot)
unset(_xcrun_result)
endif ()

project(WebKit LANGUAGES C CXX)

# -----------------------------------------------------------------------------
# Common configuration
#------------------------------------------------------------------------------
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake")
include(WebKitCommon)

# -----------------------------------------------------------------------------
Expand Down Expand Up @@ -160,6 +113,8 @@ if (DEVELOPER_MODE)
endif ()
endif ()

WEBKIT_GENERATE_HEADER_MAPS()

# -----------------------------------------------------------------------------
# Print the features list last, for maximum visibility.
# -----------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion Configurations/CommonBase.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ WK_SWIFT_CLANG_DEPLOYMENT_TARGET = $(WK_SWIFT_CLANG_DEPLOYMENT_TARGET_$(WK_PLATF
WK_SWIFT_CLANG_DEPLOYMENT_TARGET_macosx = -clang-target $(CURRENT_ARCH)-apple-macos$(MACOSX_DEPLOYMENT_TARGET);

// rdar://170129992: remove -track-system-dependencies when resolved
OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fvisibility=hidden -Werror ExistentialAny -Werror NoUseUnstructuredThrowingTask -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;
OTHER_SWIFT_FLAGS = $(inherited) -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;
// Work around rdar://157581667 on affected toolchains.
OTHER_SWIFT_FLAGS[sdk=*26.2*] = $(inherited) -Xcc -fno-modulemap-allow-subdirectory-search;
OTHER_SWIFT_FLAGS[sdk=*26.3*] = $(inherited) -Xcc -fno-modulemap-allow-subdirectory-search;
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 = 19;
TINY_VERSION = 21;
MICRO_VERSION = 0;
NANO_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Stresses SetFunctionName for anonymous arrow function class fields.
class ArrowFunctionFields {
render = (...args) => args;
setLayout = (l) => l;
getLayout = () => 0;
setRenderer = (r) => r;
header = (n, v) => v;
status = (s) => s;
set = (k, v) => v;
get = (k) => k;
newResponse = (...a) => a;
body = (d) => d;
text = (t) => t;
json = (o) => o;
html = (h) => h;
redirect = (l) => l;
notFound = () => null;
}

function bench(testClass) {
var instance;
for (var i = 0; i < 1e5; i++)
instance = new testClass();
return instance;
}
noInline(bench);

bench(ArrowFunctionFields);
58 changes: 58 additions & 0 deletions JSTests/microbenchmarks/regexp-empty-body-parens.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
// This benchmarks quantified parentheses whose body can match an empty
// string, e.g. /(){3}/, /(?:){5}/, /(a?){3}/. The Yarr JIT compiles these
// patterns and then bails to the interpreter at runtime via the
// empty-match-detection branch in ParenthesesSubpattern[FixedCount]End.
// This microbenchmark guards against regressions in either the JIT
// compilation path or the interpreter fallback for the empty-body case.

(function() {
var result = 0;
var n = 200000;

var str1 = "abc";
var str2 = "";
var str3 = "aaa";
var str4 = "aaab";
var str5 = "xx";

// Pure empty body — JIT bails to interpreter on the first iteration.
var re1 = /(){3}/; // capturing empty
var re2 = /(?:){3}/; // non-capturing empty
var re3 = /((?:)){3}/; // capturing of empty alternative

// Optional / alternation that matches empty for some inputs.
var re4 = /(a?){3}/; // optional content
var re5 = /(|x){3}/; // empty alternation
var re6 = /(x|){3}/; // empty alternation

// Empty inner inside a non-empty outer.
var re7 = /(a()){3}/; // outer non-empty, inner empty

// Empty paren followed by capturing content.
var re8 = /(){2}(a)b/;

for (var i = 0; i < n; ++i) {
if (re1.exec(str1))
++result;
if (re2.exec(str1))
++result;
if (re3.exec(str1))
++result;
if (re4.exec(str2))
++result;
if (re4.exec(str3))
++result;
if (re5.exec(str2))
++result;
if (re6.exec(str5))
++result;
if (re7.exec(str4))
++result;
if (re8.exec("ab"))
++result;
}

if (result != n * 9)
throw "Error: bad result: " + result;
})();
44 changes: 44 additions & 0 deletions JSTests/microbenchmarks/regexp-fixed-count-capturing-parens.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
// This benchmarks capturing parentheses with fixed-count quantifiers whose
// body has a single alternative and contains nothing backtrackable, e.g.
// /([0-9a-fA-F]){12}/ or /([0-9a-fA-F]{4}\.){2}/. These now route to the
// ParenthesesSubpatternFixedCount fast path that no longer allocates a
// ParenContext per iteration.

(function() {
var result = 0;
var n = 500000;

// Test strings that will match
var str1 = "0123456789ab"; // for ([0-9a-fA-F]){12}
var str2 = "abcd.efff.0011"; // for ([0-9a-fA-F]{4}\.){2}([0-9a-fA-F]{4})
var str3 = "aaa"; // for ([a-z]){3}
var str4 = "abcabc"; // for ([a-z]{3}){2}

// Test strings that will fail (exercise the abort/backtrack path).
var fail1 = "0123456789ax";
var fail2 = "abcd.efgh.0011";

var re1 = /([0-9a-fA-F]){12}/;
var re2 = /([0-9a-fA-F]{4}\.){2}([0-9a-fA-F]{4})/;
var re3 = /([a-z]){3}/;
var re4 = /([a-z]{3}){2}/;

for (var i = 0; i < n; ++i) {
if (re1.exec(str1))
++result;
if (re2.exec(str2))
++result;
if (re3.exec(str3))
++result;
if (re4.exec(str4))
++result;
if (re1.exec(fail1) === null)
++result;
if (re2.exec(fail2) === null)
++result;
}

if (result != n * 6)
throw "Error: bad result: " + result;
})();
19 changes: 19 additions & 0 deletions JSTests/microbenchmarks/regexp-prototype-match-anchor.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
function shouldBe(actual, expected) {
if (JSON.stringify(actual) !== JSON.stringify(expected))
throw new Error(`Expected ${JSON.stringify(expected)} but got ${JSON.stringify(actual)}`);
}

const str = ("X".repeat(50) + "the_end").repeat(2);

const re1 = /the_end$/;
const re2 = /^X{50}the_end$/;
const re3 = /the_end/g;

for (let i = 0; i < 1e5; i++) {
shouldBe(re1[Symbol.match](str)[0], "the_end");
shouldBe(re2[Symbol.match](str), null);
shouldBe(re3[Symbol.match](str), ["the_end", "the_end"]);
shouldBe(str.match(re1)[0], "the_end");
shouldBe(str.match(re2), null);
shouldBe(str.match(re3), ["the_end", "the_end"]);
}
17 changes: 17 additions & 0 deletions JSTests/microbenchmarks/regexp-prototype-match-basic.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
function shouldBe(a, b) {
if (JSON.stringify(a) !== JSON.stringify(b))
throw new Error(`Expected ${JSON.stringify(b)} but got ${JSON.stringify(a)}`);
}

const str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzfoo";
const re1 = /foo/;
const re2 = /bar/;
const re3 = /[a-z]/g;
for (let i = 0; i < 1e4; i++) {
shouldBe(re1[Symbol.match](str)[0], "foo");
shouldBe(re2[Symbol.match](str), null);
shouldBe(re3[Symbol.match](str).length, 81);
shouldBe(str.match(re1)[0], "foo");
shouldBe(str.match(re2), null);
shouldBe(str.match(re3).length, 81);
}
19 changes: 19 additions & 0 deletions JSTests/microbenchmarks/regexp-prototype-match-complex-pattern.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
function shouldBe(actual, expected) {
if (JSON.stringify(actual) !== JSON.stringify(expected))
throw new Error(`Expected ${JSON.stringify(expected)} but got ${JSON.stringify(actual)}`);
}

const str = "abc123XYZ_foo_bar_baz_987654321".repeat(2);

const re1 = /abc\d+XYZ_foo_bar_baz_\d+/;
const re2 = /abc\d+(?=XXX)(?:_foo_)(?:bar_)(?:baz_)\d+/;
const re3 = /\d+/g;

for (let i = 0; i < 1e4; i++) {
shouldBe(re1[Symbol.match](str)[0], "abc123XYZ_foo_bar_baz_987654321");
shouldBe(re2[Symbol.match](str), null);
shouldBe(re3[Symbol.match](str), ["123", "987654321", "123", "987654321"]);
shouldBe(str.match(re1)[0], "abc123XYZ_foo_bar_baz_987654321");
shouldBe(str.match(re2), null);
shouldBe(str.match(re3), ["123", "987654321", "123", "987654321"]);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
function shouldBe(a, b) {
if (JSON.stringify(a) !== JSON.stringify(b))
throw new Error(`Expected ${JSON.stringify(b)} but got ${JSON.stringify(a)}`);
}

for (let i = 0; i < 1e5; i++) {
shouldBe(new RegExp("wor" + "ld")[Symbol.match]("hello world")[0], "world");
shouldBe(/hello/[Symbol.match]("hello" + "world" + Math.random())[0], "hello");
}
Comment on lines +6 to +9

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove Math.random() from the benchmark hot path.

Using RNG each iteration introduces unrelated and nondeterministic overhead, which can skew the RegExp.prototype[Symbol.match] measurement.

Proposed change
 for (let i = 0; i < 1e5; i++) {
     shouldBe(new RegExp("wor" + "ld")[Symbol.match]("hello world")[0], "world");
-    shouldBe(/hello/[Symbol.match]("hello" + "world" + Math.random())[0], "hello");
+    const input = "hello" + "world" + (i & 1);
+    shouldBe(/hello/[Symbol.match](input)[0], "hello");
 }
📝 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
for (let i = 0; i < 1e5; i++) {
shouldBe(new RegExp("wor" + "ld")[Symbol.match]("hello world")[0], "world");
shouldBe(/hello/[Symbol.match]("hello" + "world" + Math.random())[0], "hello");
}
for (let i = 0; i < 1e5; i++) {
shouldBe(new RegExp("wor" + "ld")[Symbol.match]("hello world")[0], "world");
const input = "hello" + "world" + (i & 1);
shouldBe(/hello/[Symbol.match](input)[0], "hello");
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@JSTests/microbenchmarks/regexp-prototype-match-no-strength-reduction.js`
around lines 6 - 9, The benchmark's hot loop is calling Math.random() each
iteration, adding nondeterministic overhead; in the for-loop that invokes
shouldBe and RegExp.prototype[Symbol.match], remove Math.random() from the
string concatenation (the second shouldBe call) so the input is deterministic —
e.g. replace "hello" + "world" + Math.random() with a constant like "helloworld"
or compute a single random suffix once outside the loop if variability is
required; update the call site that uses /hello/[Symbol.match] so it no longer
invokes Math.random() on every iteration.

Loading
Loading