Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(129)

Side by Side Diff: LayoutTests/fast/events/touch/touch-rect-crash-on-unpromote-layer.html

Issue 46163008: Revert "Re-land deferred compositing updates with fixed assumptions" (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <!DOCTYPE HTML> 1 <!DOCTYPE HTML>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../js/resources/js-test-pre.js"></script> 4 <script src="../../js/resources/js-test-pre.js"></script>
5 <style> 5 <style>
6 #layer { 6 #layer {
7 position: relative; 7 position: relative;
8 left: 10px; 8 left: 10px;
9 } 9 }
10 .composited { 10 .composited {
11 -webkit-transform: translate3d(0, 0, 0); 11 -webkit-transform: translate3d(0, 0, 0);
12 } 12 }
13 </style> 13 </style>
14 </head> 14 </head>
15 <body> 15 <body>
16 <div id="layer" class="composited">A layer that may or may not be composited</di v> 16 <div id="layer" class="composited">A layer that may or may not be composited</di v>
17 <p id="description"></p> 17 <p id="description"></p>
18 <div id="console"></div> 18 <div id="console"></div>
19 <script> 19 <script>
20 description("Make sure we don't crash when a layer with a touch event handle r becomes non-composited"); 20 description("Make sure we don't crash when a layer with a touch event handle r becomes non-composited");
21 21
22 if (window.internals) 22 if (window.internals)
23 window.internals.settings.setForceCompositingMode(true); 23 window.internals.settings.setForceCompositingMode(true);
24 24
25 var layer = document.getElementById('layer'); 25 var layer = document.getElementById('layer');
26 layer.addEventListener('touchstart', function() {}); 26 layer.addEventListener('touchstart', function() {});
27 27
28 // Ensure we've done a layout, updated compositing, and we have a hit rect o n this composited layer. 28 // Ensure we've done a layout and we have a hit rect on this composited laye r.
29 var x = layer.offsetTop; 29 var x = layer.offsetTop;
30
31 if (window.internals)
32 window.internals.forceCompositingUpdate(document);
33
34 var rects; 30 var rects;
35 if (window.internals) { 31 if (window.internals) {
36 rects = window.internals.touchEventTargetLayerRects(document); 32 rects = window.internals.touchEventTargetLayerRects(document);
37 shouldBe("rects.length", "1"); 33 shouldBe("rects.length", "1");
38 shouldBeEqualToString("rects[0].layerRootNode.id", "layer"); 34 shouldBeEqualToString("rects[0].layerRootNode.id", "layer");
39 } 35 }
40 36
41 // Make the layer non-composited 37 // Make the layer non-composited
42 layer.className = ''; 38 layer.className = '';
43 39
44 // Verify we now have a hit rect on the document. 40 // Force layout and verify we now have a hit rect on the document.
45 // (layout and compositing update are done by touchEventTargetLayerRects().) 41 x = layer.offsetTop;
46 if (window.internals) { 42 if (window.internals) {
47 rects = window.internals.touchEventTargetLayerRects(document); 43 rects = window.internals.touchEventTargetLayerRects(document);
48 shouldBe("rects.length", "1"); 44 shouldBe("rects.length", "1");
49 shouldBeEqualToString("rects[0].layerRootNode.nodeName", "#document"); 45 shouldBeEqualToString("rects[0].layerRootNode.nodeName", "#document");
50 } 46 }
51 </script> 47 </script>
52 <script src="../../js/resources/js-test-post.js"></script> 48 <script src="../../js/resources/js-test-post.js"></script>
53 </body> 49 </body>
54 </html> 50 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698