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

Reply via email to