Closed Bug 1358066 Opened 8 years ago Closed 8 years ago

If the painted layer is optimized to color or image layer, the calculation of invalidate region is wrong.

Categories

(Core :: Layout, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: mtseng, Assigned: mtseng)

References

(Depends on 1 open bug, Regressed 1 open bug)

Details

Attachments

(1 file)

I found this while debugging bug 1358055. This would cause infinite loop in reftest. The log showed "timed out waiting for pending paint count to reach zero (after reftest-wait removed and switch to print mode) (waiting for MozAfterPaint)". After debugging it, I found the problem is if the painted layer is optimized to color or image layer, we still calculate the invalidate region by using the corresponding color or image display-item. Which is wrong because the painted layer is not visible and should not produce any invalidate region.
Attachment #8859945 - Flags: review?(mstange) → review?(matt.woodrow)
Comment on attachment 8859945 [details] Bug 1358066 - Remove the painted layer invalidate region calculation if the painted layer has been optimized to color or image layer. https://reviewboard.mozilla.org/r/131994/#review135086 ::: layout/painting/FrameLayerBuilder.cpp:1995 (Diff revision 1) > } > > DisplayItemData* data = GetDisplayItemDataForManager(aItem, aLayer->Manager()); > NS_ASSERTION(data, "Must have already stored data for this item!"); > data->mOptLayer = aLayer; > + data->mItem = nullptr; Rather than clearing mItem here, can you instead check for the presence of mOptLayer in ComputeGeometryChangeForItem? Please also add a comment there about how we don't need to compute invalidations when we're not using the PaintedLayer. r=me with that.
Attachment #8859945 - Flags: review?(matt.woodrow) → review+
Oops, forgot to change reviewer...
Pushed by mtseng@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/3a7c9793ce9d Remove the painted layer invalidate region calculation if the painted layer has been optimized to color or image layer. r=mattwoodrow
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Depends on: 1529536
Regressions: 1558148
Regressions: 1677065
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: