DescriptionAllow paint invalidation containers to cross frame boundaries. (re-land #2)
The previous commit was rolled out because it did not make the required changes
to PaintInvalidationState in order to teach it how to cross frame boundaries.
Previously, the *actual* paint invalidation container, meaning the enclosing
compositing layer / root RenderView, could already have been across a frame boundary.
The logic to do this correctly was done via special code in RenderView.
Instead, generalize the existing mechanisms to find a paint invalidation container
and map rects to repaint container coordinate space to cross frame boundaries.
This simplifies the code, and also causes paint invalidation rects to always be stored
in the coordinate space of their graphics layer backing. The latter is important if we want
to use these rects for determining which parts of a graphics layer need to be painted.
BUG=
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=180736
Patch Set 1 #Patch Set 2 : Cleanup. #
Total comments: 1
Patch Set 3 : Fixed. #Patch Set 4 : Made it work with position:fixed. #
Total comments: 8
Patch Set 5 : Two more test adjustments. #Patch Set 6 : Added position:fixed inside iframe test. #
Total comments: 4
Patch Set 7 : Fix #
Total comments: 1
Patch Set 8 : Merged. #Patch Set 9 : Reajust tests #
Total comments: 2
Patch Set 10 : Fixed., #Patch Set 11 : Fixed case of iframe inside of non-render-view composited container. #Patch Set 12 : Fix. #Patch Set 13 : Fix. #Messages
Total messages: 30 (0 generated)
|