Layout and input events messed up when using Flash in fullscreen

Bug #1510508 reported by Chris Coulson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Fix Released
Medium
Chris Coulson

Bug Description

If I make Flash go fullscreen from a maximised window, then it seems to work ok. However, if I make it go fullscreen from a non-maximised window, the layout seems to be slightly broken. In addition to that, input events don't work correctly.

See the example of the BBC iPlayer

Revision history for this message
Chris Coulson (chrisccoulson) wrote :
Changed in oxide:
status: New → Triaged
importance: Undecided → Medium
milestone: none → branch-1.12
Changed in oxide:
assignee: nobody → Chris Coulson (chrisccoulson)
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

This happens because Flash content expects the content to be resized synchronously when going fullscreen, but that doesn't happen in webbrowser-app.

Chrome has a workaround for this in DesktopWindowTreeHostX11::SetFullscreen, with the following comment:

  // Try to guess the size we will have after the switch to/from fullscreen:
  // - (may) avoid transient states
  // - works around Flash content which expects to have the size updated
  // synchronously.
  // See https://crbug.com/361408
  if (fullscreen) {
    restored_bounds_in_pixels_ = bounds_in_pixels_;
    const gfx::Display display =
        gfx::Screen::GetScreenFor(NULL)->GetDisplayNearestWindow(window());
    bounds_in_pixels_ = ToPixelRect(display.bounds());
  } else {
    bounds_in_pixels_ = restored_bounds_in_pixels_;
  }

I guess we can do something similar in Oxide, where we resize the Flash content before the browser actually goes fullscreen

Changed in oxide:
status: Triaged → In Progress
Changed in oxide:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.