Layout and input events messed up when using Flash in fullscreen

Bug #1510508 reported by Chris Coulson on 2015-10-27
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
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

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)
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  Edit
Everyone can see this information.

Other bug subscribers