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

Issue 848812 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
no longer active
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug



Sign in to add a comment

[PIP] Video pauses when tab is not active in the window.

Project Member Reported by apaci...@chromium.org, Jun 1 2018

Issue description

69.0.3447.2

1. Play video in PiP. Observe video playing in PiP.
2. Open new tab.
3. Observe PiP window video stops playing.

This does not repro when the window is minimized or hidden behind another window.

Probably has to do with whether or not the media player is the current active web contents for that browser window.

Does not repro on Linux.
 
Description: Show this description
In WebMediaPlayerImpl, there is code to suspend a player when idle/backgrounded. We should make it so that a video in PIP can never be suspended.
Yes, I believe we landed that change previously.

I wonder what makes Mac different from the other platforms. I am prepping a local build to investigate.
For info, I was able to reproduce on my MacBook. Let me know if I can help.
Status: Started (was: Assigned)
Cc: ccameron@chromium.org
Couple of ideas
- This may be related to the window occlusion logic at [1].
- This may be related to the logic of how we make WebContents "think that it's visible even if it's not" when tab capture is enabled. We may need to do something similar (there may be logic in RWHVAura for that, but not RWHVMac).

[1] https://cs.chromium.org/chromium/src/content/browser/web_contents/web_contents_view_mac.mm?rcl=0209a6db600594a69708ad6b30bdfda3c9ec769c&l=688
Thanks for taking a look and the email response!

From your pointers, I gathered this was related to:
- The window will be considered "Hidden".
- WebContentsImpl will activate the "disable rendering" optimisation[1] for "Hidden" visibility (not "Occluded").

[1] https://cs.chromium.org/chromium/src/content/browser/web_contents/web_contents_impl.cc?gsn=WasHidden&l=1645
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/72c31415bdbc2a62bf43c8ddeae26891ca5a7e09

commit 72c31415bdbc2a62bf43c8ddeae26891ca5a7e09
Author: Jennifer Apacible <japacible@gmail.com>
Date: Tue Jun 19 16:52:24 2018

[Picture in Picture] Avoid "disable rendering" optimisation in PiP mode.

WebContents activates the "disable rendering" optimisation when the
WebContents is hidden. This means that when a video is playing in
Picture-in-Picture, then the WebContents is hidden, the video will stop
playing in the Picture-in-Picture window.

Similarly to content capturing (e.g. mirroring / tab capture), this
optimisation should not be activated when in Picture-in-Picture mode.

This will only affect one tab at a time, as users cannot enter
Picture-in-Picture mode from multiple tabs.

Bug:  848812 
Change-Id: I98a0e769ad4c412ea50db4de2ab63e64f3b752f2
Reviewed-on: https://chromium-review.googlesource.com/1105339
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568496}
[modify] https://crrev.com/72c31415bdbc2a62bf43c8ddeae26891ca5a7e09/content/browser/web_contents/web_contents_impl.cc

Status: Fixed (was: Started)

Sign in to add a comment