There are places where we want to know if a union of rects together cover a (rectangular) space. Currently we just look for a single child that fills the space. This gives no false-positives, but potentially many false negatives. Add logic to determine if the union of rects fill a rect, and use it in these cases.
Bugs this depend on represent places where the improved logic should be used.
Created attachment 112868 [details] Patch
Can make use of platform/graphics/Region class to do all of this. It is what I am using it in the webkit side. If you need Region::contains() you can replace "A.contains(B)" with A.intersect(B); if (!A.isEmpty()) B.subtract(A); return B.isEmpty(); and use .contains() when bug #72298 lands. Removing dep on #70634 since this is useful for UI layers already regardless of opaque flag being set in WebCore land.
I think this is covered in 70533. Marking resolved.