New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 841152 link

Starred by 5 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Mac
Pri: 2
Type: Feature



Sign in to add a comment

[PIP] Use OS-level PiP framework where possible

Reported by luk.funk...@gmail.com, May 9 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.30 Safari/537.36

Example URL:

Steps to reproduce the problem:
1. Enable experimental Picture-in-Picture support in Chrome
2. Navigate to a page containing HTML5 video
3. Toggle PIP using extension or site functionality

What is the expected behavior?
On macOS, the video should be presented through PIPViewController. Similarly, the Windows 10 CompactOverlay API should be leveraged.

What went wrong?
Chrome uses its own implementation of Picture-in-Picture, regardless of OS-level support.

Did this work before? No 

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? Yes

Chrome version: 68.0.3424.0  Channel: canary
OS Version: OS X 10.13.4
Flash Version: 

Contents of chrome://gpu: 

Picture-in-Picture is intended to display outside the browser window, dissimilar from a browser window. Thus, PIP window behaviour should be platform-dependent. Similarly, notifications have already been aligned with the macOS notifications framework.

I also suspect user expectations to align more with a PIP window independent of the Chrome browser window. Chrome's current implementation, at least on macOS, is tab-independent, but fixed to a Chrome window.
 
Labels: Needs-Triage-M68
Labels: Needs-Feedback Triaged-ET
Thanks for filing the issue!

@Reporter: Could you please provide sample test file/URL that reproduces the issue which help in further triaging it from TE end.

Thanks!
To reproduce the issue, follow the instructions for testing PIP, as detailed here:
https://github.com/beaufortfrancois/picture-in-picture-chrome-extension
Project Member

Comment 4 by sheriffbot@chromium.org, May 10 2018

Cc: viswa.karala@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: Needs-Feedback
Unable to reproduce the issue on reported version and latest canary 68.0.3430.0 using steps given in https://github.com/beaufortfrancois/picture-in-picture-chrome-extension. Enabled flags and added extension, opened video and clicked on extension icon and observed video in PIPViewController. Attaching screencast for reference.

@Reporter: Please check the screencast and let us know if we miss anything. Also could you please let us know what is the expected behavior. Any further information on reproducing the issue would help in further debugging.

Thanks!
841152_M68.mp4
7.9 MB View Download
macOS' windowing system handles picture-in-picture differently from other windows, as can be observed when using PIP in Safari or other apps that implement PIPViewController, such as IINA. Chrome instead implements its own PIP windowing. macOS windowing tools, such as Mission Control, interfere with Chrome's PIP windows. This provides an inconsistent experience for users who watch video in different apps on Mac.

Notice how Chrome's PIP window differs from Safari's:
- On activating PIP, there is no transitional animation
- The PIP window doesn't bounce from the edge of the screen, but instead gets stuck in a partially hidden place
- You cannot move the PIP window to the edge of the screen and temporarily "hide" it. PIPViewController honours this, blurs the window, and shows a chevron.
- The PIP window is tied to a Space in macOS windowing. Thus, it doesn't stay on screen when entering fullscreen in Chrome.
- Dragging the PIP window is buggy
- Mission Control shows the PIP video as a separate window, even though it is conceptually an extension of the page in Chrome.
actual-behaviour.mp4
3.0 MB View Download
expected-behaviour.mp4
2.1 MB View Download
Project Member

Comment 7 by sheriffbot@chromium.org, May 14 2018

Cc: sindhu.chelamcherla@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: M-69 Target-69 FoundIn-69 OS-Linux OS-Windows
Status: Untriaged (was: Unconfirmed)
Able to reproduce the issue on mac 10.13.3, win-10 and ubuntu 17.10 using latest canary #69.0.3446.0.
There are different behaviour for different OS:
For OS-Mac:
===========
- On activating PIP, there is no transitional animation
- The PIP window doesn't bounce from the edge of the screen, but instead gets stuck in a partially hidden place
- You cannot move the PIP window to the edge of the screen and temporarily "hide" it. PIPViewController honours this, blurs the window, and shows a chevron.
- The PIP window is tied to a Space in macOS windowing. Thus, it doesn't stay on screen when entering fullscreen in Chrome.
- Dragging the PIP window is buggy
- Mission Control shows the PIP video as a separate window, even though it is conceptually an extension of the page in Chrome. 
For OS-Win:
===========
- The PIP window when resized blinks and get stuck and doesn't play properly.
For OS-Linux:
=============
- The PIP window when resized, the browser hang and crashes.

Note: This only works in Chrome 68 or later. Hence, marking it as untriaged to get more inputs from dev team.

Thanks...!!
Components: -Internals>Media Blink>Media>PictureInPicture
Owner: mlamouri@chromium.org
Routing to PIP owner for further triage.
Cc: mlamouri@chromium.org apaci...@chromium.org
Labels: -OS-Linux -Type-Bug -M-69 -FoundIn-69 -Target-69 -Needs-Triage-M68 Type-Feature
Owner: ----
Status: Available (was: Untriaged)
Is there any update on this? With the recent release I expected this to be using macOS' native functionality. Currently having to decide between using Spaces or PIP due to this.

Sign in to add a comment