Open Bug 1600302 Opened 5 years ago Updated 1 year ago

Prevent webpages forcing picture-in-picture without user consent

Categories

(Toolkit :: Picture-in-Picture, defect, P3)

defect
Points:
8

Tracking

()

Tracking Status
firefox71 --- wontfix
firefox72 --- wontfix

People

(Reporter: bugzilla, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fidefe-MR1-2022])

Attachments

(2 files, 1 obsolete file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0

Steps to reproduce:

A webpage can make an invisible video follow the mouse cursor, causing a video to pop up in picture-in-picture mode if the user clicks anywhere on the page. This could be used by spammy websites to create autoplaying video popup ads.

Actual results:

The PiP flyout on an invisible video can be unintentionally clicked by a user.

Expected results:

Either make the PiP flyout always visible, regardless of video opacity. Or prevent the PiP flyout displaying if the video is not visible.

The attached PoC shows how this could work. Clicking anywhere in the page causes the video to go into PiP mode and start autoplaying.

Can confirm. Mike, you might want to take a look right away.

Status: UNCONFIRMED → NEW
Component: Audio/Video: Playback → Video/Audio Controls
Ever confirmed: true
Flags: needinfo?(mconley)
Product: Core → Toolkit
Assignee: nobody → mconley
Blocks: 1532675
Flags: needinfo?(mconley)
Priority: -- → P1

I'm investigating this right now, but I think we need a call from pascal or astevenson on whether or not:

  1. We ship with this problem on 71 on Windows, and fix it in a dot release
  2. We should disable PiP in 71 on Windows, until a dot release with a fix
  3. We ship with this problem on 71 on Windows, and have it fixed in 72+
  4. Disable PiP in 71 on Windows, and re-enable for everyone in 72+ with the fix.
Flags: needinfo?(pascalc)
Flags: needinfo?(astevenson)

Uplift options for a RC3 before Monday:
Option 1: Can you provide a fix we uplift and do a RC3 over the week end?
Option 2: Can you provide a disabling patch for the feature?

Flags: needinfo?(pascalc)

Apologies, I didn't realise this would be quite so high priority since the same behaviour is already a 'feature' of Chrome's Picture-in-Picture Web API.

I am decreasing the severity since chromium browsers are affected and they already ship the feature, it doesn't block this week release.

(In reply to Paul Stone from comment #5)

Apologies, I didn't realise this would be quite so high priority since the same behaviour is already a 'feature' of Chrome's Picture-in-Picture Web API.

Thanks for filing, Paul! Also, thanks for bringing to our attention that the other browsers also have a similar problem.

Flags: needinfo?(astevenson)
Attachment #9112622 - Attachment is obsolete: true

With bug 1600372 fixed, setting opacity: 0 prevents the PiP flying being clickable. However, the following things still work:

  • opacity: 0.001
  • filter: opacity(0)
  • using an feColorMatrix SVG filter to set the alpha to 0

I am marking this one as wontfic for 71 as we have no dot release planned and we are half way to 72 in our release cycle.

No longer blocks: 1532675

Even with autoplay disabled, the broken scrolling often gives me migraines, nausea, sometimes vomiting.

Component: Video/Audio Controls → Picture-in-Picture
Priority: P1 → P2
Severity: blocker → S2
Severity: S2 → S1
Priority: P2 → P1
Severity: S1 → S2
Priority: P1 → --
Priority: -- → P2
Whiteboard: [fidefe-MR1-2022]
Points: --- → 8
Priority: P2 → P3
Blocks: 1742457
Severity: S2 → S3
Status: NEW → ASSIGNED
No longer blocks: 1742457
Assignee: mconley → nobody
Status: ASSIGNED → NEW
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: