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

Side by Side Diff: third_party/WebKit/LayoutTests/compositing/overflow/overflow-scroll-background-transparent-to-opaque.html

Issue 2259493004: Fix Compositing of Opaque Scrolling Layers and Add Tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comment. Created 4 years, 3 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
OLDNEW
(Empty)
1 <script src="../../resources/run-after-layout-and-paint.js"></script>
2 <script>
3 if (window.internals)
4 internals.runtimeFlags.compositeOpaqueScrollersEnabled = true;
5
6 if (window.testRunner) {
7 testRunner.dumpAsTextWithPixelResults();
8 testRunner.waitUntilDone();
9 }
10
11 function hasOpaqueCompositedScrollingContentsLayer(layer) {
12 if (layer.name == "Scrolling Contents Layer")
13 return layer.contentsOpaque;
14 if (layer.children) {
15 for (var i = 0; i < layer.children.length; i++) {
16 if (hasOpaqueCompositedScrollingContentsLayer(layer.children[i]) )
17 return true;
18 }
19 }
20 return false;
21 }
22
23 function hasCompositedScrollingContentsLayer(layer) {
24 if (layer.name == "Scrolling Contents Layer")
25 return true;
26 if (layer.children) {
27 for (var i = 0; i < layer.children.length; i++) {
28 if (hasCompositedScrollingContentsLayer(layer.children[i]))
29 return true;
30 }
31 }
32 return false;
33 }
34
35 onload = function() {
36 if (!window.testRunner || !window.internals)
37 return;
38
39 var result = "Should not have opaque composited scrolling contents layer : ";
40 if (!hasCompositedScrollingContentsLayer(JSON.parse(window.internals.lay erTreeAsText(document))))
41 result += "Pass.\n";
42 else
43 result += "Fail.\n";
44 document.getElementById("test-1-output").innerHTML = result;
45
46 scrollerElement = document.getElementById("scroller");
47 scrollerElement.style.background = "green local content-box";
48
49 runAfterLayoutAndPaint(function() {
50 var result = "Should have opaque composited scrolling contents layer : ";
51 if (hasOpaqueCompositedScrollingContentsLayer(JSON.parse(window.inte rnals.layerTreeAsText(document))))
52 result += "Pass.\n";
53 else
54 result += "Fail.\n";
55 document.getElementById("test-2-output").innerHTML = result;
56 runAfterLayoutAndPaint(function() { testRunner.notifyDone(); });
57 });
58 }
59 </script>
60 <style>
61 #scroller {
62 background: transparent local content-box;
63 border: 10px solid rgba(0, 255, 0, 0.5);
64 overflow: scroll;
65 width: 200px;
66 height: 200px;
67 }
68 .spacer {
69 height: 300px;
70 }
71 </style>
72 <div id="scroller"><div class="spacer"></div></div>
73 <p>Scroller background should be green</p>
74 <p id="test-1-output"></p>
75 <p id="test-2-output"></p>
76
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698