Closed Bug 747718 Opened 12 years ago Closed 12 years ago

ColorLayer optimization doesn't account for rounded rect clipping

Categories

(Core :: Layout, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla15

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

References

Details

Attachments

(1 file)

This causes an existing test to fail too, but only with win7 (USE_WIDGET_LAYERS disabled, so visible area == invalidation area), and DLBI (reduced invalidation area).

This fixes the problem, and adds an explicit test that should fail everywhere without the fix.
Attachment #617296 - Flags: review?(roc)
I'm a little bit worried about the method I used to disable the ColorLayer in the reference image (adding obscured content behind the solid color), since it's a case that probably *should* still create a ColorLayer if someone bothers to optimize this.

This would silently change the test to be useless.

Any ideas for more resilient methods to avoid a ColorLayer? I think we might have a similar issue with tests assuming a canvas object will force an active layer - no longer true I believe?
Comment on attachment 617296 [details] [diff] [review]
Don't convert items with rounded rect clips into ColorLayers

Review of attachment 617296 [details] [diff] [review]:
-----------------------------------------------------------------

In the reference testcase, how about including two small boxes on top of the background, one on top of the other, the lower one with border:white and the upper one with border:blue? I can't see us ever optimizing the white one away.
Attachment #617296 - Flags: review?(roc) → review+
https://hg.mozilla.org/mozilla-central/rev/3ca6df58d05d
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla15
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: