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

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

Issue 26110004: Defer the real work in updateCompositingLayers until it's really needed. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: patch for landing Created 7 years, 2 months 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 and we have a hit rect on this composited laye r. 28 // Ensure we've done a layout, updated compositing, and we have a hit rect o n this composited layer.
29 var x = layer.offsetTop; 29 var x = layer.offsetTop;
30
31 if (window.internals)
32 window.internals.forceCompositingUpdate(document);
33
30 var rects; 34 var rects;
31 if (window.internals) { 35 if (window.internals) {
32 rects = window.internals.touchEventTargetLayerRects(document); 36 rects = window.internals.touchEventTargetLayerRects(document);
33 shouldBe("rects.length", "1"); 37 shouldBe("rects.length", "1");
34 shouldBeEqualToString("rects[0].layerRootNode.id", "layer"); 38 shouldBeEqualToString("rects[0].layerRootNode.id", "layer");
35 } 39 }
36 40
37 // Make the layer non-composited 41 // Make the layer non-composited
38 layer.className = ''; 42 layer.className = '';
39 43
40 // Force layout and verify we now have a hit rect on the document. 44 // Force layout and verify we now have a hit rect on the document.
41 x = layer.offsetTop; 45 x = layer.offsetTop;
42 if (window.internals) { 46 if (window.internals) {
43 rects = window.internals.touchEventTargetLayerRects(document); 47 rects = window.internals.touchEventTargetLayerRects(document);
44 shouldBe("rects.length", "1"); 48 shouldBe("rects.length", "1");
45 shouldBeEqualToString("rects[0].layerRootNode.nodeName", "#document"); 49 shouldBeEqualToString("rects[0].layerRootNode.nodeName", "#document");
46 } 50 }
47 </script> 51 </script>
48 <script src="../../js/resources/js-test-post.js"></script> 52 <script src="../../js/resources/js-test-post.js"></script>
49 </body> 53 </body>
50 </html> 54 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698