Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1265 commits
Select commit Hold shift + click to select a range
9d44026
[Text Extraction] Limit `replacementStrings` substitutions to word bo…
whsieh Aug 19, 2026
f76f30e
[SOUP] An Authorization header set by the page is replaced by cached …
yury-s Aug 19, 2026
4a0a8ee
[Site isolation] Stale ScrollingTree active nodes crash the UI proces…
swpatters Aug 19, 2026
7247fcb
[Cleanup] Remove unused overloads that take CSSToLengthConversionData
weinig Aug 19, 2026
010e57f
[JSC] Gate Module.imports/exports type field behind useWasmJSTypes
chicoxyzzy Aug 19, 2026
659a232
[interactive-widget] Add navigation related layout tests
jesxilin Aug 19, 2026
4cc12fa
[JSC][Wasm] Don't assert NativeCallee on JS frames in wasm exception …
chicoxyzzy Aug 19, 2026
b7afce9
[JSC][Wasm] Prefer lowest function index for concurrent CompileError
chicoxyzzy Aug 19, 2026
76b474b
[JSC][Wasm] Split type definitions out of TypeKind
chicoxyzzy Aug 19, 2026
8ea6960
[GLIB] accessibility/keyevents-posted-for-increment-actions.html time…
dpino Aug 19, 2026
9516ed8
[JSC] Apply StringSwitch for substrings
Constellation Aug 19, 2026
cce7cff
<input type=checkbox switch>: pointer tracking uses the wrong axis an…
annevk Aug 19, 2026
9c27c4c
[Site Isolation] Evict isolated sites once the store reaches its size…
szewai Aug 19, 2026
390e2c9
Fix '#import' in cross-platform headers
adetaylor Aug 19, 2026
fb7b862
[GTK][WPE] Skia compositor: use deferred display list to paint scroll…
carlosgcampos Aug 19, 2026
ec033bb
Safer C++: Address a warning in DatagramSink.cpp
rniwa Aug 19, 2026
c823243
[JSC] Bytecode cache should generate `CodeForConstruct` for class con…
sosukesuzuki Aug 19, 2026
ce878e1
[JSC] Inline `Map#forEach` / `Set#forEach` iteration in DFG and FTL
sosukesuzuki Aug 19, 2026
511f726
[GLIB][a11y] WTR: Add missing implementation of dismiss
dpino Aug 19, 2026
928daa1
[scroll-animations] An unresolved progress-based timeline current tim…
Ahmad-S792 Aug 19, 2026
e952178
A zero-length animation attachment range produces infinite computed k…
Ahmad-S792 Aug 19, 2026
2c2b96d
[ macOS Debug ] imported/w3c/web-platform-tests/webaudio/the-audio-ap…
jelee53 Aug 19, 2026
ab10ecb
[LBSE] SVG text is scaled for the wrong resolution in a zoomed SVG do…
nikolaszimmermann Aug 19, 2026
becdb86
Location::ancestorOrigins() should build its cached list through a lo…
Ahmad-S792 Aug 19, 2026
313a4e8
REGRESSION (259876@main): Check for end iterator in WebStorageNamespa…
Aug 19, 2026
02f6ec0
[web-animations] Animations targeting ::picker-icon and ::-webkit-scr…
Ahmad-S792 Aug 19, 2026
a4cbb7e
[GLIB][a11y] WTR: Add missing implementation of focusableAncestor
dpino Aug 19, 2026
c4264e1
[GTK] Implement touch event synthesis in WebKitTestRunner
csaavedra Aug 19, 2026
834b97a
Extend WPT coverage for SVG paths and points
karlcow Aug 19, 2026
70e8323
[GTK][WPE] Use Clang by default when building with build-webkit
clopez Aug 19, 2026
e8b1d6b
HTML parser should not insert nodes the DOM would reject
annevk Aug 19, 2026
e8eea7b
[GTK] Generate serializers for GTK printing-related classes
csaavedra Aug 19, 2026
b989a86
PlatformMediaSession::clientWillBeginPlayback() should return a Gener…
jyavenard Aug 19, 2026
32b2458
REGRESSION(319347@main) [WebDriver][WPE] test_move_to_fractional_posi…
lauromoura Aug 19, 2026
6e16dfd
Remove -no-verify-emitted-module-interface
mwyrzykowski Aug 19, 2026
1abaef0
Clean up comments in HTMLDialogElement
nt1m Aug 19, 2026
c5eba51
[GLIB][a11y] accessibility/svg-text.html is failing since added in r2…
dpino Aug 19, 2026
ef90833
[GLIB] Add GRefPtrWrapper support to generate-serializers and generat…
csaavedra Aug 19, 2026
722d0b3
[SecurityFlags] Introduce SecurityFlags and propagate them to the pri…
basuke Aug 19, 2026
3ddc704
[JSC] DFG SwitchChar releases its operand before speculating that it …
tadeuzagallo Aug 19, 2026
b70772b
[css-values-5 random-item()] auto random() and random-item() in the s…
J0pan Aug 19, 2026
1c2c282
Set a more reasonable default number of wasm threads
justinmichaud Aug 19, 2026
86ad754
[Site Isolation] ad iframes auto-refresh after returning from ad clicks.
atar13 Aug 19, 2026
69acaed
Fix mac-dev-debug-o3 cmake build
achristensen07 Aug 19, 2026
0415864
[Gardening]: [ macOS Debug ] imported/w3c/web-platform-tests/webaudio…
martadarbinyan Aug 19, 2026
48f0a2d
[LBSE] Cache the SVG viewport size used for length resolution
nikolaszimmermann Aug 19, 2026
fe4fb97
[GLib] Use Firefox Quirk for claude.ai
TingPing Aug 19, 2026
485c1d7
[Geometry Interfaces] DOMMatrix2DInit-validate-fixup.html is only fai…
mveldsman Aug 19, 2026
905a225
Gate UniStdExtras
adetaylor Aug 19, 2026
f60e5f1
MEDIA_ERR_ABORTED after restore page with media from bfcache
pgorszkowski-igalia Aug 19, 2026
ca336a9
[Adwaita] Fix togglebutton not respecting dark mode
TingPing Aug 19, 2026
f324cca
Don't cache HTTP/network errors in the module map
yoavweiss Aug 19, 2026
4247c3f
Implement moving steps for HTMLOptionElement
lukewarlow Aug 19, 2026
13bd343
[list-marker] A dynamic font change does not reach the list marker's …
alanbaradlay Aug 19, 2026
0c33544
REGRESSION(318934@main): PDF HUD does not have interactive glass beha…
rr-codes Aug 19, 2026
c8003a1
Add tests for the active quirks for relevant domains per platform
colelao Aug 19, 2026
1603d30
Crash in RemoteSnapshot::applyFrame accessing null display list.
mattwoodrow Aug 19, 2026
bcdddcb
[PAL] MediaToolboxSoftLink.h's FigVideoTargetCreateWithVideoReceiverE…
basuke Aug 19, 2026
39b67e6
REGRESSION(319079@main): TestWebKitAPI.WKNavigation.PreferredHTTPSPol…
roberto-apple Aug 19, 2026
f1532b1
[GARDENING][iOS]NEW TEST(319178@main): 3x TestWebKitAPI.HTTP2Server.*…
JEspinal01 Aug 19, 2026
6131f14
[Tools] linux_get_crash_log: run GDB with a maximum timeout of 30 min…
clopez Aug 19, 2026
cacdeb3
[GARDENING][iOS]NEW TEST(319204@main): 3x TestWebKitAPI.HTTP3Server.*…
JEspinal01 Aug 19, 2026
a6b8757
CORS preflight fetch hangs indefinitely when the OPTIONS response bod…
Ahmad-S792 Aug 19, 2026
9c107ef
[WPE][GTK][MVT] Update list of MVT flaky tests
clopez Aug 19, 2026
15fa22b
Extension scripts/style sheets are injected into denied domains if Ot…
xeenon Aug 19, 2026
88b46e6
Rename and simplify BorrowedBytes
adetaylor Aug 19, 2026
723f484
[GARDENING][ DEBUG ]REGRESSION(318650@main): TestWebKitAPI.ResourceLo…
JEspinal01 Aug 19, 2026
a8095e1
[JSC] Remove prints in stress tests
hyjorc1 Aug 19, 2026
1a924f4
REGRESSION(318622@main)[Tools][JSC]: test262 runner not longer honors…
clopez Aug 19, 2026
f331c31
[Tools][JSC][Test262] Update expectations for Linux after 318774@main
clopez Aug 20, 2026
69f181a
[GARDENING][macOS DEBUG]REGRESSION(318650@main): 2x TestWebKitAPI.Enh…
JEspinal01 Aug 20, 2026
9d03f48
[JSC] Remove `CallLinkInfo::m_slowPathCount`
sosukesuzuki Aug 20, 2026
de9231d
[JSC] Use `FixedVector` for `RegExp::m_ovector` and `RareData::m_capt…
sosukesuzuki Aug 20, 2026
a1306c5
Use-after-move in `WebAssemblyScriptBufferSourceProvider::create()`
iidmsa Aug 20, 2026
86a8860
[iOS] Upstream adoption of AVSystemRouting
aestes Aug 20, 2026
a9a5dc2
[WebDriver][GLIB] Gardening misc W34 2026
lauromoura Aug 20, 2026
aeccb6e
Remove dead declarations from the DocumentTimeline header
mveldsman Aug 20, 2026
c8f6b5d
[Cleanup] Move logic from CSSCalc::Value to CSS::UnevaluatedCalcBase
weinig Aug 20, 2026
6fbae40
[JSC] Use StringSwitch with resolved rope strings in FTL
Constellation Aug 20, 2026
a5fa580
[JSC] B3::hoistLoopInvariantValues should be better at handling inter…
Constellation Aug 20, 2026
f37beb0
[GLIB] Use GRefPtrWrapped for printing serializers and remove the GRe…
csaavedra Aug 20, 2026
4f1afd5
[AppKit Gestures] Unable to position caret after <img> element
rr-codes Aug 20, 2026
a38bcdb
[CMake] Fix the iOS simulator build
zakariaridouh Aug 20, 2026
2481e6a
[AppKit Gestures] App exposé gesture should not trigger pull to refresh
aprotyas Aug 20, 2026
6c4ecf6
DisplayList::Recorder has a copy of GraphicsContext state
kkinnunen-apple Aug 20, 2026
03e836d
[JSC] Terminate Atomics.wait / Wasm atomic.wait on worker.terminate()
chicoxyzzy Aug 20, 2026
dceda81
[AppKit Gestures] Trackpad swiping between spaces should not trigger …
aprotyas Aug 20, 2026
fc8bf50
[GTK][WPE] Skia compositor: handle video orientation
carlosgcampos Aug 20, 2026
273837b
[Site Isolation] endPrinting is routed to the main-frame process, lea…
mattwoodrow Aug 20, 2026
f708941
Avoid copying CSSParserContext on every canvas fillStyle/strokeStyle …
Ahmad-S792 Aug 20, 2026
03a3ba4
[Canvas] Reorder CanvasRenderingContext2DBase::State to remove 24 byt…
Ahmad-S792 Aug 20, 2026
f2d6948
Remove unused `tryAllocateBuffer` from `Vector.h`
Ahmad-S792 Aug 20, 2026
fc43dbf
[WPE][GTK] layout test gardening
dpino Aug 20, 2026
0144456
Integrate webkit-sysprof tests with test-webkitpy script
Scony Aug 20, 2026
dd6bb17
REGRESSION(319506@main): HAVE(APPKIT_GESTURES_SUPPORT) build is broke…
aprotyas Aug 20, 2026
00b3f7e
[WKCI][ews-build.webkit.org] webkitpy bot should be triggered for cha…
clopez Aug 20, 2026
29b0c50
[GTK][WPE] Skia compositor: use promise images for WebGL DMABuf buffers
carlosgcampos Aug 20, 2026
00e3491
Inclusions required for Windows Swift forward declarations
adetaylor Aug 20, 2026
e6fb0fd
[WPE] Ctrl+C does not copy on non-editable content
TingPing Aug 20, 2026
1450e69
Provide DequeIterator default constructor
adetaylor Aug 20, 2026
e269e19
Out-of-bounds read in BMP RLE24 absolute-mode decoding
SABITHSAHEB Aug 20, 2026
5b391e6
Out-of-bounds write in PNGImageDecoder::frameComplete() ICC transform
SABITHSAHEB Aug 20, 2026
9a2bcc0
[SecurityFlags] Allow disabling security flags locally through a user…
basuke Aug 20, 2026
7da23e6
WebCodecsImageDecoder generates VideoFrames with zero durations
shallawa Aug 20, 2026
122dbbb
WebCodecsImageDecoder should rotate the decoded image based on its Im…
shallawa Aug 20, 2026
24a6944
[JSC] Do not accumulate new token positions in parseMemberExpression …
ast-hugger Aug 20, 2026
80df4de
Align HTMLCanvasElement interface with HTML spec for toDataURL() and …
Ahmad-S792 Aug 20, 2026
0ca8f08
[JSC] Remove the obsolete optimization in Lexer::shift
ast-hugger Aug 20, 2026
616b4d8
[EME][OpenCDM] Querying robustness level from CDM instead of hardcodi…
eocanha Aug 20, 2026
3302d7a
[JSC] Preallocate SourceProviderCache::m_map
ast-hugger Aug 20, 2026
1d508ef
Log active quirks to inspector console
colelao Aug 20, 2026
00ae68f
CG: Recompute context drop shadow, style if shadowsIgnoreTransforms c…
kkinnunen-apple Aug 20, 2026
7ef4708
[JSC] Stop computing free variables twice when popping a function scope
ast-hugger Aug 20, 2026
76bb85c
[Site Isolation] Fix offscreen frame throttling
bnham Aug 20, 2026
2435603
[Liquid Glass] Subject area in mail compose sometimes flashes when sh…
whsieh Aug 20, 2026
a5a2fc6
[resultsdbpy] Allow results-ews to fetch multiple tests in one batch
TheBoyRoy05 Aug 20, 2026
97f15c3
REGRESSION(319421@main): Broke internal visionOS builds (SpatialPorta…
aprotyas Aug 20, 2026
c093ebe
Choosing a spelling suggestion from the context menu fires inputType …
Ahmad-S792 Aug 20, 2026
27839ed
[CMake] Use -enable-batch-mode to improve swift compile time
emw-apple Aug 20, 2026
041d344
[Site Isolation] Elect the NowPlaying session in the GPU process
eric-carlson Aug 20, 2026
082af0d
[CMake] Build prewarm target early enough to benefit performance
emw-apple Aug 20, 2026
5cfff9f
[JSC][Wasm] Unwrap immutable globals in the ESM module namespace
chicoxyzzy Aug 20, 2026
ecccac5
Skip anchor-positioning bookkeeping when there is no anchor state
nikolaszimmermann Aug 20, 2026
3fdbaaa
Migrate internal iOS 27 and visionOS 27 layout test expectations to O…
Smackteo Aug 20, 2026
5befeaf
Migrate internal macOS 27 layout test expectations to OpenSource
Smackteo Aug 20, 2026
b1d937d
[CMake][iOS] Let Platform.h own the Cocoa features it already derives
zakariaridouh Aug 20, 2026
f8256db
Remove duplicate activeQuirks function
colelao Aug 20, 2026
513cd1b
[GARDENING][DEBUG]REGRESSION(318495@main): 3x TestWebKitAPI.SiteIsola…
JEspinal01 Aug 20, 2026
3dfdbed
Implement 2-QWAC fetching
achristensen07 Aug 20, 2026
e88b92e
[JSC] Fix BBQ i64.mul_wide register assignment in x64
Constellation Aug 20, 2026
c25fbbd
[JSC] Fix stale assertion in BBQ
Constellation Aug 20, 2026
d140987
Trailing whitespace is not trimmed when setting a value containing va…
Ahmad-S792 Aug 21, 2026
097e21a
Web Inspector: Search results don't select source code line in fetch …
dcrousso Aug 21, 2026
8554625
[CoreText] Compensate glyph origins when substituting a space's base …
brentfulgham Aug 21, 2026
0859643
[GARDENING][Tahoe]REGRESSION(318278@main): http/tests/websocket/tests…
JEspinal01 Aug 21, 2026
874800d
Remove WebPushDaemon::toPushClientConnection
jelee53 Aug 21, 2026
df8786e
Enable storage site validation
szewai Aug 21, 2026
2165451
[YARR] `tryConsumeBackReference` should restore input position when a…
sosukesuzuki Aug 21, 2026
01f04c4
[YARR] Compile lookbehinds containing backreferences in the JIT
sosukesuzuki Aug 21, 2026
2f072fb
[CSS] Set CSSUserSelectEnabled to stable
francovs Aug 21, 2026
68d3bd3
text-overflow should be supported as an SVG presentation attribute
karlcow Aug 21, 2026
1cbe050
Remove handlers for site specific quirks
colelao Aug 21, 2026
e322518
[CMake][Cocoa] ENGINEERING_BUILD is never defined, disabling JSC rest…
basuke Aug 21, 2026
94f879a
[Text Extraction] Fix maxTouchPoints, touch-related bindings, and scr…
whsieh Aug 21, 2026
3c0f403
[JSC] Optimize wasm array.copy and array.fill
Constellation Aug 21, 2026
5e8dd30
Unreviewed, reverting 319186@main (bd7ffafffdad)
revert-bot Aug 21, 2026
aa27d10
Pair reportExtraMemoryAllocated with reportExtraMemoryVisited for Sou…
Ahmad-S792 Aug 21, 2026
75a9d41
[JSC] Clear MicrotaskCallCache in VM when CodeBlock gets detached
Constellation Aug 21, 2026
c730145
REGRESSION(318650@main): process swap on navigation response can reus…
bnham Aug 21, 2026
c546092
[WPT] Import wasm-js-api.idl from upstream
chicoxyzzy Aug 21, 2026
5273531
SpeechSynthesis::stop() must not synchronously dispatch error events;…
kmonsen Aug 21, 2026
0fd6100
IntSize::area() and IntSize::unclampedArea() invoke undefined behavio…
Ahmad-S792 Aug 21, 2026
64a55fd
CSSFontFace::setStatus should commit m_status before notifying clients
vitorroriz Aug 21, 2026
fbe51f1
WebGL: Copy context to NativeImage in straight orientation
kkinnunen-apple Aug 21, 2026
be13f86
[interactive-widget] Viewport does not reflect dynamically changed value
jesxilin Aug 21, 2026
36cbace
Aborting a dead key composition fires no compositionend event, or one…
Ahmad-S792 Aug 21, 2026
9bf21c1
[macOS][Site Isolation] Video Viewer is confined to the inline iframe…
Aug 21, 2026
958a13e
[JSC] Avoid clobbering scratchRegister
Constellation Aug 21, 2026
ce60d5d
[JSC] Emit mutatorFence in BBQ JIT for WasmGC
Constellation Aug 21, 2026
50dcb44
Make RenderView::frameView() inline
djg Aug 21, 2026
e1fdc80
[JSC] `WTF::weekDay` overflows for days near `INT32_MAX` and is dupli…
sosukesuzuki Aug 21, 2026
4920ba8
[CSS Module Scripts] Re-import WPT tests
tuankiet65 Aug 21, 2026
386c27f
WTFCrashWithInfo should use __builtin_trap under static analysis
rniwa Aug 21, 2026
c877402
inspector/heap/getRemoteObject.html is a flaky text failure
dpino Aug 21, 2026
74b4c68
Borrow vectors wherever possible in PAL Crypto
adetaylor Aug 21, 2026
3dea050
Fix Windows problems with WebKit_SWIFT_INTEROP_SOURCES
adetaylor Aug 21, 2026
b296b1e
swiftc-wrapper changes for Windows
adetaylor Aug 21, 2026
df42e70
Define dllimport for Windows Swift
adetaylor Aug 21, 2026
effd80c
[Canvas] CanvasRenderingContext2DBase::normalizeSpaces() widens Latin…
Ahmad-S792 Aug 21, 2026
9666de8
Resync `resource-timing` from WPT Upstream
Aug 21, 2026
e6f28dd
REGRESSION(297329@main): [JHBuild][WPE] Runtime error when running la…
dpino Aug 21, 2026
a50c194
[GLIB] Use GRefPtrWrapped for the GByteArray IPC serializer
csaavedra Aug 21, 2026
bc0b5db
SourceBufferParserWebM can emit negative MediaSample.duration
jyavenard Aug 21, 2026
400ecbc
Fix false style sharing seen in WPT test css/css-values/lh-unit-005.html
weinig Aug 21, 2026
12920a2
[line-clamp] text-overflow ellipsis should show on non-clamped content
alanbaradlay Aug 21, 2026
fdbc1f8
[cleanup] Replace Document's two render tree booleans with an explici…
alanbaradlay Aug 21, 2026
12b9f97
[GLIB] Use GRefPtrWrapped for the GTlsCertificate IPC serializer
csaavedra Aug 21, 2026
77327f6
[cleanup] Ask the list marker for its text through one accessor
alanbaradlay Aug 21, 2026
a74316b
[Site Isolation] Make SiteIsolation tests that need full isolation op…
szewai Aug 21, 2026
2534012
Canvas 2D hit testing and transform mutations should not require the …
Ahmad-S792 Aug 21, 2026
d08b07c
Add "snorm10-10-10-2" to enum GPUVertexFormat.
mwyrzykowski Aug 21, 2026
0d599a8
Remove non-standard Blend node from Style::Calculation tree
weinig Aug 21, 2026
c52bbb5
Srcdoc iframes bypass SameSite Strict and Lax cookies
Aug 21, 2026
eb5951f
corner-shape: square and notch corners are built as round and scoop o…
cupidsity Aug 21, 2026
4f28f72
[Site Isolation] cnn.com "Sign-in with Google" popup displays with to…
nt1m Aug 21, 2026
32aac5d
[GStreamer] Fix issues with pipewire device capture
TingPing Aug 21, 2026
b74760b
[WTF] Fix roundevenf / roundeven sign for 0
Constellation Aug 21, 2026
d960e02
[iOS] Current time stops updating on youtube.com after switching play…
aestes Aug 21, 2026
1d20142
inspector/heap/getPreview.html is a flaky failure
dpino Aug 21, 2026
8345bb7
[margin-trim] Trimmed margins should not be reflected in computed style
sammygill Aug 21, 2026
c515397
Remove imported/w3c/web-platform-tests/css/css-values/percentage-rem-…
weinig Aug 21, 2026
61fc55e
Simplify clamp(none, a, b) to max(a, b) and clamp(a, b, none) to min(…
weinig Aug 21, 2026
86d2702
[list-marker] A list marker's text reaches names and values that aske…
alanbaradlay Aug 21, 2026
24279dc
TLF: Use historical flakiness information from EWS to ignore flaky tests
TheBoyRoy05 Aug 21, 2026
9a18171
[Linux] Remove RT threads
justinmichaud Aug 21, 2026
f9e2fad
[GARDENING]REGRESSION(317307@main): [visionOS] media/modern-media-con…
JEspinal01 Aug 21, 2026
f6f4e6b
run-webkit-tests should not launch a browser with results by default
sammygill Aug 21, 2026
32377c7
[GARDENING][visionOS]REGRESSION(317307@main): interaction-region/paus…
JEspinal01 Aug 21, 2026
3b9afb2
[JSC] Fix boundary related code in BBQ / OMG
Constellation Aug 21, 2026
c2cb2f4
[margin-trim] Drop inline values from syntax
sammygill Aug 21, 2026
8704a40
[GLIB] Use GRefPtrWrapped for the GUnixFDList IPC serializer
csaavedra Aug 21, 2026
e1e532f
[Grid Lanes] Rename remaining references to masonry in the code.
sammygill Aug 21, 2026
ef91821
REGRESSION(312373@main): [iPad] Spotify music videos fail to play
jernoble Aug 21, 2026
0e32e92
[GARDENING][iOS]NEW TEST(319203@main): fast/visual-viewport/ios/inter…
JEspinal01 Aug 21, 2026
7d86b2c
Error opening local HTML files from Notes
pvollan Aug 21, 2026
7432aee
Typing a space in editable content inside <summary> or <button> also …
Ahmad-S792 Aug 21, 2026
4490cd9
Support per-child entity transforms for <model> inside a spatial portal
amarchenko Aug 21, 2026
7b56a05
Make hidden page throttling heuristics apply to newly created pages
bnham Aug 21, 2026
85db209
[Grid Lanes] Remove redundant "Phase" suffix from GridLanesLayout::Ph…
sammygill Aug 21, 2026
9518e96
[list-marker] Lay bullet markers out as marker text so they take part…
alanbaradlay Aug 22, 2026
14cf46b
[GARDENING][macOS]REGRESSION(319200@main): accessibility/isolated-tre…
JEspinal01 Aug 22, 2026
cffd5ed
[WTF] Align PriorityQueue to std::priority_queue and fix WasmWorklist
Constellation Aug 22, 2026
c22c85f
Remove redundant paint state save/restore around SVG gradient fill/st…
djg Aug 22, 2026
4f1ddc1
Avoid constructing a Timeout on the common stream IPC send path
djg Aug 22, 2026
00055d9
[margin-trim][cleanup] Move margin trimming machinery out of RenderBox
sammygill Aug 22, 2026
112604f
[Site Isolation] Crash under WebFrame::fromCoreFrame
pvollan Aug 22, 2026
adf3372
[Site Isolation] fast/events/suspend-timers.html fails
rniwa Aug 22, 2026
baf4a9a
dialog close() restores focus unconditionally instead of only when fo…
Ahmad-S792 Aug 22, 2026
22fbd85
Use a normal UUID for the `FileSystemHandleGlobalIdentifier` type
rr-codes Aug 22, 2026
1a9990d
Merge upstream/main (baf4a9a7ec0b) into bun/upgrade-to-baf4a9a7ec0b
robobun Aug 22, 2026
d7ff6be
CodeCache: recordParseFromUnlinkedCodeBlock takes an UnlinkedGlobalCo…
robobun Aug 22, 2026
2cba652
[JSC] Make Air::padInference faster by avoiding visiting args twice
Constellation Aug 22, 2026
6281729
PlatformJSCOnly.cmake: Android builds HighPriorityThreads.cpp
robobun Aug 22, 2026
cd9803c
[Site Isolation] fast/files/file-reader-back-forward-cache.html fails
rniwa Aug 22, 2026
089848d
Resync `mathml` from WPT Upstream
Aug 22, 2026
96ca975
[JSC] Use `objectCloneFast` for the first source in `Object.assign`'s…
sosukesuzuki Aug 22, 2026
cea233c
[JSC] `SymbolTableEntry` should not allocate a `WatchpointSet` until …
sosukesuzuki Aug 22, 2026
889d15f
[Gardening] Remove outdated test expectation after 319592@main
iidmsa Aug 22, 2026
cb7daac
[macOS] The Networking process sandbox should inherit network access …
pvollan Aug 22, 2026
7711916
[JSC] NodeMustGenerate incorrectly cleared on CheckOverflow ArithAdd/…
heimskr Aug 22, 2026
314133b
[WTF] Remove UUID version of ObjectIdentifier
rr-codes Aug 22, 2026
4fa207d
[WebCore] Memory underflow in PlatformRawAudioData::copyTo()
jernoble Aug 22, 2026
b3f6dc9
[webkitpy] [webkitcorepy] Expected failures / unexpected successes no…
gsnedders Aug 22, 2026
ee94630
REGRESSION(319652@main): webkitpy.test.runner_unittest.RunnerTest.tes…
gsnedders Aug 22, 2026
6a2b412
AX: Hundreds of accessibility layout tests pass on iOS, but are not e…
twilco Aug 22, 2026
5278e92
corner-shape: offset-path does not respect corner-shape
cupidsity Aug 22, 2026
e7ffac0
[webkitpy] Support pre-boot launchd configuration for simulated devices
Smackteo Aug 23, 2026
884e316
[IFC] Do not leave stale display content when partial merge fails in …
zakariaridouh Aug 23, 2026
3e5b31e
use-after-free of AudioParam via cross-thread non-atomic ref/deref in…
jyavenard Aug 23, 2026
d0fae3b
Merge remote-tracking branch 'origin/main' into bun/upgrade-to-baf4a9…
robobun Aug 23, 2026
0f92484
[CMake] Fix the CMake build after 319646@main
rr-codes Aug 23, 2026
1feb6ac
[Skia] Do not transfer accelerated ImageBuffer to a different thread
carlosgcampos Aug 23, 2026
53e6dc7
corner-shape: algorithm for outset curves needs to be updated to matc…
cupidsity Aug 23, 2026
5dd82e7
::selection fails to repaint on style change
anttijk Aug 23, 2026
df06a95
[LBSE] Assertion failure for SVG resource containers with a namespace…
nikolaszimmermann Aug 23, 2026
9f07374
[JSC] Do not clone patchpoints for Wasm calls within a try block
dhecht Aug 23, 2026
8c4fd56
[block] align-content moves a float child twice
alanbaradlay Aug 23, 2026
55d9d90
Use-after-free in MediaElementAudioSourceNode::provideInput when ifra…
Aug 23, 2026
d033f18
Merge oven-sh/WebKit#488 (upstream baf4a9a7ec0b) into bun/upgrade-to-…
robobun Aug 23, 2026
fabdd1d
Merge upstream/main (55d9d9007f) into bun/upgrade-to-55d9d9007f
robobun Aug 23, 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.
4 changes: 4 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,10 @@
"CMAKE_OBJCXX_FLAGS_DEBUG": {
"type": "STRING",
"value": "-g -O3"
},
"USE_PCH_CODEGEN": {
"type": "BOOL",
"value": "OFF"
}
}
},
Expand Down
6 changes: 4 additions & 2 deletions Configurations/CommonBase.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ OTHER_LDFLAGS = $(inherited) $(WK_COMMON_OTHER_LDFLAGS);
WK_COMMON_OTHER_TAPI_FLAGS = -x objective-c++ -std=c++2b -fno-rtti $(WK_SANITIZER_OTHER_TAPI_FLAGS) $(WK_AVAILABILITY_OVERLAY_FLAGS);
OTHER_TAPI_FLAGS = $(inherited) $(WK_COMMON_OTHER_TAPI_FLAGS);

WK_DEFAULT_WK_AUDIT_SPI[sdk=iphoneos*] = $(WK_AND_$(WK_NOT_$(WK_ANY_SANITIZER_ENABLED))_$(SUPPORTS_TEXT_BASED_API));
WK_DEFAULT_WK_AUDIT_SPI[sdk=iphoneos*] = $(WK_NOT_$(WK_ANY_SANITIZER_ENABLED));
// Explicitly disable auditing on other embedded platforms, because some SDKs
// fall back to reading settings for iOS.
WK_DEFAULT_WK_AUDIT_SPI[sdk=appletvos*] = ;
Expand All @@ -102,7 +102,9 @@ WK_DEFAULT_WK_AUDIT_SPI[sdk=xros*] = ;
// Disable auditing on internal builds of already-shipped releases.
WK_DEFAULT_WK_AUDIT_SPI[sdk=iphoneos26*.internal] = ;

WK_AUDIT_SPI = $(WK_DEFAULT_WK_AUDIT_SPI);
// Overridden in projects which do not have an InstallAPI requirement to
// support audit-spi (e.g. WebCore).
WK_AUDIT_SPI = $(WK_AND_$(WK_DEFAULT_WK_AUDIT_SPI)_$(SUPPORTS_TEXT_BASED_API));

WK_OTHER_AUDIT_SPI_FLAGS = $(WK_OTHER_AUDIT_SPI_FLAGS_148943382) $(WK_OTHER_AUDIT_SPI_FLAGS_164901718) $(WK_OTHER_AUDIT_SPI_FLAGS_$(CONFIGURATION));
WK_OTHER_AUDIT_SPI_FLAGS_Release = -DNDEBUG;
Expand Down
7 changes: 5 additions & 2 deletions Introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -1389,9 +1389,12 @@ mirroring the same directory structure as `LayoutTests`.
For example, the actual output produced for `LayoutTests/editing/inserting/typing-001.html`,
if failed, will appear in `WebKitBuild/Debug/layout-test-results/editing/inserting/typing-001-actual.txt`.
run-webkit-tests also generates a web page with the summary of results in
`WebKitBuild/Debug/layout-test-results/results.html` and automatically tries to open it in Safari using the local build of WebKit.
`WebKitBuild/Debug/layout-test-results/results.html`, and prints the path to it at the end of
a run with unexpected results so that you can open it manually.

> If Safari fails to launch, specify `--no-show-results` and open results.html file manually.
> Specify `--show-results` to have run-webkit-tests automatically open results.html in a browser
> using the local build of WebKit once the tests are done. If the browser fails to launch, drop
> the option and open results.html yourself.

### Updating Expected Results

Expand Down
22 changes: 22 additions & 0 deletions JSTests/microbenchmarks/float32array-sort-large-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
var length = 4096;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

// Two draws per element so the mantissa has entropy in every byte. A single 32-bit draw leaves
// the low mantissa bytes zero, which lets the sort skip digit passes that real data would not.
var source = new Float32Array(length);
for (var i = 0; i < length; ++i)
source[i] = nextRandom() + nextRandom() * 2.3283064365386963e-10;

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Float32Array(length);
for (var i = 0; i < 4000; ++i) {
array.set(source);
array.sort();
}
22 changes: 22 additions & 0 deletions JSTests/microbenchmarks/float64array-sort-large-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
var length = 16384;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

// Two draws per element so the mantissa has entropy in every byte. A single 32-bit draw leaves
// the low mantissa bytes zero, which lets the sort skip digit passes that real data would not.
var source = new Float64Array(length);
for (var i = 0; i < length; ++i)
source[i] = nextRandom() + nextRandom() * 2.3283064365386963e-10;

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Float64Array(length);
for (var i = 0; i < 300; ++i) {
array.set(source);
array.sort();
}
20 changes: 20 additions & 0 deletions JSTests/microbenchmarks/float64array-sort-low-entropy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
var length = 16384;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

var source = new Float64Array(length);
for (var i = 0; i < length; ++i)
source[i] = (nextRandom() & 1) ? 1e10 : 7.5;

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Float64Array(length);
for (var i = 0; i < 5000; ++i) {
array.set(source);
array.sort();
}
22 changes: 22 additions & 0 deletions JSTests/microbenchmarks/float64array-sort-medium-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
var length = 8192;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

// Two draws per element so the mantissa has entropy in every byte. A single 32-bit draw leaves
// the low mantissa bytes zero, which lets the sort skip digit passes that real data would not.
var source = new Float64Array(length);
for (var i = 0; i < length; ++i)
source[i] = nextRandom() + nextRandom() * 2.3283064365386963e-10;

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Float64Array(length);
for (var i = 0; i < 1000; ++i) {
array.set(source);
array.sort();
}
12 changes: 12 additions & 0 deletions JSTests/microbenchmarks/float64array-sort-presorted.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
var length = 16384;

var source = new Float64Array(length);
for (var i = 0; i < length; ++i)
source[i] = i * 0.5;

// Keep the input sorted every iteration; sorting it again must stay cheap.
var array = new Float64Array(length);
for (var i = 0; i < 7500; ++i) {
array.set(source);
array.sort();
}
22 changes: 22 additions & 0 deletions JSTests/microbenchmarks/float64array-sort-small-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
var length = 512;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

// Two draws per element so the mantissa has entropy in every byte. A single 32-bit draw leaves
// the low mantissa bytes zero, which lets the sort skip digit passes that real data would not.
var source = new Float64Array(length);
for (var i = 0; i < length; ++i)
source[i] = nextRandom() + nextRandom() * 2.3283064365386963e-10;

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Float64Array(length);
for (var i = 0; i < 50000; ++i) {
array.set(source);
array.sort();
}
20 changes: 20 additions & 0 deletions JSTests/microbenchmarks/int16array-sort-large-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
var length = 4096;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

var source = new Int16Array(length);
for (var i = 0; i < length; ++i)
source[i] = nextRandom();

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Int16Array(length);
for (var i = 0; i < 6000; ++i) {
array.set(source);
array.sort();
}
20 changes: 20 additions & 0 deletions JSTests/microbenchmarks/int16array-sort-low-entropy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
var length = 4096;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

var source = new Int16Array(length);
for (var i = 0; i < length; ++i)
source[i] = (nextRandom() & 1) ? 30000 : 7;

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Int16Array(length);
for (var i = 0; i < 13000; ++i) {
array.set(source);
array.sort();
}
20 changes: 20 additions & 0 deletions JSTests/microbenchmarks/int32array-sort-large-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
var length = 4096;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

var source = new Int32Array(length);
for (var i = 0; i < length; ++i)
source[i] = nextRandom();

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Int32Array(length);
for (var i = 0; i < 6000; ++i) {
array.set(source);
array.sort();
}
20 changes: 20 additions & 0 deletions JSTests/microbenchmarks/int32array-sort-low-entropy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
var length = 4096;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

var source = new Int32Array(length);
for (var i = 0; i < length; ++i)
source[i] = (nextRandom() & 1) ? 200000 : 7;

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Int32Array(length);
for (var i = 0; i < 12000; ++i) {
array.set(source);
array.sort();
}
20 changes: 20 additions & 0 deletions JSTests/microbenchmarks/int32array-sort-medium-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
var length = 512;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

var source = new Int32Array(length);
for (var i = 0; i < length; ++i)
source[i] = nextRandom();

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Int32Array(length);
for (var i = 0; i < 60000; ++i) {
array.set(source);
array.sort();
}
12 changes: 12 additions & 0 deletions JSTests/microbenchmarks/int32array-sort-presorted.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
var length = 4096;

var source = new Int32Array(length);
for (var i = 0; i < length; ++i)
source[i] = i * 1024;

// Keep the input sorted every iteration; sorting it again must stay cheap.
var array = new Int32Array(length);
for (var i = 0; i < 40000; ++i) {
array.set(source);
array.sort();
}
20 changes: 20 additions & 0 deletions JSTests/microbenchmarks/int32array-sort-small-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
var length = 192;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

var source = new Int32Array(length);
for (var i = 0; i < length; ++i)
source[i] = nextRandom();

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Int32Array(length);
for (var i = 0; i < 190000; ++i) {
array.set(source);
array.sort();
}
17 changes: 17 additions & 0 deletions JSTests/microbenchmarks/map-for-each-deleted-entries.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
function sumEntries(map) {
var sum = 0;
map.forEach(function (value, key) {
sum += value - key;
});
return sum;
}
noInline(sumEntries);

var map = new Map;
for (var i = 0; i < 1500; ++i)
map.set(i, i * 2);
for (var i = 0; i < 1500; i += 3)
map.delete(i);

for (var i = 0; i < 1e4; ++i)
sumEntries(map);
15 changes: 15 additions & 0 deletions JSTests/microbenchmarks/map-for-each-key-value.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
function sumEntries(map) {
var sum = 0;
map.forEach(function (value, key) {
sum += value + key;
});
return sum;
}
noInline(sumEntries);

var map = new Map;
for (var i = 0; i < 1000; ++i)
map.set(i, i * 2);

for (var i = 0; i < 1e4; ++i)
sumEntries(map);
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
var cities = ["a", "b", "c", "d", "e", "f", "g", "h"];
var state = { id: 1, name: "x", age: 3, city: "z", zip: 0, flag: true, score: 1.5, tag: "t" };
for (var i = 0; i < 1e4; ++i)
state = Object.assign({}, state, { city: cities[i & 7], zip: i });
10 changes: 10 additions & 0 deletions JSTests/microbenchmarks/regexp-lookbehind-backreference.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
let text = "abab-abcabc-xyxy-abcabd-aa-a-".repeat(40);
let re = /(?<=\1(\w+))-/g;
let result = 0;
for (let i = 0; i < 1e4; ++i) {
re.lastIndex = 0;
while (re.exec(text))
result++;
}
if (result !== 160 * 1e4)
throw new Error("Bad result: " + result);
15 changes: 15 additions & 0 deletions JSTests/microbenchmarks/set-for-each-value.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
function sumValues(set) {
var sum = 0;
set.forEach(function (value) {
sum += value;
});
return sum;
}
noInline(sumValues);

var set = new Set;
for (var i = 0; i < 1000; ++i)
set.add(i);

for (var i = 0; i < 1e4; ++i)
sumValues(set);
20 changes: 20 additions & 0 deletions JSTests/microbenchmarks/uint16array-sort-large-array.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
var length = 4096;

var seed = 1;
function nextRandom() {
seed ^= seed << 13; seed |= 0;
seed ^= seed >>> 17;
seed ^= seed << 5; seed |= 0;
return seed;
}

var source = new Uint16Array(length);
for (var i = 0; i < length; ++i)
source[i] = nextRandom();

// Restore the unsorted input every iteration so the sort never sees an already sorted array.
var array = new Uint16Array(length);
for (var i = 0; i < 6000; ++i) {
array.set(source);
array.sort();
}
Loading
Loading