Bug 311602
| Summary: | [Quirk] invideo.io: add a window.chrome object to bypass the code sniffing. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Karl Dubost <karlcow> |
| Component: | New Bugs | Assignee: | Karl Dubost <karlcow> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | http://invideo.io | ||
Karl Dubost
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
The User-Agent override has been done on the side of the Safari code.
This part will address the window.chrome object faking in the WebKit Code.
Steps to Reproduce:
1. Go to https://invideo.io
2. Login (sign up dance if you didn’t do it.)
3. You are being redirected to a space in https://ai.invideo.io/workspace/long_id_here/v40-copilot
4. Click on Advertising Studio
5. Select Logo
6. Click on New
7. Project Name: Webcompat
8. Click on create-project.
9. Give a prompt.
10. Click on Unlimited.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Karl Dubost
rdar://171741842
Karl Dubost
Pull request: https://github.com/WebKit/WebKit/pull/62154
EWS
Committed 310809@main (81b942bfeab5): <https://commits.webkit.org/310809@main>
Reviewed commits have been landed. Closing PR #62154 and removing active labels.