blob: 1f656886e37980da963d55c105d3c05ebaab91bd [file] [log] [blame]
simon.fraser@apple.com0acc5f22017-02-05 19:18:16 +00001<html>
2<style>
3body {
4 height: 5000px;
5 width: 5000px;
6}
7</style>
8<script>
9 if (window.testRunner) {
10 testRunner.dumpAsText();
11 testRunner.waitUntilDone();
12 }
13
14 function getWaitForPresentationUpdateUIScript()
15 {
16 return `
17 (function() {
18 uiController.doAfterPresentationUpdate(function() {
19 uiController.uiScriptComplete('');
20 });
21 })();`
22 }
23
24 function getUnparentUIScript()
25 {
26 return `
27 (function() {
28 uiController.removeViewFromWindow(function() {
29 uiController.uiScriptComplete('');
30 });
31 })();`
32 }
33
34 function getReinsertUIScript()
35 {
36 return `
37 (function() {
38 uiController.addViewToWindow(function() {
39 uiController.uiScriptComplete('');
40 });
41 })();`
42 }
43
44 function dumpLayers(outputId)
45 {
46 if (window.internals) {
47 document.getElementById(outputId).innerText = window.internals.pageOverlayLayerTreeAsText(internals.LAYER_TREE_INCLUDES_TILE_CACHES);
48 }
49 }
50
51 function doTest()
52 {
53 if (!window.testRunner || !testRunner.runUIScript)
54 return;
55
56 internals.installMockPageOverlay("document");
57 internals.installMockPageOverlay("view");
58
59 // Waiting for a presentation update is needed to get the document overlay to become tiled.
60 testRunner.runUIScript(getWaitForPresentationUpdateUIScript(), function(result) {
61 dumpLayers('before-layers');
62
63 testRunner.runUIScript(getUnparentUIScript(), function(result) {
64 dumpLayers('view-removed-layers');
65
66 testRunner.runUIScript(getReinsertUIScript(), function(result) {
67 dumpLayers('view-reinsertion-layers');
68 if (window.testRunner)
69 testRunner.notifyDone();
70 });
71 });
72 });
73 }
74
75 window.addEventListener('load', doTest, false);
76</script>
77<body>
78 <h2>Initial layers</h2>
79 <pre id="before-layers">Layer tree goes here</pre>
80
81 <h2>Layers after removal</h2>
82 <pre id="view-removed-layers">Layer tree goes here</pre>
83
84 <h2>Layers after re-insertion</h2>
85 <pre id="view-reinsertion-layers">Layer tree goes here</pre>
86</body>
87</html>