jernoble
WebCore contributor
Summary
Works almost entirely on the media stack — HTML media elements, fullscreen/PiP, EME and MSE, text tracks and WebVTT, AirPlay session handling — with most of the code landing in WebCore and the Cocoa platform layer that wraps AVFoundation. The pattern is regression repair plus a sustained push of spec-conformance tests across Fullscreen, MediaCapture, and TextTrack, so newly covered spec corners tend to appear here first; the small security cluster is media-parsing and lifetime bugs rather than memory-safety hardening (a MIMETypeCache data race, negative timeScale/duration in sample boxes, and content sniffed as video/mp2t being loadable as HTML). Systematic-variant candidate: the sample-box validation and MSE buffer-eviction paths (TrackBuffer::removeCodedFrames crashed here recently) are where malformed-container assumptions keep surfacing, and MIME/codec-string handling has produced both a race and a type-confusion in the same window.
Components
Security Fix History
- 2026-07-03 Data race on MIMETypeCache::m_cachedResults / m_supportedTypes in MIMETypeCache::canDecodeType ·
- 2026-06-30 MockSampleBox should not have negative timeScales and duration ·
- 2026-04-30 Content served as video/mp2t can be loaded as html 2026-W17
- 2026-03-03 Integer underflow in AudioResamplerKernel::getSourceSpan()
Hardening Commits
- No hardening commits recorded
Recent Commits
- 2026-07-27 REGRESSION(316238@main): YouTube captions become infinitely tall in iPhone fullscreen
- 2026-07-27 [Testing] Add more mock- tests for EME
- 2026-07-21 [WPT] Enable (most) picture-in-picture tests
- 2026-07-20 [visionOS] Update Surroundings Effect to None when Lightspill is available
- 2026-07-16 [Cleanup] Add logging to WebAVPlayerLayerView
- 2026-07-14 REGRESSION(312759@main): Multiple TestWebKitAPI.WebKitLegacy.* fail with debug assert
- 2026-07-13 [Fullscreen] Add tests for untested areas of the Fullscreen API specification
- 2026-07-08 REGRESSION(316303@main): Mute/unmute leads to permanent loss of audio
- 2026-07-06 [iOS] Restoring Fullscreen from PiP on YouTube results in wrongly sized video
- 2026-07-03 Data race on MIMETypeCache::m_cachedResults / m_supportedTypes in MIMETypeCache::canDecodeType ·
- 2026-07-02 [WebVTT] Cues with snapToLines == false should wrap
- 2026-07-01 [iOS] Networking can get pinned in a MediaStreaming state if the WebContent process is suspended with MediaStreaming act
- 2026-06-30 MockSampleBox should not have negative timeScales and duration ·
- 2026-06-30 [MediaStreams] Add tests for untested areas of the MediaCapture-Main and Extensions specifications
- 2026-06-26 CRASH in TrackBuffer::removeCodedFrames(...)