Closed Bug 915492 Opened 11 years ago Closed 9 years ago

Canvas/Video overflow hidden not honored and position offset by navigation bar height

Categories

(Core :: Graphics: Layers, defect)

24 Branch
All
Android
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox24 --- affected
firefox25 --- affected
firefox26 --- affected
firefox27 --- affected

People

(Reporter: marcus, Unassigned)

References

Details

(Keywords: regression)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36

Steps to reproduce:

Apparently there are two modes in which a video tag and a canvas can be displayed.
I will call them "default mode" and "opacity mode".

The default mode is the normal case when using a video tag or a canvas. The opacity mode is used when setting a background color and an opacity of < 1, both are required.

The default mode has the problem of not honoring the overflow hidden property of its ancestor elements and bleeds through their boundaries.

The opacity mode does not have this issue, but exhibits another bug. Its position is offset by the navigation bar. If the navigation bar is not visible its positioning is correct. If the navigation bar is visible, even partially during a swipe then the canvas position is offset by the visible height of the navigation bar. Apparently the positioning math of the canvas in this mode is incorrectly accounting for the navigation bar.

The video tag behaves in the same way as the canvas.

I have a test page, cannot currently put it up online, but it is attached.
Attachment #803461 - Attachment mime type: text/plain → text/html
Status: UNCONFIRMED → NEW
Ever confirmed: true
From a quick look I think what's happening here is that the opacity is causing a different set of layers to be built, and for some reason that layer is getting affected by the margins as the dynamic toolbar shows and hides.
Component: General → Graphics: Layers
Keywords: regression
OS: Mac OS X → Android
Product: Firefox for Android → Core
Hardware: x86 → All
Version: Firefox 24 → 24 Branch
The reason I'm moved this to graphics is because (a) the fix will likely be in the AsyncCompositionManager.cpp and (b) because internal layerizing heuristics should not result in user-visible changes like this.
This doesn't reproduce any more.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: