Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Picture in picture does not render the video controls overlay when hovering on the video #3482

Closed
pedrotari7 opened this issue Apr 11, 2023 · 4 comments
Labels
alloy Related to the Alloy runtime bug Bug report Framework Related to framework code or APIs

Comments

@pedrotari7
Copy link

Describe the bug
When playing video in picture-in-picture the playback works as expected, however when hovering on the window, CEF is not able to render the usual overlay containing the native controls, and instead renders the fallback red tile. This happens when running in the client sample app of CEF but not in similar versions of chrome.

To Reproduce
Steps to reproduce the behaviour:

  1. Go to a webpage with a video element with a picture-in-picture toggle available example
  2. Click on 'the PiP toggle'
  3. Hover on the floating window
  4. See error

Expected behaviour
The native video element controls should appear on hover
Screenshot 2023-04-11 at 15 16 41

Screenshots
Playback:
Screenshot 2023-04-11 at 14 48 27
OnHover:
Screenshot 2023-04-11 at 14 48 42

Versions (please complete the following information):

  • OS: MacOS 13.3.1
  • CEF Version: 111.2.7+gebf5d6a+chromium-111.0.5563.148

Additional context
Does the problem reproduce with Google Chrome at the same version?
No

@pedrotari7 pedrotari7 added the bug Bug report label Apr 11, 2023
@magreenblatt
Copy link
Collaborator

This also reproduces on Windows 10 with current master (M113). Mouseover of the PiP window shows cursor changes and clicking the link works as expected, so this is likely a rendering issue. Does not reproduce when using --enable-chrome-runtime.

@magreenblatt magreenblatt added Framework Related to framework code or APIs alloy Related to the Alloy runtime labels Apr 11, 2023
@magreenblatt
Copy link
Collaborator

Looks like this broke in M101/M102 (working in 100, partially broken in 101 (red text/button regions), fully broken in 102 (red content area))

@magreenblatt
Copy link
Collaborator

Looks like ColorProvider in video_overlay_window_views.cc is returning solid red (kPlaceholderColor) instead of the expected theme color kColorPipWindowControlsBackground which has an alpha component.

@magreenblatt
Copy link
Collaborator

Alloy needs to initialize the Chrome color mixer as shown in https://chromium.googlesource.com/chromium/src/+/e959940a7e4830a492dac6a5a6e9f143970e40f6%5E%21/#F1

magreenblatt added a commit that referenced this issue Apr 11, 2023
Initialize the Chrome color mixer so that ColorProvider returns the expected
semi-transparent color for overlay background in video_overlay_window_views.cc
instead of the default opaque red color (kPlaceholderColor).
magreenblatt added a commit that referenced this issue Apr 11, 2023
Initialize the Chrome color mixer so that ColorProvider returns the expected
semi-transparent color for overlay background in video_overlay_window_views.cc
instead of the default opaque red color (kPlaceholderColor).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
alloy Related to the Alloy runtime bug Bug report Framework Related to framework code or APIs
Projects
None yet
Development

No branches or pull requests

2 participants