ColorLayer optimization doesn't account for rounded rect clipping

RESOLVED FIXED in mozilla15

Status

()

Core
Layout
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

Tracking

unspecified
mozilla15
x86
Mac OS X
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 years ago
Created attachment 617296 [details] [diff] [review]
Don't convert items with rounded rect clips into ColorLayers

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)
(Assignee)

Comment 1

5 years ago
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+
(Assignee)

Comment 3

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/3ca6df58d05d
Assignee: nobody → matt.woodrow
https://hg.mozilla.org/mozilla-central/rev/3ca6df58d05d
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla15
You need to log in before you can comment on or make changes to this bug.