Closed Bug 228861 Opened 20 years ago Closed 20 years ago

Opacity ignored when containing block is not visible


(Core :: Web Painting, defect, P1)






(Reporter: roc, Assigned: roc)


(Keywords: testcase)


(2 files)

Ian found a bug where, if the containing block for a translucent element is not
in the repaint area, then the translucency is not applied.
Attached file testcase
Just scroll down until the gray-on-red text is offscreen. The fixed yellow DIV
will suddenly become opaque. It should remain translucent.
I don't see the bug in a quick look at the code. I'll look into it later.
Priority: -- → P2
Keywords: testcase
As an additional comment to i can see this slow
update when i scroll the page. It happens only when the yellow box is behind the
invisible one or what it is. At the bottom it's working fine. But this would
depend on bug 64401 i think.
Attached patch fixSplinter Review
Simple fix. We need to stop AddToDisplayList from dropping CLIP and FILTER
instructions on the floor just because they have an empty intersection with the
damage rect. Later we're going to reparent content under them and that content
will be clipped by the CLIP and will expand the FILTER region.

Note that if there is no reparented content, then OptimizeDisplayListClipping
and OptimizeTranslucentRegions will later figure out that the PUSH/POP
CLIP/FILTER pairs have nothing inside them and will remove the useless
Attachment #141580 - Flags: superreview?(dbaron)
Attachment #141580 - Flags: review?(dbaron)
Attachment #141580 - Flags: superreview?(dbaron)
Attachment #141580 - Flags: superreview+
Attachment #141580 - Flags: review?(dbaron)
Attachment #141580 - Flags: review+
checked in
Closed: 20 years ago
Resolution: --- → FIXED
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.