Closed Bug 1435643 Opened 2 years ago Closed 2 years ago

Remove layer flattening code

Categories

(Core :: Web Painting, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla60
Tracking Status
firefox60 --- fixed

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

We added this code to disable layer activity heuristics and flatten away Layers when we ended up needing component alpha with BasicLayers.

It's pretty painful needing to repeat Layer building when we detect the problem case, but it was needed since we couldn't support component alpha with BasicLayers.

With APZ we decided to go the other way, keep the layers, and just disable subpixel-AA for text within them. This lets us keep async scrolling, which was decided to be more important.

Since we now have APZ everywhere, we should get rid of this code.
Attachment #8948293 - Flags: review?(mstange)
Blocks: 1435650
Attachment #8948293 - Flags: review?(jnicol)
Blocks: 1436900
Comment on attachment 8948293 [details] [diff] [review]
remove-layer-flattening

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

Woohoo!

There's a comment here that needs to be updated as well, maybe with some code changes to go with it (not sure): https://searchfox.org/mozilla-central/rev/5bbbbe17bc262ded6d4f0e0906ed84aafb4ca0c8/layout/painting/FrameLayerBuilder.cpp#4731-4739

::: layout/generic/nsFrameStateBits.h
@@ -226,5 @@
>  
>  // Is this frame allowed to have generated (::before/::after) content?
>  FRAME_STATE_BIT(Generic, 44, NS_FRAME_MAY_HAVE_GENERATED_CONTENT)
>  
> -// This bit is set on frames that create ContainerLayers with component

Please add a comment here that says that bit 45 is unused, and a comment at the end of the list that points to this 1-bit hole.
Attachment #8948293 - Flags: review?(mstange) → review+
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d42e83a8ffb4
Remove no longer needed layer flattening code. r=mstange
https://hg.mozilla.org/mozilla-central/rev/d42e83a8ffb4
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
Attachment #8948293 - Flags: review?(jnicol)
You need to log in before you can comment on or make changes to this bug.