Open Bug 1866411 Opened 1 year ago Updated 9 months ago

sync decoding of images causes unnecessary invalidates that hide bugs and make it hard to write some tests

Categories

(Testing :: Reftest, defect)

defect

Tracking

(Not tracked)

People

(Reporter: tnikkel, Assigned: tnikkel)

References

(Blocks 1 open bug)

Details

Having sync decoding enabled can affect tests that don't even contain images because we will hit this code

https://searchfox.org/mozilla-central/rev/66d0e3cac02896d0249c6077742411722e6333f0/layout/painting/RetainedDisplayListBuilder.cpp#1572

that invalidates every display item that may contain an image.

This, for example, hides bug 1866410. It also makes it impossible to write a reftest/crashtest for bug 1862277. And it's not obvious that his is the cause so it takes developer time.

Assignee: nobody → tnikkel
See Also: → 1774849
See Also: → 1862277

I think we can probably fix this by skipping the linked invalidation code if the sync decoding pref is set because that means every paint is one with sync decode and we only need that code if we are mixing sycn and non-sync paints. (I think we can get away with not supporting the case of dynamically flipping the pref perfectly.)

Severity: -- → S3
Blocks: 1801052
Depends on: 1892678
You need to log in before you can comment on or make changes to this bug.