Last Comment Bug 747718 - ColorLayer optimization doesn't account for rounded rect clipping
: ColorLayer optimization doesn't account for rounded rect clipping
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Layout (show other bugs)
: unspecified
: x86 Mac OS X
: -- normal (vote)
: mozilla15
Assigned To: Matt Woodrow (:mattwoodrow)
:
Mentors:
Depends on:
Blocks: dlbi
  Show dependency treegraph
 
Reported: 2012-04-22 02:06 PDT by Matt Woodrow (:mattwoodrow)
Modified: 2012-04-27 06:52 PDT (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Don't convert items with rounded rect clips into ColorLayers (2.85 KB, patch)
2012-04-22 02:06 PDT, Matt Woodrow (:mattwoodrow)
roc: review+
Details | Diff | Splinter Review

Description Matt Woodrow (:mattwoodrow) 2012-04-22 02:06:08 PDT
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.
Comment 1 Matt Woodrow (:mattwoodrow) 2012-04-22 02:13:53 PDT
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 2 Robert O'Callahan (:roc) (email my personal email if necessary) 2012-04-22 03:12:11 PDT
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.
Comment 3 Matt Woodrow (:mattwoodrow) 2012-04-26 17:28:14 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/3ca6df58d05d
Comment 4 :Ms2ger (⌚ UTC+1/+2) 2012-04-27 06:52:00 PDT
https://hg.mozilla.org/mozilla-central/rev/3ca6df58d05d

Note You need to log in before you can comment on or make changes to this bug.