Open Bug 1903555 Opened 2 years ago Updated 6 days ago

Floating player option is missing from videos on tiktok.com

Categories

(Web Compatibility :: Site Reports, defect, P2)

Firefox 129
Desktop
Windows 10

Tracking

(Webcompat Priority:P3, Webcompat Score:1, firefox127 affected, firefox129 affected, firefox148 affected, firefox149 affected, firefox158 affected, firefox159 affected, firefox160 affected, firefox161 affected)

ASSIGNED
Webcompat Priority P3
Webcompat Score 1
Tracking Status
firefox127 --- affected
firefox129 --- affected
firefox148 --- affected
firefox149 --- affected
firefox158 --- affected
firefox159 --- affected
firefox160 --- affected
firefox161 --- affected

People

(Reporter: ctanase, Assigned: twisniewski, NeedInfo)

References

(Blocks 1 open bug, )

Details

(4 keywords, Whiteboard: [webcompat:sightline][webcompat:japan][webcompat:core][autowebcompat:processed][autowebcompat:repro-success][autowebcompat:interv-ua-override-proposed])

User Story

platform:windows,mac,linux
impact:feature-broken
configuration:general
affects:all
user-impact-score:0
branch:release
outreach-assignee:padenot@mozilla.com
outreach-contact-date:2026-03-05
autowebcompat-repro-status:success
autowebcompat-repro-chrome-mask-fixed:true
autowebcompat-repro-channels:nightly,stable,esr
autowebcompat-repro-report-os:all
diagnosis-team:media
autowebcompat-intervention-status:success

Attachments

(3 files, 1 external file, 1 obsolete file)

Environment:
Operating system: Windows 10
Firefox version: Nightly 129.0a1 (2024-06-18)

Steps to reproduce:

  1. Go to https://www.tiktok.com/@argenby/video/7377415282358324481
  2. Observe the media player.

Expected Behavior:
The media player has the "Floating Player" option.

Actual Behavior:
The media player is missing the "Floating Player" option.

Notes:

  1. Screen rec attached
  2. Reproducible regardless of the ETP status
  3. Reproducible on Firefox Release as well
  4. Not reproducible on Chrome
  5. Issue found during WebCompat team [Top100] websites testing
Severity: -- → S3
User Story: (updated)
Depends on: pip-api-use
Priority: -- → P2

Note that our PiP mode doesn't work here because the videos are short.

Whiteboard: [webcompat:sightline]
Webcompat Priority: --- → P2
Webcompat Score: --- → 6
User Story: (updated)
Webcompat Score: 6 → 5
Webcompat Score: 5 → 6

Niklas, Katherin, could we just make an exception in our PiP implementation to ~always show PiP on all videos on TikTok URLs, even if they're short? That seems to be reasonable in their case (and possibly also YouTube Shorts, since I think those are relatively easy to detect as well?)

User Story: (updated)
Flags: needinfo?(nbaumgardner)
Flags: needinfo?(kpatenio)
Whiteboard: [webcompat:sightline] → [webcompat:sightline][webcompat:japan]
User Story: (updated)
User Story: (updated)
Depends on: 1858562
No longer depends on: pip-api-use

Testing this with a build from central, the "Floating Player" is still missing. TikTok only enables it for Chrome user agents:

isDocumentPipSupporting:"undefined"!=typeof window&&"documentPictureInPicture"in window&&(i=(r=navigator.userAgent.match(/Chrom(?:e|ium)\/([0-9]+)\./))?Number(r[1]):-1)>=126&&133!==i

Still an issue with the latest Nightly.

The option is now located in the meatball menu, top right corner( 3 dots, horizontal). Clicking on it does not show the option in Firefox.

Blocks: doc-pip-api
Whiteboard: [webcompat:sightline][webcompat:japan] → [webcompat:sightline][webcompat:japan][webcompat:core]

The platform bug has been fixed and this works with Chrome mask. Ideally TikTok would just drop the UA sniffing.

