Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 81b942bfeab59e1e310dd9b90e3ccdb572d36eb1
https://github.com/WebKit/WebKit/commit/81b942bfeab59e1e310dd9b90e3ccdb572d36eb1
Author: Karl Dubost <[email protected]>
Date: 2026-04-08 (Wed, 08 Apr 2026)
Changed paths:
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/page/QuirksData.h
Log Message:
-----------
[Quirk] invideo.io: add a window.chrome object to bypass the code sniffing.
https://bugs.webkit.org/show_bug.cgi?id=311602
rdar://171741842
Reviewed by Brent Fulgham.
There is a double block on Safari:
1. !!window.chrome (line 1798) — a property-based sniff that excludes
all non-Chromium browsers
2. ["safari"].includes(browserName) (line 1921) — an explicit UA-based
Safari exclusion via dhe(), used to prevent Safari from passing even
if it supports the required Web APIs
Safari actually supports both WebGL2 and SharedArrayBuffer (with proper
COOP/COEP headers). The site's playback engine likely depends on
Chromium-specific behavior or simply never tested on Safari/WebKit. The block
is browser-sniffing, not feature-detection — Safari is excluded by name and by
the absence of window.chrome, not because it lacks the required capabilities.
There is an outreach radar too. rdar://172352516
If you are working for invideo.io, please contact us.
The User-Agent override has been done on the side of the Safari code.
This part is adding the window.chrome object faking.
* Source/WebCore/page/Quirks.cpp:
* Source/WebCore/page/QuirksData.h:
Canonical link: https://commits.webkit.org/310809@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications