-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Allow 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= Review URL: https://codereview.chromium.org/482063005 git-svn-id: svn://svn.chromium.org/blink/trunk@180736 bbb929c8-8fbe-4397-9dbb-9b2b20218538
- Loading branch information
1 parent
3758056
commit cb7d2bf
Showing
14 changed files
with
160 additions
and
93 deletions.
There are no files selected for viewing
14 changes: 14 additions & 0 deletions
14
LayoutTests/fast/repaint/invalidate-paint-for-fixed-pos-inside-iframe-expected.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
{ | ||
"bounds": [800, 600], | ||
"children": [ | ||
{ | ||
"bounds": [800, 600], | ||
"contentsOpaque": true, | ||
"drawsContent": true, | ||
"repaintRects": [ | ||
[18, 418, 50, 50] | ||
] | ||
} | ||
] | ||
} | ||
|
21 changes: 21 additions & 0 deletions
21
LayoutTests/fast/repaint/invalidate-paint-for-fixed-pos-inside-iframe.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<script src="../../resources/run-after-display.js"></script> | ||
<script src="resources/text-based-repaint.js"></script> | ||
<script> | ||
window.onload = function() { | ||
runRepaintTest(); | ||
}; | ||
|
||
function repaintTest() { | ||
document.getElementsByTagName('iframe')[0] | ||
.contentDocument | ||
.getElementsByTagName('div')[0] | ||
.style | ||
.backgroundColor = 'green'; | ||
} | ||
</script> | ||
</head> | ||
<div style="height: 400px"></div> | ||
<iframe srcdoc="<div style='position: fixed; height: 50px; width: 50px; background-color: red;'></div>"></iframe> |
22 changes: 22 additions & 0 deletions
22
LayoutTests/fast/repaint/invalidate-paint-in-iframe-in-composited-layer-expected.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
{ | ||
"bounds": [785, 616], | ||
"children": [ | ||
{ | ||
"bounds": [785, 616], | ||
"contentsOpaque": true, | ||
"drawsContent": true, | ||
"children": [ | ||
{ | ||
"position": [8, 408], | ||
"transformOrigin": [100, 100], | ||
"bounds": [304, 200], | ||
"drawsContent": true, | ||
"repaintRects": [ | ||
[10, 10, 50, 50] | ||
] | ||
} | ||
] | ||
} | ||
] | ||
} | ||
|
23 changes: 23 additions & 0 deletions
23
LayoutTests/fast/repaint/invalidate-paint-in-iframe-in-composited-layer.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<script src="../../resources/run-after-display.js"></script> | ||
<script src="resources/text-based-repaint.js"></script> | ||
<script> | ||
window.onload = function() { | ||
runRepaintTest(); | ||
}; | ||
|
||
function repaintTest() { | ||
document.getElementsByTagName('iframe')[0] | ||
.contentDocument | ||
.getElementsByTagName('div')[0] | ||
.style | ||
.backgroundColor = 'green'; | ||
} | ||
</script> | ||
</head> | ||
<div style="height: 400px"></div> | ||
<div style="height: 200px; width: 200px; transform: translateZ(0)"> | ||
<iframe srcdoc="<div style='height: 50px; width: 50px; background-color: red;'></div>"></iframe> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.