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

Side by Side Diff: third_party/WebKit/Source/web/tests/CompositorWorkerTest.cpp

Issue 2049063002: Revert of Use element id's for animations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/frame/FrameView.h" 5 #include "core/frame/FrameView.h"
6 #include "core/layout/api/LayoutViewItem.h" 6 #include "core/layout/api/LayoutViewItem.h"
7 #include "core/layout/compositing/CompositedLayerMapping.h" 7 #include "core/layout/compositing/CompositedLayerMapping.h"
8 #include "core/layout/compositing/PaintLayerCompositor.h" 8 #include "core/layout/compositing/PaintLayerCompositor.h"
9 #include "core/page/Page.h" 9 #include "core/page/Page.h"
10 #include "platform/graphics/CompositorMutableProperties.h" 10 #include "platform/graphics/CompositorMutableProperties.h"
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 Document* document = frame()->document(); 133 Document* document = frame()->document();
134 134
135 Element* tallElement = document->getElementById("tall"); 135 Element* tallElement = document->getElementById("tall");
136 WebLayer* tallLayer = webLayerFromElement(tallElement); 136 WebLayer* tallLayer = webLayerFromElement(tallElement);
137 EXPECT_TRUE(!tallLayer); 137 EXPECT_TRUE(!tallLayer);
138 138
139 Element* proxiedElement = document->getElementById("proxied-transform"); 139 Element* proxiedElement = document->getElementById("proxied-transform");
140 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement); 140 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement);
141 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMutableP roperty::kTransform); 141 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMutableP roperty::kTransform);
142 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() & (CompositorMutabl eProperty::kScrollLeft | CompositorMutableProperty::kScrollTop | CompositorMutab leProperty::kOpacity)); 142 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() & (CompositorMutabl eProperty::kScrollLeft | CompositorMutableProperty::kScrollTop | CompositorMutab leProperty::kOpacity));
143 EXPECT_TRUE(proxiedLayer->elementId()); 143 EXPECT_NE(0UL, proxiedLayer->elementId());
144 144
145 Element* scrollElement = document->getElementById("proxied-scroller"); 145 Element* scrollElement = document->getElementById("proxied-scroller");
146 WebLayer* scrollLayer = scrollingWebLayerFromElement(scrollElement); 146 WebLayer* scrollLayer = scrollingWebLayerFromElement(scrollElement);
147 EXPECT_TRUE(scrollLayer->compositorMutableProperties() & (CompositorMutableP roperty::kScrollLeft | CompositorMutableProperty::kScrollTop)); 147 EXPECT_TRUE(scrollLayer->compositorMutableProperties() & (CompositorMutableP roperty::kScrollLeft | CompositorMutableProperty::kScrollTop));
148 EXPECT_FALSE(scrollLayer->compositorMutableProperties() & (CompositorMutable Property::kTransform | CompositorMutableProperty::kOpacity)); 148 EXPECT_FALSE(scrollLayer->compositorMutableProperties() & (CompositorMutable Property::kTransform | CompositorMutableProperty::kOpacity));
149 EXPECT_TRUE(scrollLayer->elementId()); 149 EXPECT_NE(0UL, scrollLayer->elementId());
150 150
151 WebLayer* rootScrollLayer = getRootScrollLayer(); 151 WebLayer* rootScrollLayer = getRootScrollLayer();
152 EXPECT_TRUE(rootScrollLayer->compositorMutableProperties() & (CompositorMuta bleProperty::kScrollLeft | CompositorMutableProperty::kScrollTop)); 152 EXPECT_TRUE(rootScrollLayer->compositorMutableProperties() & (CompositorMuta bleProperty::kScrollLeft | CompositorMutableProperty::kScrollTop));
153 EXPECT_FALSE(rootScrollLayer->compositorMutableProperties() & (CompositorMut ableProperty::kTransform | CompositorMutableProperty::kOpacity)); 153 EXPECT_FALSE(rootScrollLayer->compositorMutableProperties() & (CompositorMut ableProperty::kTransform | CompositorMutableProperty::kOpacity));
154 154
155 EXPECT_TRUE(rootScrollLayer->elementId()); 155 EXPECT_NE(0UL, rootScrollLayer->elementId());
156 } 156 }
157 157
158 TEST_F(CompositorWorkerTest, noProxies) 158 TEST_F(CompositorWorkerTest, noProxies)
159 { 159 {
160 // This case is identical to compositor-proxy-basic, but no proxies have 160 // This case is identical to compositor-proxy-basic, but no proxies have
161 // actually been created. 161 // actually been created.
162 registerMockedHttpURLLoad("compositor-proxy-plumbing-no-proxies.html"); 162 registerMockedHttpURLLoad("compositor-proxy-plumbing-no-proxies.html");
163 navigateTo(m_baseURL + "compositor-proxy-plumbing-no-proxies.html"); 163 navigateTo(m_baseURL + "compositor-proxy-plumbing-no-proxies.html");
164 164
165 forceFullCompositingUpdate(); 165 forceFullCompositingUpdate();
166 166
167 Document* document = frame()->document(); 167 Document* document = frame()->document();
168 168
169 Element* tallElement = document->getElementById("tall"); 169 Element* tallElement = document->getElementById("tall");
170 WebLayer* tallLayer = webLayerFromElement(tallElement); 170 WebLayer* tallLayer = webLayerFromElement(tallElement);
171 EXPECT_TRUE(!tallLayer); 171 EXPECT_TRUE(!tallLayer);
172 172
173 Element* proxiedElement = document->getElementById("proxied"); 173 Element* proxiedElement = document->getElementById("proxied");
174 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement); 174 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement);
175 EXPECT_TRUE(!proxiedLayer); 175 EXPECT_TRUE(!proxiedLayer);
176 176
177 // Note: we presume the existance of mutable properties implies that the the
178 // element has a corresponding compositor proxy. Element ids (which are also
179 // used by animations) do not have this implication, so we do not check for
180 // them here.
181 Element* scrollElement = document->getElementById("proxied-scroller"); 177 Element* scrollElement = document->getElementById("proxied-scroller");
182 WebLayer* scrollLayer = scrollingWebLayerFromElement(scrollElement); 178 WebLayer* scrollLayer = scrollingWebLayerFromElement(scrollElement);
183 EXPECT_FALSE(!!scrollLayer->compositorMutableProperties()); 179 EXPECT_FALSE(!!scrollLayer->compositorMutableProperties());
180 EXPECT_EQ(0UL, scrollLayer->elementId());
184 181
185 WebLayer* rootScrollLayer = getRootScrollLayer(); 182 WebLayer* rootScrollLayer = getRootScrollLayer();
186 EXPECT_FALSE(!!rootScrollLayer->compositorMutableProperties()); 183 EXPECT_FALSE(!!rootScrollLayer->compositorMutableProperties());
184 EXPECT_EQ(0UL, rootScrollLayer->elementId());
187 } 185 }
188 186
189 TEST_F(CompositorWorkerTest, disconnectedProxies) 187 TEST_F(CompositorWorkerTest, disconnectedProxies)
190 { 188 {
191 // This case is identical to compositor-proxy-basic, but the proxies are 189 // This case is identical to compositor-proxy-basic, but the proxies are
192 // disconnected (the result should be the same as compositor-proxy-plumbing- no-proxies). 190 // disconnected (the result should be the same as compositor-proxy-plumbing- no-proxies).
193 registerMockedHttpURLLoad("compositor-proxy-basic-disconnected.html"); 191 registerMockedHttpURLLoad("compositor-proxy-basic-disconnected.html");
194 navigateTo(m_baseURL + "compositor-proxy-basic-disconnected.html"); 192 navigateTo(m_baseURL + "compositor-proxy-basic-disconnected.html");
195 193
196 forceFullCompositingUpdate(); 194 forceFullCompositingUpdate();
197 195
198 Document* document = frame()->document(); 196 Document* document = frame()->document();
199 197
200 Element* tallElement = document->getElementById("tall"); 198 Element* tallElement = document->getElementById("tall");
201 WebLayer* tallLayer = webLayerFromElement(tallElement); 199 WebLayer* tallLayer = webLayerFromElement(tallElement);
202 EXPECT_TRUE(!tallLayer); 200 EXPECT_TRUE(!tallLayer);
203 201
204 Element* proxiedElement = document->getElementById("proxied"); 202 Element* proxiedElement = document->getElementById("proxied");
205 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement); 203 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement);
206 EXPECT_TRUE(!proxiedLayer); 204 EXPECT_TRUE(!proxiedLayer);
207 205
208 Element* scrollElement = document->getElementById("proxied-scroller"); 206 Element* scrollElement = document->getElementById("proxied-scroller");
209 WebLayer* scrollLayer = scrollingWebLayerFromElement(scrollElement); 207 WebLayer* scrollLayer = scrollingWebLayerFromElement(scrollElement);
210 EXPECT_FALSE(!!scrollLayer->compositorMutableProperties()); 208 EXPECT_FALSE(!!scrollLayer->compositorMutableProperties());
209 EXPECT_EQ(0UL, scrollLayer->elementId());
211 210
212 WebLayer* rootScrollLayer = getRootScrollLayer(); 211 WebLayer* rootScrollLayer = getRootScrollLayer();
213 EXPECT_FALSE(!!rootScrollLayer->compositorMutableProperties()); 212 EXPECT_FALSE(!!rootScrollLayer->compositorMutableProperties());
213 EXPECT_EQ(0UL, rootScrollLayer->elementId());
214 } 214 }
215 215
216 TEST_F(CompositorWorkerTest, applyingMutationsMultipleElements) 216 TEST_F(CompositorWorkerTest, applyingMutationsMultipleElements)
217 { 217 {
218 registerMockedHttpURLLoad("compositor-proxy-basic.html"); 218 registerMockedHttpURLLoad("compositor-proxy-basic.html");
219 navigateTo(m_baseURL + "compositor-proxy-basic.html"); 219 navigateTo(m_baseURL + "compositor-proxy-basic.html");
220 220
221 Document* document = frame()->document(); 221 Document* document = frame()->document();
222 222
223 { 223 {
224 forceFullCompositingUpdate(); 224 forceFullCompositingUpdate();
225 225
226 Element* proxiedElement = document->getElementById("proxied-transform"); 226 Element* proxiedElement = document->getElementById("proxied-transform");
227 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement); 227 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement);
228 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMuta bleProperty::kTransform); 228 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMuta bleProperty::kTransform);
229 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() & (CompositorMu tableProperty::kScrollLeft | CompositorMutableProperty::kScrollTop | CompositorM utableProperty::kOpacity)); 229 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() & (CompositorMu tableProperty::kScrollLeft | CompositorMutableProperty::kScrollTop | CompositorM utableProperty::kOpacity));
230 EXPECT_TRUE(proxiedLayer->elementId()); 230 uint64_t elementId = proxiedLayer->elementId();
231 EXPECT_NE(0UL, elementId);
231 232
232 TransformationMatrix transformMatrix(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44); 233 TransformationMatrix transformMatrix(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44);
233 CompositorMutation mutation; 234 CompositorMutation mutation;
234 mutation.setTransform(TransformationMatrix::toSkMatrix44(transformMatrix )); 235 mutation.setTransform(TransformationMatrix::toSkMatrix44(transformMatrix ));
235 236
236 proxiedElement->updateFromCompositorMutation(mutation); 237 proxiedElement->updateFromCompositorMutation(mutation);
237 238
238 forceFullCompositingUpdate(); 239 forceFullCompositingUpdate();
239 const String& cssValue = document->domWindow()->getComputedStyle(proxied Element, String())->getPropertyValueInternal(CSSPropertyTransform); 240 const String& cssValue = document->domWindow()->getComputedStyle(proxied Element, String())->getPropertyValueInternal(CSSPropertyTransform);
240 EXPECT_EQ("matrix3d(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44)", cssValue); 241 EXPECT_EQ("matrix3d(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44)", cssValue);
241 } 242 }
242 { 243 {
243 Element* proxiedElement = document->getElementById("proxied-opacity"); 244 Element* proxiedElement = document->getElementById("proxied-opacity");
244 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement); 245 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement);
245 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMuta bleProperty::kOpacity); 246 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMuta bleProperty::kOpacity);
246 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() & (CompositorMu tableProperty::kScrollLeft | CompositorMutableProperty::kScrollTop | CompositorM utableProperty::kTransform)); 247 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() & (CompositorMu tableProperty::kScrollLeft | CompositorMutableProperty::kScrollTop | CompositorM utableProperty::kTransform));
247 EXPECT_TRUE(proxiedLayer->elementId()); 248 uint64_t elementId = proxiedLayer->elementId();
249 EXPECT_NE(0UL, elementId);
248 250
249 CompositorMutation mutation; 251 CompositorMutation mutation;
250 mutation.setOpacity(0.5); 252 mutation.setOpacity(0.5);
251 253
252 proxiedElement->updateFromCompositorMutation(mutation); 254 proxiedElement->updateFromCompositorMutation(mutation);
253 255
254 forceFullCompositingUpdate(); 256 forceFullCompositingUpdate();
255 const String& cssValue = document->domWindow()->getComputedStyle(proxied Element, String())->getPropertyValueInternal(CSSPropertyOpacity); 257 const String& cssValue = document->domWindow()->getComputedStyle(proxied Element, String())->getPropertyValueInternal(CSSPropertyOpacity);
256 EXPECT_EQ("0.5", cssValue); 258 EXPECT_EQ("0.5", cssValue);
257 } 259 }
258 } 260 }
259 261
260 TEST_F(CompositorWorkerTest, applyingMutationsMultipleProperties) 262 TEST_F(CompositorWorkerTest, applyingMutationsMultipleProperties)
261 { 263 {
262 registerMockedHttpURLLoad("compositor-proxy-basic.html"); 264 registerMockedHttpURLLoad("compositor-proxy-basic.html");
263 navigateTo(m_baseURL + "compositor-proxy-basic.html"); 265 navigateTo(m_baseURL + "compositor-proxy-basic.html");
264 266
265 Document* document = frame()->document(); 267 Document* document = frame()->document();
266 268
267 forceFullCompositingUpdate(); 269 forceFullCompositingUpdate();
268 270
269 Element* proxiedElement = document->getElementById("proxied-transform-and-op acity"); 271 Element* proxiedElement = document->getElementById("proxied-transform-and-op acity");
270 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement); 272 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement);
271 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMutableP roperty::kTransform); 273 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMutableP roperty::kTransform);
272 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMutableP roperty::kOpacity); 274 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMutableP roperty::kOpacity);
273 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() & (CompositorMutabl eProperty::kScrollLeft | CompositorMutableProperty::kScrollTop)); 275 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() & (CompositorMutabl eProperty::kScrollLeft | CompositorMutableProperty::kScrollTop));
274 EXPECT_TRUE(proxiedLayer->elementId()); 276 uint64_t elementId = proxiedLayer->elementId();
277 EXPECT_NE(0UL, elementId);
275 278
276 TransformationMatrix transformMatrix(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44); 279 TransformationMatrix transformMatrix(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44);
277 OwnPtr<CompositorMutation> mutation = adoptPtr(new CompositorMutation); 280 OwnPtr<CompositorMutation> mutation = adoptPtr(new CompositorMutation);
278 mutation->setTransform(TransformationMatrix::toSkMatrix44(transformMatrix)); 281 mutation->setTransform(TransformationMatrix::toSkMatrix44(transformMatrix));
279 mutation->setOpacity(0.5); 282 mutation->setOpacity(0.5);
280 283
281 proxiedElement->updateFromCompositorMutation(*mutation); 284 proxiedElement->updateFromCompositorMutation(*mutation);
282 { 285 {
283 const String& transformValue = document->domWindow()->getComputedStyle( proxiedElement, String())->getPropertyValueInternal(CSSPropertyTransform); 286 const String& transformValue = document->domWindow()->getComputedStyle( proxiedElement, String())->getPropertyValueInternal(CSSPropertyTransform);
284 EXPECT_EQ("matrix3d(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44)", transformValue); 287 EXPECT_EQ("matrix3d(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44)", transformValue);
(...skipping 10 matching lines...) Expand all
295 { 298 {
296 const String& transformValue = document->domWindow()->getComputedStyle( proxiedElement, String())->getPropertyValueInternal(CSSPropertyTransform); 299 const String& transformValue = document->domWindow()->getComputedStyle( proxiedElement, String())->getPropertyValueInternal(CSSPropertyTransform);
297 EXPECT_EQ("matrix3d(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44)", transformValue); 300 EXPECT_EQ("matrix3d(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44)", transformValue);
298 301
299 const String& opacityValue = document->domWindow()->getComputedStyle(pro xiedElement, String())->getPropertyValueInternal(CSSPropertyOpacity); 302 const String& opacityValue = document->domWindow()->getComputedStyle(pro xiedElement, String())->getPropertyValueInternal(CSSPropertyOpacity);
300 EXPECT_EQ("0.8", opacityValue); 303 EXPECT_EQ("0.8", opacityValue);
301 } 304 }
302 } 305 }
303 306
304 } // namespace blink 307 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/LinkHighlightImpl.cpp ('k') | third_party/WebKit/public/platform/WebLayer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698