User Story: (updated)
User Story: (updated)
Duplicate of this bug: 1985535
Whiteboard: [webcompat:sightline][webcompat:japan][webcompat:core] → [webcompat:sightline][webcompat:japan][webcompat:core][autowebcompat:processed]
User Story: (updated)
Whiteboard: [webcompat:sightline][webcompat:japan][webcompat:core][autowebcompat:processed] → [webcompat:sightline][webcompat:japan][webcompat:core][autowebcompat:processed][autowebcompat:repro-success][autowebcompat:interv-ua-override-proposed]

On tiktok.com video pages, the player's meatball (three-dots) menu offers no "Floating Player" entry in Firefox, so document Picture-in-Picture is unreachable; the menu instead shows Speed, Quality, Captions, Not interested and Report. Chrome's menu at the same spot lists "Floating Player" alongside the other entries. Firefox exposes window.documentPictureInPicture, so the capability is present but the option is never offered.

This issue is still reproducible on the latest Nightly 158.0a1 (2026-09-13).

  • When selecting the hamburger menu, the Picture-in-Picture(Floating) mode is not displayed.
  • Right-clicking the video displays the Picture-in-Picture option, but the feature does not work.
Attachment #9641823 - Attachment is obsolete: true
User Story: (updated)
User Story: (updated)
User Story: (updated)

See comment 3.

User Story: (updated)

The issue is still reproducible.

Tested with:

Browser / Version: Firefox Nightly 161.0a1 (2026-10-22) (64-bit)
Operating System: Windows 10 PRO x64

We don't want to ship a simple UA override here, but we might be able to target this specific check using a JS intervention similar to how our FastClick intervention works: https://searchfox.org/firefox-main/source/browser/extensions/webcompat/injections/js/disable_FastClick.js

Whiteboard: [webcompat:sightline][webcompat:japan][webcompat:core][autowebcompat:processed][autowebcompat:repro-success][autowebcompat:interv-ua-override-proposed] → [webcompat:sightline][webcompat:japan][webcompat:core][autowebcompat:processed][autowebcompat:repro-success][autowebcompat:interv-ua-override-proposed][autowebcompat:intervention]
Whiteboard: [webcompat:sightline][webcompat:japan][webcompat:core][autowebcompat:processed][autowebcompat:repro-success][autowebcompat:interv-ua-override-proposed][autowebcompat:intervention] → [webcompat:sightline][webcompat:japan][webcompat:core][autowebcompat:processed][autowebcompat:repro-success][autowebcompat:interv-ua-override-proposed][autowebcompat:intervention-in-progress]

TikTok only offers its document Picture-in-Picture "Floating Player" when isDocumentPipSupporting is true, which requires documentPictureInPicture plus a Chrome/Edge/Opera browser-name sniff and navigator.userAgent.match(/Chrom(?:e|ium)\/([0-9]+)\./) >= 126.

As requested in comment 13, this does not ship a UA override. Instead, a bug-specific script (in the same style as disable_FastClick.js) makes navigator.userAgent return a Chrome UA only when it is read from the L.isDocumentPipSupporting function (SpiderMonkey's inferred function name in the stack), and for the single synchronous read right after it (the version match, which sits outside that function). The extra read is cleared in a microtask. Everywhere else, the UA and the HTTP header are unchanged. The script only runs when documentPictureInPicture is supported, on www.tiktok.com, on desktop.

User Story: (updated)
Whiteboard: [webcompat:sightline][webcompat:japan][webcompat:core][autowebcompat:processed][autowebcompat:repro-success][autowebcompat:interv-ua-override-proposed][autowebcompat:intervention-in-progress] → [webcompat:sightline][webcompat:japan][webcompat:core][autowebcompat:processed][autowebcompat:repro-success][autowebcompat:interv-ua-override-proposed]
Assignee: nobody → twisniewski
Status: NEW → ASSIGNED
Attachment #9670507 - Attachment description: Bug 1903555 - Add webcompat intervention for tiktok.com → Bug 1903555 - Add webcompat intervention for tiktok.com; r?ksenia
User Story: (updated)
Keywords: leave-open
User Story: (updated)
Webcompat Priority: P2 → P3
Webcompat Score: 6 → 1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: