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

Side by Side Diff: third_party/WebKit/LayoutTests/animations/resources/composited-animation-test.js

Issue 2724083002: [SPv2] Decomposite otherwise-compositable animations that paint nothing. (Closed)
Patch Set: Update expectations. Created 3 years, 8 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
1 'use strict'; 1 'use strict';
2 2
3 class CompositedAnimationTestCommon { 3 class CompositedAnimationTestCommon {
4 constructor(composited) { 4 constructor(composited) {
5 this.composited = composited; 5 this.composited = composited;
6 this.tests = []; 6 this.tests = [];
7 this.nextInstanceId = 1; 7 this.nextInstanceId = 1;
8 this.errorCount = 0;
8 9
9 this.createStyles(); 10 this.createStyles();
10 this.createStaticElements(); 11 this.createStaticElements();
11 } 12 }
12 13
13 createStyles() { 14 createStyles() {
14 var styleSheet = document.createElement('style'); 15 var styleSheet = document.createElement('style');
15 styleSheet.textContent = ` 16 styleSheet.textContent = `
16 .item { 17 .item {
17 width: 20px; 18 width: 20px;
18 height: 20px; 19 height: 20px;
19 position: relative; 20 position: relative;
20 background: black; 21 background: black;
21 float: left; 22 float: left;
22 } 23 }
23 .marker { 24 .marker {
24 width: 5px; 25 width: 5px;
25 height: 5px; 26 height: 5px;
26 display: inline-block; 27 display: inline-block;
27 background: orange; 28 background: orange;
28 margin: 15px; 29 margin: 15px;
29 }`; 30 }`;
30 31
31 document.head.appendChild(styleSheet); 32 document.head.appendChild(styleSheet);
32 } 33 }
33 34
34 createStaticElements() { 35 createStaticElements() {
35 this.error = document.createElement('span'); 36 this.error = document.createElement('span');
36 this.error.style.color = 'red'; 37 this.error.style = 'color: red; font-family: monospace; font-size: 12px';
37 // The element must have some painted content in order to be composited. 38 // The error element must have some painted content in order to be
38 this.error.textContent = 'x'; 39 // composited when animated in SPv2.
40 this.error.innerText = '(no errors)';
39 document.body.appendChild(this.error); 41 document.body.appendChild(this.error);
40 42
41 this.wrapper = document.createElement('div'); 43 this.wrapper = document.createElement('div');
42 document.body.appendChild(this.wrapper); 44 document.body.appendChild(this.wrapper);
43 } 45 }
44 46
45 createTestElements() { 47 createTestElements() {
46 this.tests.forEach(test => { 48 this.tests.forEach(test => {
47 test.testWrapper = document.createElement('div'); 49 test.testWrapper = document.createElement('div');
48 this.wrapper.appendChild(test.testWrapper); 50 this.wrapper.appendChild(test.testWrapper);
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 124
123 if (window.internals) 125 if (window.internals)
124 internals.pauseAnimations(0); 126 internals.pauseAnimations(0);
125 } 127 }
126 128
127 assertAnimationCompositedState() { 129 assertAnimationCompositedState() {
128 this.tests.forEach(test => { 130 this.tests.forEach(test => {
129 test.instances.forEach(instance => { 131 test.instances.forEach(instance => {
130 var composited = internals.isCompositedAnimation(instance.animation); 132 var composited = internals.isCompositedAnimation(instance.animation);
131 if (composited != this.composited) 133 if (composited != this.composited)
132 this.reportError(test, `Animation ${composited ? 'is' : 'is not'} runn ing on the compositor.`); 134 this.reportError(test, `Animation ${composited ? 'is' : 'is not'} runn ing on the compositor [id=${instance.id}].`);
133 }); 135 });
134 }); 136 });
135 } 137 }
136 138
137 reportError(test, message) { 139 reportError(test, message) {
138 if (!this.error.textContent) 140 if (this.errorCount == 0)
139 this.error.textContent = `${this.composited ? 'Tests:' : 'TestExpectations :'} `; 141 this.error.innerHTML = `${this.composited ? 'Tests:' : 'TestExpectations:' }<br>`;
140 142
141 this.error.textContent += `${test.name}: ${message} `; 143 if (this.errorCount > 0)
144 this.error.innerHTML += '<br>';
145 this.error.innerHTML += `${test.name}: ${message} `;
146 this.errorCount++;
142 } 147 }
143 148
144 waitForCompositor() { 149 waitForCompositor() {
145 return this.error.animate({opacity: ['1', '1']}, 1).ready; 150 return this.error.animate({opacity: ['1', '1']}, 1).ready;
146 } 151 }
147 152
148 layoutAndPaint() { 153 layoutAndPaint() {
149 if (window.testRunner) 154 if (window.testRunner)
150 testRunner.waitUntilDone(); 155 testRunner.waitUntilDone();
151 156
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 } 213 }
209 214
210 var getLinearSamples = function(n, start, end) { 215 var getLinearSamples = function(n, start, end) {
211 var arr = []; 216 var arr = [];
212 var spread = end - start; 217 var spread = end - start;
213 for (var i = 0; i <= n; i++) 218 for (var i = 0; i <= n; i++)
214 arr.push(i * spread / n + start); 219 arr.push(i * spread / n + start);
215 return arr.map(t => { return {at: t} }); 220 return arr.map(t => { return {at: t} });
216 } 221 }
217 222
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698