Closed Bug 978128 Opened 10 years ago Closed 10 years ago

Settings Header in Full Screen Layer

Categories

(Firefox OS Graveyard :: Gaia::Settings, defect, P2)

ARM
Gonk (Firefox OS)
defect

Tracking

(Not tracked)

RESOLVED WONTFIX
1.4 S3 (14mar)

People

(Reporter: mchang, Assigned: mchang)

Details

(Keywords: perf, Whiteboard: [c=handeye p= s=2014.08.15 u=])

Attachments

(2 files)

Attached file Layer Tree
The header in a region, such as the word 'Settings', is in a 320x480 layer, when it should be able to be optimized to h=50. Sometimes the scrollable layer is opaque, sometimes it is transparent. Investigate and see what's going on.
Attached file Paint Dump
We see that only a background color and the word 'Settings' is assigned to the layer 430faae0.
Based on this layer tree, and looking at other layer trees, do we always have to have a full screen layer behind the scrollable layer? Or is shrinking layer 0x45a41400 to be h=50 not going to work? I tried using separate divs, headers, etc but couldn't find a way to shrink the layer.
Flags: needinfo?(bgirard)
Ideally we should be able to shrink the header layer to h=50 since the bottom is an opaque layer of size taking up the remainder of the page.

I don't really know why we don't do that. Matt?
Flags: needinfo?(bgirard) → needinfo?(matt.woodrow)
I think this is because nsDisplayScrollLayer::GetOpaqueRegion() returns an empty region.

This means that when computing visibility of display items, we don't occlude any of the scrolled area and conclude that the background color is entirely visible.

Note that this isn't trivial to fix, since we want the result of GetOpaqueRegion() to be correct under async-scrolling. Even if the current content is opaque, if there's a possibility that async-scrolling will reveal some transparent content, then we need the background layers to be drawn.

Just forwarding the GetOpaqueRegion call onto the sublist (which is what other container display items do) will only tell you if the content is opaque at the current scroll position. We need to add a way to ensure that it's opaque at all scroll positions.
Flags: needinfo?(matt.woodrow)
Priority: P1 → P2
Whiteboard: [c=handeye p=2 s= u=1.4] → [c=handeye p=3 s= u=]
Reopen if still an issue.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
Whiteboard: [c=handeye p=3 s= u=] → [c=handeye p= s=2014.08.15 u=]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: