Ahmad-S792
WebCore contributor
Summary
Primarily WebCore, with a secondary concentration in WebInspector: the work is broad web-platform conformance fixing across CSS layout and scoping, SVG, canvas text, Web Audio, and preload attribute parsing, interleaved with regular WPT resyncs and small cleanups (removing dead null checks, duplicate assignments, adding default member initializers). Nothing here is classified as a security or hardening fix, but the pattern is high-volume spec-correctness work touching parsing and lifetime edges — including a use-after-destroy in LibWebRTCAudioModule's audio transport and an uninitialized-member sweep in WebCore/svg. Where to look next: the uninitialized-data-member cleanups in WebCore/svg mark code that was shipping with indeterminate state, and the same class of defect likely survives in sibling directories that haven't had the same pass.
Components
Security Fix History
- No security fixes recorded
Hardening Commits
- No hardening commits recorded
Recent Commits
- 2026-08-07 REGRESSION(283572@main): Canvas ctx.font keywords larger and smaller scale by 1.02 instead of ~1.2
- 2026-08-07 ctx.font does not re-resolve relative font sizes when set to the same string after the canvas element's style changed
- 2026-08-06 Open a color input with display:none via a label
- 2026-08-06 Fire resize event when iframe viewport transitions from display:none to visible
- 2026-08-06 LibWebRTCAudioModule can use the audio transport after it is unregistered and destroyed
- 2026-08-06 Nested @scope with :has(:scope ...) in <scope-start> picks scoping roots outside the outer scope
- 2026-08-06 [Web Audio] Reduce padding in ParamEvent, AutomationState, AudioNode and RealtimeAnalyser
- 2026-08-06 Multicol column height ignores min-height when min-height exceeds max-height
- 2026-08-06 Resync `css/CSS2/tables` from WPT Upstream
- 2026-08-06 requestPictureInPicture() does not consume the user activation
- 2026-08-05 CSS clip on a child is ignored when determining whether an ancestor's background is obscured
- 2026-08-05 Resync `scroll-animations` from WPT Upstream
- 2026-08-04 `<link rel=preload as>` keywords should be matched ASCII case-insensitively
- 2026-08-04 Use default member initializers for uninitialized data members in WebCore/svg
- 2026-08-04 <animateMotion> ignores a numeric 'rotate' value
- 2026-08-04 Resync `svg` from WPT Upstream
- 2026-08-04 <svg:image> 'auto' sizing should follow the CSS default sizing algorithm
- 2026-08-04 imagesrcset does not override href for <link rel="preload" as="image">
- 2026-08-04 Remove duplicate m_exceptionCode assignment in XMLHttpRequest::didReachTimeout()
- 2026-08-04 Remove unreachable null check in XMLHttpRequestUpload::scriptExecutionContext()
- 2026-08-04 Avoid unnecessary Region copies when returning RegionFixedPair from Document
- 2026-08-03 Use a default member initializer for MathMLOperatorDictionary::Property::form
- 2026-08-03 Sync `tools/lint` from WPT Upstream
- 2026-08-03 Use default member initializers for XMLHttpRequest's bitfields
- 2026-08-03 Resync `mathml` from WPT Upstream
- 2026-08-03 SpaceSplitStringData::create() leaks a table entry for every distinct whitespace-only class attribute value
- 2026-08-03 XMLHttpRequest.send(URLSearchParams) sets a Content-Type request header on GET and HEAD requests
- 2026-08-03 SMILTime::operator== is inconsistent with spaceship operator for the unresolved and indefinite values
- 2026-08-03 XMLHttpRequest::memoryCost() ignores binary response data
- 2026-08-03 SMILTimeContainer::updateAnimations() copies the scheduled animations map twice per frame
- 2026-08-02 Sync `css/CSS2/reference` from WPT Upstream
- 2026-08-02 Resync `css/CSS2/abspos` from WPT Upstream
- 2026-08-01 Sync `css/CSS2/css1` from WPT Upstream
- 2026-08-01 Use char16_t instead of UChar in MathMLOperatorElement
- 2026-07-31 [CSS Scroll Snap] Re-snap should prefer the block-axis box when the two axes conflict
- 2026-07-31 Reduce sizeof(ViewportArguments) and stop copying it into computeViewportAttributes()
- 2026-07-31 [MathML] Remove duplicated mathvariant invalidation from MathMLMathElement::attributeChanged
- 2026-07-31 Take a StringView in MathMLPresentationElement::parseMathMLLength
- 2026-07-31 [MathML] MathMLOperatorElement::OperatorProperties::flags is read uninitialized
- 2026-07-31 [MathML] Use SpaceSplitString to parse the <menclose> notation attribute instead of a hand-rolled tokenizer
- 2026-07-31 MathML and SVG elements do not reset tabIndex when tabindex is changed to an invalid value
- 2026-07-31 MathMLOperatorElement::parseOperatorChar() needlessly allocates a String when trimming whitespace
- 2026-07-31 [XHR] Final response charset is recomputed for every received data chunk
- 2026-07-30 Reduce sizeof(SelectorFragment) by eliminating struct padding in the CSS JIT
- 2026-07-30 CSS JIT serializes the full selector text on every compile even when disassembly dumping is disabled
- 2026-07-30 [cssjit] Use WTF::compactMap in generateElementIsNthChildOf
- 2026-07-30 XMLHttpRequest.responseURL still returns the aborted request's URL after abort()
- 2026-07-30 [CSS] Deduplicate the identical CSSSelector::Match::Set case in SelectorCompiler
- 2026-07-30 XMLHttpRequest.getAllResponseHeaders() returns the previous response's headers when the object is reused
- 2026-07-28 Split the start/end block in FrameSelection::respondToNodeModification onto its own line
- 2026-07-28 AudioParam::finalValue() returns an uninitialized float when calculateFinalValues() bails out
- 2026-07-28 makeStringByReplacingAll() uses a scalar scan instead of SIMD-accelerated find()
- 2026-07-28 RealtimeIncomingAudioSourceCocoa::OnData rescales the frame counter against the already-updated sample rate, making it a
- 2026-07-28 DisplayCaptureSourceCocoa::generateFrame() first switchOn takes Variant alternatives by value
- 2026-07-28 MediaStreamPrivate constructor copies the tracks vector instead of moving it
- 2026-07-28 LibWebRTCAudioModule has a data race on m_isPlaying and m_audioTransport
- 2026-07-28 NumericConstraint::valueForCapabilityRange() ignores a valid current value when both min and max constraints are set
- 2026-07-28 [Web Inspector] resource data for non-buffered resources leaks across navigations
- 2026-07-27 Subgrid with large column-gap overflows max-width-constrained parent
- 2026-07-27 REGRESSION (iOS 27 beta): AudioContext.decodeAudioData() fails with EncodingError on valid AAC/M4A file containing an ed
- 2026-07-27 [CSS Scroll Snap] Aligned snap targets are not selected in tree order
- 2026-07-27 AudioNode::scriptExecutionContext() uses const_cast despite a const context() overload existing
- 2026-07-27 Remove unused AudioNodeOutput::InputsIterator typedef
- 2026-07-27 Redundant shadowed fillToFrameTrunc computation in AudioParamTimeline::processLinearRamp()
- 2026-07-27 [Web Inspector] InspectorAuditResourcesObject::getResources() is O(n²) due to linear reverse lookup
- 2026-07-27 Editor::Command::execute() re-entrancy check is a permanent tautology, no longer detects frame changes during layout
- 2026-07-27 createContextualFragment() leaves nested <head>/<body> behind when stripping a stray <html> element
- 2026-07-27 MediaStreamAudioSourceNode::setFormat() sets m_sourceNumberOfChannels twice with no intervening use
- 2026-07-27 AudioNode::connect(AudioParam&, unsigned) acquires the graph lock before asserting main thread
- 2026-07-27 AudioBufferSourceNode output channel count ignores actively-processing state
- 2026-07-27 exponentialRampToValueAtTime() loses precision by accumulating the ramp in single precision
- 2026-07-27 RealtimeAnalyser heap-allocates a temporary FFT buffer on every analysis pass
- 2026-07-27 OscillatorNode with a-rate automation ignores sub-sample start time and begins out of phase
- 2026-07-27 OscillatorNode::m_type has no default member initializer, leaving it uninitialized on exception-return path in create()
- 2026-07-27 DelayDSPKernel::m_desiredDelayFrames is uninitialized, causing undefined behavior in processKRate() when no DelayProcess
- 2026-07-27 OfflineAudioContext noise injection hangs on feedback cycles in the audio graph
- 2026-07-27 std::log2(AudioSession::bufferSize()) invokes undefined behavior when the session buffer size is 0
- 2026-07-27 registerProcessor() error messages report the processor name instead of the offending AudioParam name
- 2026-07-27 Potential crash pasting with no selection due to missing null-check on selectedRange()
- 2026-07-26 webkitpy: Fix NameError in Runner.handle() for unknown messages
- 2026-07-26 scrollIntoView() on an inline element sharing a tall line scrolls to the line box top instead of the element's bounding
- 2026-07-26 Potential crash under WebViewImpl::insertText() with a zero-length attributed string
- 2026-07-25 lint-test-expectations never applies glib-specific TestExpectations override for GTK/WPE ports
- 2026-07-24 LocalAudioMediaStreamTrackRendererInternalUnit::createAudioUnitIfNeeded() leaks an AudioComponentInstance on every post-
- 2026-07-24 MediaFragmentURIParser silently accepts overflowing NPT hours value instead of rejecting the fragment
- 2026-07-24 --print-summary hangs indefinitely due to infinite loop in Manager ancestor-directory walk
- 2026-07-24 RecursiveLockAdapter::unlock() has no assertion guarding against underflow or wrong-owner unlock
- 2026-07-24 ParkingLot::ensureHashtable() has dead always-true check and variable shadowing
- 2026-07-24 charactersToFloat() reports success even when a value fits a double but overflows a float
- 2026-07-24 ScreenCaptureKitCaptureSource::updateStreamConfiguration() uses weakThis instead of protectedThis after null-check
- 2026-07-23 CoreAudioCaptureDeviceManager::refreshAudioCaptureDevices() misses device changes when label or group ID changes
- 2026-07-23 [WebVTT] A cue wrongly inherits a preceding line as its identifier across a REGION or STYLE block
- 2026-07-23 webkitpy: ports_to_forward() checks _websocket_server instead of _websocket_secure_server
- 2026-07-23 CoreAudioCaptureDevice::getDeviceInfo() leaks a CFStringRef when the data source name is empty
- 2026-07-23 Remove dead code in isAllowedRequiredConstraintForDeviceSelection
- 2026-07-23 Merge identical h264/h265 branches in LibWebRTCProvider::videoDecodingCapabilitiesOverride
- 2026-07-22 Web Inspector: add a regression test for clearing the Console across frame targets under site isolation
- 2026-07-22 [WPT import] META: variant= is not expanded into the generated wrapper for .window.js/.worker.js templated tests
- 2026-07-22 WeakPtr::is()/UniqueRef::is() const variadic overloads should be named isAnyOf
- 2026-07-21 IndexedDB: put() that fails a unique index constraint deletes the record it would have overwritten
- 2026-07-21 Wrong ended event fired on HLS live stream when dealing with playbackRate
- 2026-07-21 Web Inspector: URL breakpoints recompile their search pattern on every network request
- 2026-07-21 Fix identifier typos in Layout/LFC inline and integration code
- 2026-07-21 Fix unsigned underflow when adjusting cached box indexes after partial inline layout damage repair
- 2026-07-21 Vector::reverse() should use std::ranges::reverse() instead of at()
- 2026-07-21 ShareableGainMap::applyGainMapToBaseImage passes a null value to a kCFTypeDictionaryValueCallBacks dictionary
- 2026-07-21 Remove dead deleteReleasedWeakBuckets()/isReleasedWeakBucket() from WTF::HashTable
- 2026-07-20 Fix size_t underflow in GridLayoutUtils::totalGuttersSize for empty grids
- 2026-07-20 Web Inspector: DOMStorageManager looks up storage objects with an O(n) Object.shallowEqual scan on every storage event
- 2026-07-20 WTF::saturatingSum variadic overload truncates 3+ argument sums to uint32_t
- 2026-07-20 CrossThreadCopierBase<HashSet<ObjectIdentifierGeneric>> is missing IsNeeded and move-copy overload
- 2026-07-19 Web Inspector: SourcesNavigationSidebarPanel leaks an anonymous WI.SourceCode listener on every panel recreation
- 2026-07-19 Web Inspector: WorkerManager.workerTerminated leaks nested subworkers' Target/map entries
- 2026-07-19 Web Inspector: HeapSnapshotWorkerProxy silently drops pending callback on worker error response, causing callers to hang
- 2026-07-19 Web Inspector: Network table load-time polling interval never backs off from 100ms
- 2026-07-19 [Web Inspector] TimelineOverview leaks TimelineRecording listeners; TimelineOverview.prototype.closed is never called
- 2026-07-19 Web Inspector: HTMLTreeBuilderFormatter dead store to didClose in tbody/tfoot cases
- 2026-07-19 Sync `css-link-params` from WPT Upstream
- 2026-07-18 HeapSnapshot.js allocates unnecessary intermediate arrays before serializing nodes/edges
- 2026-07-18 Web Inspector: InspectorInstrumentation's instrumenting-agents registry manually new/deletes its HashSet
- 2026-07-18 Web Inspector: buildWebSocketMessage() uses magic number 1 instead of WebSocketFrame::OpCodeText
- 2026-07-18 Web Inspector: JSFormatter._isRangeWhitespace should avoid allocating a substring to scan
- 2026-07-18 Deduplicate buildArrayForVector/mapToArray in Inspector canvas recording code
- 2026-07-18 Web Inspector: Uncaught Exception: TypeError: null is not an object (evaluating 'this.target.RuntimeAgent')
- 2026-07-18 Web Inspector: InspectorThreadableLoaderClient::m_statusCode is uninitialized
- 2026-07-18 Web Inspector: operator precedence bug in LogContentView range selection deselect check
- 2026-07-18 shrinkToFit() operates on a temporary copy in InlineContent::nonRootInlineBoxIndexesForLayoutBox()
- 2026-07-18 [Grid] oppositeAxisConstraintForTrackSizing() copies the track-sizes Vector for every grid item
- 2026-07-18 [CSS Scroll Snap] Re-snap should ignore a focused snap area that is scrolled out of the snapport
- 2026-07-17 LineLayoutResult::inflowContentType() is computed twice in hasContentfulInlineContent()/isBlockContent()
- 2026-07-17 Avoid redundant copy and double hash lookup in LineBoxBuilder::collectFallbackFonts()
- 2026-07-16 [scroll-animations] View timeline on a transformed SVG element uses the untransformed subject size
- 2026-07-16 [scroll-animations] View timeline sticky adjustment wrong for subject taller than the scrollport
- 2026-07-16 [WTF] IntPairHash::equal and DefaultHash<pair<int, unsigned>> use wrong template arguments
- 2026-07-16 Reduce sizeof Line::Run by reordering members
- 2026-07-16 Dead if in fieldset baseline computation after subpixel-inline-layout cleanup
- 2026-07-16 Reduce sizeof InlineContentCache::InlineItems::ContentAttributes by reordering members
- 2026-07-16 Remove dead no-op fragment-offset shift in RenderBlockFlow::setStaticInlinePositionForChild
- 2026-07-16 ReadableStream byte-source tee: BYOB close steps target the wrong branch
- 2026-07-16 [CSS Scroll Snap] Re-snap should select the snap area aligned in both axes among multiple aligned targets
- 2026-07-16 WTF::divideRoundedUp can overflow for dividends near the type's maximum
- 2026-07-15 [CSS Scroll Snap] Re-snap should select the innermost aligned snap area per axis
- 2026-07-15 [Web Inspector] Avoid redundant String copy of request URL in InspectorNetworkAgent::willSendRequest
- 2026-07-15 Web Inspector: Timeline recording import reports "unsupported version" as a HAR Import Error
- 2026-07-14 Web Inspector: gradient editor drops explicit 0% color stops and mis-parses leading radial color stops
- 2026-07-14 Web Inspector: RemoteObject.getCollectionEntries crashes on protocol error instead of reporting it
- 2026-07-14 Web Inspector: autocompleting a vendor/-apple- prefixed value in Styles duplicates the prefix (e.g. -apple--apple-system
- 2026-07-14 Web Inspector: BoxShadow fails to parse valid lengths like "1.50px", "1e2px", and uppercase units
- 2026-07-14 NotificationData::direction is serialized uninitialized when a NotificationPayload has no options
- 2026-07-14 Web Inspector: HTML pretty-printer mis-nests <canvas> fallback content because "canvas" is wrongly treated as a void ele
- 2026-07-14 [Web Inspector] Heap snapshot collection diff strides previous snapshot by wrong node field count
- 2026-07-14 Web Inspector: HAR export reports a bogus port for remote addresses that have no port
- 2026-07-14 Web Inspector: Table._isRowVisible off-by-one and showColumn throws when the shown column is the only visible column
- 2026-07-14 Web Inspector: column resizer drag offset uses `this` for a static constant, producing `left: NaNpx
- 2026-07-14 Web Inspector: _tokenTrackingControllerHighlightedMarkedExpression tests a leaked loop variable instead of the selected
- 2026-07-14 Web Inspector: parseMIMEType doesn't strip quotes from a quoted charset
- 2026-07-14 Web Inspector: CSSManager has a duplicate get overriddenUserPreferences() that shadows the first
- 2026-07-14 Web Inspector: formatted location string always drops the column number
- 2026-07-13 Web Inspector: probe manager drops probes when a breakpoint has multiple probe actions added or removed at once
- 2026-07-13 Web Inspector: stylesheet resource cache is never invalidated when a resource is added or changes type
- 2026-07-13 Web Inspector: removing a DOM breakpoint deletes sibling breakpoints that share the same URL
- 2026-07-13 Fold uninitialized RenderTable local in RenderTreeBuilder::attachToRenderElement
- 2026-07-13 [WTF] Use std::has_single_bit() instead of open-coded single-bit checks in EnumSet and SmallSet
- 2026-07-13 Simplify HTMLVideoElement::hasAvailableVideoFrame to avoid redundant player() and protect() calls
- 2026-07-13 [WTF] Use std::ranges::fill for the fill loops in StringConcatenate padding/indentation adapters
- 2026-07-13 Web Inspector: crimson named color maps to wrong RGB value
- 2026-07-13 FetchHeaders::appendToHeaderMap does a redundant header-map lookup on every append
- 2026-07-13 Use correct HRTF elevation response for negative elevations
- 2026-07-13 IndexedDB getCount() truncates record counts above INT_MAX
- 2026-07-13 Reorder RenderTreeUpdater::Parent fields to eliminate struct padding
- 2026-07-13 Simplify object-store lookup in IDBTransaction::objectStore()
- 2026-07-13 HTMLFrameSetElement does not correctly update frameborder/noresize state on dynamic attribute changes
- 2026-07-13 [WebVTT] Move WebVTTToken into the out-parameter in WebVTTTokenizer::emitToken instead of copying
- 2026-07-13 Remove redundant pending-fullscreen-element re-check in requestFullscreen
- 2026-07-13 AudioParamTimeline::cancelAndHoldAtTime discards exception from second insertEvent
- 2026-07-13 PODIntervalTree::nextIntervalAfter can return a non-nearest following interval
- 2026-07-13 Add iteration bounds to SVGSMILElement interval-resolution loops to prevent potential hangs
- 2026-07-12 SVGSMILElement instance time lists accumulate duplicate entries from repeated beginElementAt/endElementAt calls
- 2026-07-12 feConvolveMatrix: removing an invalid order attribute leaves the filter permanently disabled
- 2026-07-12 Null-deref of documentElement() when resolving root-font-relative SVG lengths
- 2026-07-12 Avoid repeated protect(mediaElement()) in RenderMedia::styleDidChange
- 2026-07-12 Scroll To Text Fragment: simplify MIME-type gate and add mixed-case coverage
- 2026-07-12 Use a switch in VTTCue::calculateMaximumSize
- 2026-07-12 Web Inspector: crash when inspecting a top-level @scope rule with a bare declaration
- 2026-07-12 Add missing newline between updateShouldPlay() and resetPlaybackSessionState() in HTMLMediaElement.cpp
- 2026-07-12 TextTrackList::getTrackById iterates via length()/item() instead of walking track vectors directly
- 2026-07-11 Scroll To Text Fragment: text directives should only run in text/html and text/plain documents
- 2026-07-11 Remove redundant shadowing variable in VTTCue::determineTextDirection
- 2026-07-11 Use `using` alias instead of `typedef` in WebVTTToken
- 2026-07-11 Reduce VTTCue size by regrouping m_displayDirection with adjacent small enums
- 2026-07-10 U+2016 (DOUBLE VERTICAL LINE) is missing the symmetric property in the operator dictionary
- 2026-07-10 [MediaFragmentURIParser] Remove two dead branches in parseNPTTime
- 2026-07-08 Node::lastDescendant()/firstDescendant() call lastChild()/firstChild() twice per iteration
- 2026-07-07 [WidthIterator] Avoid redundant Font refcount churn in the per-character advance loop
- 2026-07-07 Use prefix increment for std::set iterators in IndexValueStore
- 2026-07-06 IDBObjectStore.openKeyCursor() with a key value returns a value-carrying cursor instead of a key-only cursor
- 2026-07-06 TextTrackList::invalidateTrackIndexesAfterTrack only invalidates the first track's index
- 2026-07-06 MediaUsageInfo::outsideOfFullscreen is inverted, reporting media inside fullscreen as outside (and vice versa)
- 2026-07-06 Extract duplicated reflection/replica layer update into RenderLayerBacking::updateReflectionLayer()
- 2026-07-06 Tautological self-assignment in HTMLMediaElement::setMutedInternal
- 2026-07-06 PannerNode orientation-only changes don't update the directional cone gain
- 2026-07-06 anchor-center in a vertical writing mode is not scroll-adjusted along the block axis
- 2026-07-05 Remove dead decodeURLEscapeSequences() call in SecurityOrigin::create()
- 2026-07-05 [Web Inspector] DataLoader constructor takes RefPtr<IDBKeyRange> by value instead of by rvalue-reference
- 2026-07-04 Fix incorrect debug-output strings in RenderStyleConstants.cpp operator<< overloads
- 2026-07-04 Remove duplicate #include directives in Source/WebCore
- 2026-07-04 [Web Inspector] Uninitialized bool members in InspectorOverlay Config structs
- 2026-07-04 NullMedia.buffered/played/seekable throw ReferenceError due to unqualified EmptyRanges reference
- 2026-07-04 PlatformKeyboardEvent::syntheticEventFromText fails to synthesize "{" due to trailing space in lookup table key
- 2026-07-04 [Web Inspector] selectorsForCSSStyleRule computes the split-rule list twice
- 2026-07-03 [Web Inspector] Null InspectorStyleSheet dereference in InspectorCSSAgent::setActiveStyleSheetsForDocument when removing
- 2026-07-03 [Web Inspector] didChangeCanvasSize/didChangeCanvasMemory have a vestigial always-true null check on inspectorCanvas
- 2026-07-03 PageRuntimeAgent::didClearWindowObjectInWorld should check m_ignoreDidClearWindowObject before minting a frame identifie
- 2026-07-03 Optimize SVGURIReference::fragmentIdentifierFromIRIString to avoid redundant URL parsing and string allocations
- 2026-07-03 Out-of-bounds read in InspectorAnimationAgent when parsedKeyframes is shorter than blendingKeyframes
- 2026-07-03 SVG SMIL number, integer-optional-integer, number-optional-number and path animations should not apply when from/to/by v
- 2026-07-03 [Web Inspector] Empty std::optional dereference in Page.setCookie when "session" is omitted but "expires" is present
- 2026-07-03 [Web Inspector] Unsigned underflow in power-efficient playback heuristic spuriously reports power efficiency in the DOM
- 2026-07-02 containsPlainText() re-scans the document head and misses matches past the first search-buffer fill
- 2026-07-02 [Web Inspector] adopted (constructable) stylesheets misclassified as User Agent in the per-frame CSS agent
- 2026-07-02 [Web Inspector] Self-canceling ternary in flex overlay cross-axis direction calculation
- 2026-07-02 [Web Inspector] Page.searchInResources silently drops cache-backed resources from search results
- 2026-07-02 [Web Inspector] Inspector color picker always force-converts picked colors to DisplayP3
- 2026-07-02 [Web Inspector] Duplicate invalid CSS declarations both show as Active due to dead has_value() && !has_value() check
- 2026-07-02 Convert two external paintserver tests in svg/custom/ to reftests
- 2026-07-02 SVGAnimatedPropertyPairAccessor::detach() causes needless refcount churn by calling Ref-returning helpers
- 2026-07-02 TimeLabel re-formats on every timeupdate when its value is unchanged
- 2026-07-02 ContentVisibilityDocumentState::updateViewportProximity does a redundant hash lookup
- 2026-07-02 Dynamic orient/markerUnits changes on SVGMarkerElement don't repaint referencing element
- 2026-07-02 DataTransferItemList::didSetStringData recomputes convertToASCIILowercase() instead of reusing cached value
- 2026-07-02 PopoverData::m_popoverState and m_visibilityState are uninitialized
- 2026-07-02 UIEvent::initUIEvent copies RefPtr<WindowProxy>&& viewArg instead of moving it
- 2026-07-01 Remove dead declarations from VTTCue and LoadableTextTrack headers
- 2026-07-01 Use SetForScope for HTMLFrameElementBase::m_openingURLAfterInsertin
- 2026-07-01 Remove stale misspelled forward declaration DataTransferListItem from DataTransferItem.h
- 2026-07-01 Avoid O(n) front-shift when building dictation alternatives Vector
- 2026-07-01 nextLineCandidatePosition ignores editableType parameter and hardcodes ContentIsEditable
- 2026-07-01 Misnamed local static voiceAttr in WebVTTElement::langAttributeName()
- 2026-07-01 Strip SVGStyleElement in ReplaceSelectionCommand
- 2026-07-01 Reduce HTMLAttachmentElement size by 8 bytes via field reordering
- 2026-07-01 Remove dead null check in ReplaceSelectionCommand::doApply
- 2026-07-01 Add missing break statement in ImageDataArray::tryCreate switch
- 2026-07-01 Reduce PreloadRequest size by 8 bytes via field reordering
- 2026-07-01 Padding bits defeat intended HTMLEntityTableEntry size optimization
- 2026-07-01 [MathML] MathOperator::reset() does not re-initialize the m_variantGlyph/m_assembly union
- 2026-06-30 [RenderElement] Consolidate bitfields and move initializers to the header
- 2026-06-30 RenderFlexibleBox::LineState constructor copies FlexLayoutItems instead of moving it
- 2026-06-30 Marked-text highlight pseudo-element fill color is taken from the stroke color
- 2026-06-30 Remove redundant m_renderRange.start() null checks in RenderHighlight::highlightStateForRenderer
- 2026-06-30 Remove duplicate (&layer == &m_owningLayer) condition in RenderLayerBacking::paintIntoLayer
- 2026-06-30 FontCascadeCacheKey has uninitialized fontSelectorId and fontSelectorVersion members
- 2026-06-29 ImageBuffer constructor should move its Parameters instead of copying
- 2026-06-29 Add missing break in RightToLeft case of fieldset border switch in RenderTreeAsText.cpp
- 2026-06-29 Remove duplicate #include of RuntimeApplicationChecksCocoa.h in RenderTheme.cpp
- 2026-06-29 [CG] gradientOptionsDictionary() can fall off the end of a non-void switch
- 2026-06-29 Use SetForScope in RenderLayerScrollableArea::updateMarqueePosition()
- 2026-06-29 Deduplicate the multi-line nine-piece image strip computation in InlineBoxPainter
- 2026-06-29 Fix typo in RenderFlexibleBox::performFlexLayout(): last-line item count read from first line
- 2026-06-29 [TimeRanges] Add API test coverage for TimeRanges::nearest()
- 2026-06-29 [Event Regions] touchEventTypes set has duplicate MouseMove and is missing MouseUp
- 2026-06-29 Concentric inner-button corner radius check ignores bottom inset for horizontal text controls
- 2026-06-29 colorWithTargetLuminance() passes std::clamp() arguments in the wrong order
- 2026-06-29 Avoid constructing the frame RegistrableDomain twice in Quirks::triggerOptionalStorageAccessIframeQuirk
- 2026-06-29 Cache the registrable domain string and use _s literals in Quirks::needsCustomUserAgentOverride
- 2026-06-29 [SVG] Remove redundant duplicate condition in SVGRenderingContext::prepareToRenderSVGContent
- 2026-06-29 Use an _s literal for the host comparison in Quirks::handleTMobileQuirks
- 2026-06-29 Remove redundant duplicate checks in Quirks embedded YouTube storage access branch
- 2026-06-29 Meta refresh to URL with different fragment identifier should not be treated as a page reload
- 2026-06-29 Avoid foldCase and URL re-parse when consistent query parameter filtering quirk is disabled
- 2026-06-29 Use WTF::roundUpToMultipleOf in BitVector::OutOfLineBits::create
- 2026-06-29 Fix misspelled identifiers in rendering code
- 2026-06-29 Use dynamic_cf_cast<CFBooleanRef> for the FullRangeVideo extension in colorSpaceFromFormatDescription()
- 2026-06-28 Cache deviceScaleFactor in BorderPainter::drawBoxSideFromPath
- 2026-06-28 [AVFoundation] De-duplicate the ARGB color-extraction blocks in processCueAttributes()
- 2026-06-28 GraphicsContext::fillRoundedRect and fillRect clobber an active non-Normal blend mode
- 2026-06-28 ImageBuffer::transferToNewContext() can null-deref backend()
- 2026-06-28 ImageBuffer::hasBackend() should be const
- 2026-06-27 [LegacySVG] Remove no-op const_cast in LegacyRenderSVGRoot::willBeDestroyed()
- 2026-06-27 Remove duplicate #includes in WebCore
- 2026-06-27 [LegacySVG] Drop needless IntPoint() conversion in LegacyRenderSVGForeignObject::paint()
- 2026-06-27 SVG SMIL animations should not apply when from/to/by values fail to parse
- 2026-06-26 [CSS Scroll Snap] Re-snap does not prefer a snap area that contains the focused or fragment-targeted element
- 2026-06-26 [Gardening] Unskip `prefer-targeted-element-both-axes.html` since it is passing reliably
- 2026-06-26 [CSS Scroll Snap] Re-snap does not prefer the focused or fragment-targeted snap area among multiple aligned snap targets
- 2026-06-26 [LegacySVG] Use NeverDestroyed for the shared solid painting resource singleton
- 2026-06-26 Resync `css-scroll-snap` from WPT Upstream
- 2026-06-25 [LegacySVG] Use nullptr instead of 0 for pointers
- 2026-06-25 [LegacySVG] Rename inner loop variable in SVGResourcesCycleSolver
- 2026-06-25 [Test Coverage] CSS outline on an inline <svg> is not repainted when toggled on :hover (appears stale / missing)
- 2026-06-24 ArrayBuffer-backed I420/NV12 VideoFrame with codedHeight larger than visibleRect.height renders chroma offset
- 2026-06-24 <audio> and <video> controls render strangely when rotated
- 2026-06-22 [LegacySVG] legacyIsGraphicsElement() can dereference a null element()
- 2026-06-22 Preloading script from relative path incorrectly requests resource from local origin needlessly
- 2026-06-22 CSS preload scanner fails to preload @import rules that follow an @layer statement rule
- 2026-06-20 [LegacySVG] Nested clip-path (clip-path on a clipPath) ignores zoom
- 2026-06-20 [LegacySVG] Avoid an AffineTransform copy per paint in applyGradientResource()
- 2026-06-20 input[type=hidden] should be display:none !important in the UA stylesheet
- 2026-06-20 Fix typos in comments in legacy SVG rendering code
- 2026-06-19 Scroll snapping selects a snap point that overshoots the destination instead of the closest one in the scroll direction
- 2026-06-18 Interrupting a smooth scroll with a new scrollTo() to a different target fires scrollend at the wrong position
- 2026-06-17 <link rel=preload as=json> should not trigger a preload
- 2026-06-17 [SVG] Non-BMP character before a tspan boundary shifts the x/y value list by one
- 2026-06-17 Resync `svg` from WPT Upstream
- 2026-06-16 Clean up SVGSMILElement::findInstanceTime
- 2026-06-16 Sync `preload` from WPT Upstream
- 2026-06-16 [SVG] getRotationOfChar() returns ~360 instead of 0 for a full-turn rotate
- 2026-06-16 Re-snapping after layout moves away from a valid scroll position when the snap area is larger than the snapport
- 2026-06-15 Element.getBoundingClientRect() on SVG <tspan> returns the whole <text> bounds instead of the tspan's own area
- 2026-06-15 scrollIntoView "nearest" aligns to the far edge for an oversized target before the scrollport
- 2026-06-15 Use default member initializers for legacy SVG renderer data members
- 2026-06-14 [css-values] Math functions produce incorrect signed zero for subtraction, min/max/clamp, and mod()
- 2026-06-14 Resync `dom/events/scrolling` from WPT Upstream
- 2026-06-13 Synthetic bold adds advance width to zero-advance glyphs
- 2026-06-12 SVGFEConvolveMatrixElement should reject invalid order attribute values
- 2026-06-12 [SVG] text-orientation does not affect glyph orientation in SVG <text>
- 2026-06-11 Avoid assignment in condition in RenderTable::offsetWidthForColumn
- 2026-06-11 Use nullptr instead of 0/{} for pointers in RenderTable
- 2026-06-11 [MathML] Use MathML Core fallback values for script layout constants
- 2026-06-10 [MathML] Operators routed through MathOperator are invisible when their glyph only exists in a fallback font
- 2026-06-10 [MathML] Support embellished operator detection through mrow for underover layout
- 2026-06-10 [MathML] Update direction-overall-003.html to match spec-compliant symmetric prescript spacing
- 2026-06-09 Share the percentage distribution loop in AutoTableLayout::calcEffectiveLogicalWidth
- 2026-06-09 IntersectionObserver does not compute intersections for SVG element roots
- 2026-06-09 SVG: Do not apply text-decoration on elements with display:contents
- 2026-06-09 Deduplicate the distribution loop in RenderTable::distributeExtraLogicalHeight
- 2026-06-09 Use default member initializers for RenderLayoutState bitfields
- 2026-06-09 Extract AutoTableLayout::isColumnCollapsed helper
- 2026-06-09 Use default member initializers for RenderEmbeddedObject data members
- 2026-06-09 Avoid redundant width recomputation in FixedTableLayout::calcWidthArray
- 2026-06-09 Avoid redundant downcast in RenderTable::sectionAbove/sectionBelow
- 2026-06-09 Use range-based for loops over RenderTable::m_captions
- 2026-06-09 Drop redundant else after return in RenderTable::cellAbove/cellBelow
- 2026-06-09 Use auto for column position count in FixedTableLayout::layout
- 2026-06-09 Use a using alias instead of typedef for RenderTable::CollapsedBorderValues
- 2026-06-09 Use default member initializers for SVGSMILElement data members
- 2026-06-09 Use default member initializers for MathOperator data members
- 2026-06-09 Use default member initializers for Table Layout data members
- 2026-06-09 Use default member initializers for SVGTransformDistance data members
- 2026-06-08 Use default member initializers for RenderFrameSet data members
- 2026-06-08 [SVG] d property arc flags should interpolate as non-zero booleans
- 2026-06-08 Use default member initializers for RenderTable data members
- 2026-06-08 Remove dead RenderTable accessors header()/footer()/firstBody()/bgColor()
- 2026-06-07 ::marker should honor -webkit-text-fill-color
- 2026-06-06 font-style: italic does not slant a variable font whose @font-face uses an oblique angle (no 'ital' axis)
- 2026-06-05 SVGGeometryElement path query APIs should respect CSS 'd' property for display:none elements
- 2026-06-05 CSSFontFeatureValuesRule.fontFamily should be settable, not readonly
- 2026-06-04 [SVG intrinsic sizing] height: max-content uses default width instead of the used width when only a viewBox is present
- 2026-06-04 HTMLImageElement.decode() resolves spuriously after adoption, src change, or cached-image race
- 2026-06-03 <animateMotion> non-path animations should apply the 'rotate' attribute
- 2026-06-02 font-style: oblique angle applied to the variable font 'slnt' axis with the wrong sign
- 2026-06-02 Resync `css/css-sizing` from WPT Upstream
- 2026-06-02 Resync `css/cssom` from WPT Upstream
- 2026-06-01 Resync `html/rendering` from WPT Upstream
- 2026-06-01 Apply vector-effect transform to path geometry - not stroke geometry
- 2026-06-01 font-style: oblique angle clamped against the @font-face weight range instead of the font-style range
- 2026-06-01 Resync `html/semantics/embedded-content` from WPT Upstream
- 2026-06-01 Sync `css/css-transforms/animation` from WPT Upstream
- 2026-06-01 [Test Gardening] Crashing Tests on Windows
- 2026-05-31 ASSERTION FAILED: newLayoutAttributes == expectedLayoutAttributes in RenderSVGText::subtreeChildWillBeRemoved with displ
- 2026-05-31 Resync `html/browsers/browsing-the-web` from WPT Upstream
- 2026-05-31 Add WPT coverage for intrinsic-keyword width transferring a resolvable percentage height through the aspect ratio on a r
- 2026-05-29 Resync `svg` from WPT Upstream
- 2026-05-29 Remove `seatguru.com` from `needsIPadMiniUserAgent` quirk
- 2026-05-29 Autofocus does not focus a host element with a delegatesFocus shadow root
- 2026-05-28 SVG elements with display: contents is visually hidden
- 2026-05-28 [SVG] glyph-orientation-vertical: auto should decode surrogate pairs for UTR#50 lookup
- 2026-05-28 [SVG2] Remove non-standard `glyph-orientation-horizontal`
- 2026-05-28 Programmatic focus after keyboard interaction should match :focus-visible
- 2026-05-27 Fix SVG pathLength="0" and negative pathLength handling for stroke dashing
- 2026-05-27 Autofocus should not be processed when a subframe has focus or when topDocument has a focused element
- 2026-05-27 SVGGeometryElement.isPointInStroke() ignores 'vector-effect: non-scaling-stroke'
- 2026-05-27 [Gardening] Unskip passing `css/css-tables/calc-percent-plus-0px-*` test cases
- 2026-05-27 @container style() does not match custom property whose var() fallback spans multiple lines
- 2026-05-27 Use ElementNames::SVG::foreignObject in Style::ContainmentChecker instead of hasTagName with QualifiedName cast
- 2026-05-26 Resync `css/css-shapes` from WPT Upstream
- 2026-05-26 Resync `css/css-masking/parsing` from WPT Upstream
- 2026-05-26 [SVG intrinsic sizing] max-content/min-content should use viewBox aspect ratio when intrinsic dimensions are missing
- 2026-05-26 Fieldset border painted behind legend when legend overlaps non-block-start border via negative margin
- 2026-05-26 -webkit-box-pack should account for box-direction and handle overflow repositioning
- 2026-05-26 Resolved value for 'width' and 'height' on SVG geometry elements should be the used value
- 2026-05-25 Hit-test of clip-path with nested objectBoundingBox <clipPath> uses wrong reference box
- 2026-05-25 IntersectionObserver should not notify targets in detached documents
- 2026-05-25 <picture> <source> candidates are speculatively preloaded even when the inner <img> has loading="lazy"
- 2026-05-25 Resync `html/interaction/focus` from WPT Upstream
- 2026-05-25 [Gardening] svg/animations/getCurrentTime-pause-unpause.html is flaky
- 2026-05-25 Resync `focus` from WPT Upstream
- 2026-05-22 Web Inspector: Style sheets created via CSSOM (ex: adoptedStyleSheets) are marked as "User Agent Style Sheet" and not ed
- 2026-05-22 [CSS Motion] offset-path: respect <coord-box> when blending shape() / basic-shape paths
- 2026-05-22 [CSS Viewport] Make zoom animatable by computed value
- 2026-05-22 [Gardening] Removing failing expectations from clip-path-shape-circle-* tests
- 2026-05-21 clip-path interpolation drops calc() form at progress 0 when target is calc()
- 2026-05-21 CSS Container Style Queries: fails when container has display: contents
- 2026-05-20 IntersectionObserver reports incorrect bounds for SVG element targets
- 2026-05-20 Justification expansion is not applied around CJK Unified Ideographs Extensions E, F, G, H, and I
- 2026-05-19 IntersectionObserverEntry.boundingClientRect ignores GetBoundingClientRectZoomedEnabled
- 2026-05-19 [css-grid] Nested CSS Subgrid with overflow:hidden clips content on subsequent items
- 2026-05-19 [threaded-animations] Disable "Threaded Time-based Animations" for causing crash
- 2026-05-18 Sync `intersection-observer` from WPT Upstream
- 2026-05-18 Sync `css/css-viewport/animations` from WPT Upstream
- 2026-05-17 [Gardening] Update Test Expectations for Windows Bot
- 2026-05-16 Negative stroke-dashoffset renders incorrectly with odd-length stroke-dasharray
- 2026-05-14 Use for-range loop in SVGFEConvolveMatrixElement::createFilterEffect
- 2026-05-14 Remove redundant frame resize in SVGImage::setContainerSize()
- 2026-05-13 REGRESSION (Safari 26): setProperty fails to apply !important priority to existing inline style if integer value is <= 2
- 2026-05-12 [LegacySVG] getScreenCTM() returns incorrect result when document is scrolled under a CSS-transformed ancestor
- 2026-05-12 [MathML] Support operator dictionary entries for multi-character operators
- 2026-05-11 [CSS will-change] -webkit-perspective should establish a containing block for fixed positioned descendants
- 2026-05-11 Empty <msqrt> is misaligned vertically relative to <msqrt><mrow></mrow></msqrt>
- 2026-05-11 [MathML Core] Update prefixs +/−/±/∓, prefix ∇ and infix ⋉ spacing in Operator Dictionary and fix dynamic case
- 2026-05-11 [MathML Core] Operator Dictionary: U+2202 ∂ Prefix should be (3, 0) not (2, 1)
- 2026-05-11 [MathML] Update operator dictionary to fix WPT stretchy, symmetric, largeop, and movablelimits test failures
- 2026-05-11 HTMLPreloadScanner does not preload <image> tag
- 2026-05-10 Add missing [CEReactions] on role IDL attribute
- 2026-05-09 AX: Interactive elements containing the `<svg>` element which is named by `<title>` element doesn't have accessible name
- 2026-05-09 Sync `the-location-interface` from WPT Upstream
- 2026-05-09 Resync `html/dom/elements/global-attributes` from WPT Upstream
- 2026-05-09 Sync `svg-aam` from WPT Upstream
- 2026-05-09 [CSS Font Loading] FontFace.loaded promise never rejects for failed local() font sources
- 2026-05-08 Align writingSuggestions IDL attribute with the HTML specification
- 2026-05-08 Fix CSS absolute positioning on MathML elements by adding missing updateLogicalHeight() calls
- 2026-05-08 Fix radical symbol paint offset when border/padding is set on msqrt/mroot
- 2026-05-08 sibling-index() in @keyframes doesn't re-resolve when siblings change
- 2026-05-08 [MathML] Add support for multiple-char operators
- 2026-05-08 [CSS Calc] Trig functions should convert degrees to radians during evaluateDouble()
- 2026-05-07 Resync `mathml` from WPT Upstream
- 2026-05-07 Resync `css/css-highlight-api` from WPT Upstream
- 2026-05-07 Resync `css/selectors` from WPT Upstream
- 2026-05-06 history.pushState()/replaceState() URL rewriting checks should align with the specification
- 2026-05-05 Sync `html/browsers/browsing-the-web/resources` from WPT Upstream
- 2026-05-05 Fix misnamed Promise resolve parameter in window-open-popup-during-load/pageshow tests
- 2026-05-05 Resync `css/css-animations` from WPT Upstream
- 2026-05-05 Resync `html/browsers/browsing-the-web/navigating-across-documents` from WPT Upstream
- 2026-05-04 Tree-counting functions should return 0 for cross-tree ::part() styling
- 2026-05-04 Use std::hypot in FloatLine constructor
- 2026-05-03 Resync `html/browsers/history/joint-session-history` from WPT Upstream
- 2026-05-02 Parent window's `history.state` is set to `null` when `history.pushState` is called by a child iframe
- 2026-05-02 Resync `html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document` from WPT Upstream
- 2026-05-01 Extend and add `clamp()` test caes for sizes attribute
- 2026-04-30 SMIL clock value parser rejects hours > 99 and accepts malformed seconds
- 2026-04-30 Fix SMIL repeat(n) event conditions not triggering
- 2026-04-28 Flex container baseline should be clamped to border edge for scroll containers
- 2026-04-27 stroke-dasharray interpolation should use LCM for list length matching
- 2026-04-26 Resync `css/filter-effects` from WPT Upstream
- 2026-04-26 Sequential focus navigation should not move focus between elements with negative tabindex
- 2026-04-26 [CSS Calc] sibling-index() and sibling-count() should set requiresConversionData in calc parser
- 2026-04-25 Resync `svg` from WPT Upstream
- 2026-04-25 Use UTR#50 Vertical_Orientation for SVG glyph-orientation-vertical: auto
- 2026-04-22 Fix deprecated -webkit-box flex distribution for children with orthogonal writing modes
- 2026-04-22 Fieldset with display: -webkit-box should not create a RenderDeprecatedFlexibleBox
- 2026-04-22 HTMLPreloadScanner should not preload stylesheets with the disabled attribute
- 2026-04-20 Preload scanner should not skip <source> with empty type attribute in <picture>
- 2026-04-19 [Gardening] Skip timing out tests on Windows
- 2026-04-18 Fix "Skipping duplicate build file in Compile Sources build phase" warning in JavaScriptCore
- 2026-04-18 SMIL values attribute should preserve empty values and handle trailing semicolons as per spec
- 2026-04-17 FontFace family attribute should return the serialization of the parsed value
- 2026-04-17 Element.blur() on iframe should reset document.activeElement to body
- 2026-04-16 Remove `web-platform-tests/feature-policy` from `import-expectations.json`
- 2026-04-16 Replace raw pointer key with SingleThreadWeakRef in LegacyRenderSVGResourceGradient's m_gradientMap
- 2026-04-14 Resync `the-innertext-and-outertext-properties` from WPT Upstream
- 2026-04-14 Resync `css/css-text` from WPT Upstream
- 2026-04-13 Resync `dom/traversal` from WPT Upstream
- 2026-04-13 Resync `css/css-font-loading` from WPT Upstream
- 2026-04-13 CSSOM "add a CSS style sheet" should establish preferred style sheet set name at creation time
- 2026-04-13 document.styleSheets and shadowRoot.styleSheets incorrectly include adopted style sheets
- 2026-04-13 Disallow vendor-prefixed and allow other properties in highlight pseudo-elements
- 2026-04-13 Use callback object's associated Realm in JSCallbackData::invokeCallback per WebIDL spec
- 2026-04-13 [Gardening] Update `windows` specific test expectations
- 2026-04-12 Resync `html/rendering` from WPT Upstream
- 2026-04-12 Resync `css/CSS2/floats` from WPT Upstream
- 2026-04-12 [Gardening] Unskip now passing table layout tests post 310995@main
- 2026-04-11 Margin collapse should be allowed when preferred block size behaves as auto
- 2026-04-11 Resync `html/semantics/grouping-content` from WPT Upstream
- 2026-04-11 Resync `html/semantics/text-level-semantics` from WPT Upstream
- 2026-04-11 Resync `css/CSS2/abspos` from WPT Upstream
- 2026-04-11 Resync `html/semantics/tabular-data` from WPT Upstream
- 2026-04-10 Resync `svg` from WPT Upstream
- 2026-04-10 Add Subgrid and Grid-Lanes badges to Web Inspector Elements panel
- 2026-04-10 Use transferred size through intrinsic aspect ratio for min/max-content on replaced elements
- 2026-04-08 SVGPointList should keep valid coordinate pairs when trailing y value is missing
- 2026-04-08 Fix :placeholder-shown to match elements with empty placeholder attributes
- 2026-04-08 text-indent: calc() with percentages should treat percentages as 0 for intrinsic size contributions
- 2026-04-07 Use C++20 <bit> header functions in WebCore
- 2026-04-07 Use std::lerp instead of custom linearInterpolation helpers in WebCore
- 2026-04-07 Resync `html/infrastructure` from WPT Upstream
- 2026-04-06 perspective-origin fails to resolve var() when used as the second value
- 2026-04-06 clip-path: inset() border-radius dropped at specific sizes due to float precision
- 2026-04-05 Resync `css/css-transforms/parsing` from WPT Upstream
- 2026-04-05 Cache repeated style() and renderer().style() calls in few rendering paths
- 2026-04-05 Use size_t or auto and std::views::reverse to fix 64-bit truncation in rendering loops
- 2026-04-05 Use last() and removeLast() instead of redundant size()-based indexing in rendering code
- 2026-04-04 Resync `the-img-element` from WPT Upstream
- 2026-04-04 Resync `selection` from WPT Upstream
- 2026-04-04 Resync `the-audio-element` from WPT Upstream
- 2026-04-04 document.open() should not alias the caller's security origin 2026-W14
- 2026-04-03 Use std::to_underlying instead of std::underlying_type casts in WebCore
- 2026-04-03 Use std::isfinite instead of manual !isnan && !isinf checks in WebAudio
- 2026-04-03 Resync `html/infrastructure/safe-passing-of-structured-data` from WPT Upstream
- 2026-04-02 Simplify fractional seconds parsing in SMIL clock values
- 2026-04-02 SVG cursors set via CSS cursor: url() are blurry on high DPI displays
- 2026-04-02 Inserting image with srcset into dynamically created iframe results in invisible image