Closed Bug 882390 Opened 7 years ago Closed 6 years ago

Position absolute content doesn't get layer causing excessive invalidation


(Core :: Layout, defect)

Not set





(Reporter: BenWa, Unassigned)


(Blocks 1 open bug)



(1 file)

Scroll the following page with either paint flashing and/or omtc+layer border:

Notice the div absolute positioned CategoryPanel & divBasketUpdate (Top left & Top right) don't get a layer.
Abspos stuff does not necesasarily form a stacking context, so isn't painted atomically, no?
I just checked in chrome and they don't build a layer for it either. Could be an invalid bug. I'm not familiar with stacking context. Is it hard/impossible to layerize this div?
This testcase should make it clear why you can't layerize abspos things in general if they have auto z-index...
Right I agree that z-index is a major problem but I don't see it in the page. Its difficult to find a reason why this isn't being layerize to see if this is or isn't the case.
I _think_ that an abs-pos thing might be ok to layerize as long as no descendants of it have non-auto z-index...

But it's worth double-checking this carefully against
We should actually be able to layerize here. We don't depend on content being a stacking context to be able to layerize it. I'm not sure why this isn't being layerized.
The reason we're invalidating all the time is that they're doing a poor-man's position:fixed by constantly adjusting 'top' to keep the "Categories" element at the top of the page while you scroll :-(.

We should layerize for abs-pos 'left'/'top' animation.
We'd need a fix for bug 745485 to fix the testcase in comment #0.
Depends on: 745485
Ah, we already have a bug for layerizing left/top.
Depends on: 876321
Summary: Position absolute content doesn't get layer causing executive invalidation → Position absolute content doesn't get layer causing excessive invalidation
Bug 876321 fixed this, as far as I can tell.
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.