OLD | NEW |
---|---|
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/LayoutView.h" | 6 #include "core/layout/LayoutView.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" |
11 #include "platform/graphics/CompositorMutation.h" | |
11 #include "platform/graphics/GraphicsLayer.h" | 12 #include "platform/graphics/GraphicsLayer.h" |
12 #include "platform/testing/URLTestHelpers.h" | 13 #include "platform/testing/URLTestHelpers.h" |
13 #include "public/platform/Platform.h" | 14 #include "public/platform/Platform.h" |
14 #include "public/platform/WebLayer.h" | 15 #include "public/platform/WebLayer.h" |
15 #include "public/platform/WebLayerTreeView.h" | 16 #include "public/platform/WebLayerTreeView.h" |
16 #include "public/platform/WebUnitTestSupport.h" | 17 #include "public/platform/WebUnitTestSupport.h" |
17 #include "public/web/WebSettings.h" | 18 #include "public/web/WebSettings.h" |
18 #include "public/web/WebViewClient.h" | 19 #include "public/web/WebViewClient.h" |
19 #include "web/WebLocalFrameImpl.h" | 20 #include "web/WebLocalFrameImpl.h" |
20 #include "web/WebViewImpl.h" | 21 #include "web/WebViewImpl.h" |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
203 Element* scrollElement = document->getElementById("proxied-scroller"); | 204 Element* scrollElement = document->getElementById("proxied-scroller"); |
204 WebLayer* scrollLayer = scrollingWebLayerFromElement(scrollElement); | 205 WebLayer* scrollLayer = scrollingWebLayerFromElement(scrollElement); |
205 EXPECT_FALSE(!!scrollLayer->compositorMutableProperties()); | 206 EXPECT_FALSE(!!scrollLayer->compositorMutableProperties()); |
206 EXPECT_EQ(0UL, scrollLayer->elementId()); | 207 EXPECT_EQ(0UL, scrollLayer->elementId()); |
207 | 208 |
208 WebLayer* rootScrollLayer = getRootScrollLayer(); | 209 WebLayer* rootScrollLayer = getRootScrollLayer(); |
209 EXPECT_FALSE(!!rootScrollLayer->compositorMutableProperties()); | 210 EXPECT_FALSE(!!rootScrollLayer->compositorMutableProperties()); |
210 EXPECT_EQ(0UL, rootScrollLayer->elementId()); | 211 EXPECT_EQ(0UL, rootScrollLayer->elementId()); |
211 } | 212 } |
212 | 213 |
214 TEST_F(CompositorWorkerTest, applyingMutations) | |
215 { | |
216 registerMockedHttpURLLoad("compositor-proxy-basic.html"); | |
217 navigateTo(m_baseURL + "compositor-proxy-basic.html"); | |
218 | |
219 forceFullCompositingUpdate(); | |
220 | |
221 Document* document = frame()->document(); | |
222 | |
223 Element* proxiedElement = document->getElementById("proxied"); | |
224 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement); | |
225 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & CompositorMutableP ropertyTransform); | |
226 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() & (CompositorMutabl ePropertyScrollLeft | CompositorMutablePropertyScrollTop | CompositorMutableProp ertyOpacity)); | |
227 uint64_t elementId = proxiedLayer->elementId(); | |
228 EXPECT_NE(0UL, elementId); | |
229 | |
230 { | |
231 TransformationMatrix transformMatrix(11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44); | |
232 OwnPtrWillBeRawPtr<CompositorMutation> mutation = adoptPtr(new Composito rMutation); | |
233 mutation->setTransform(TransformationMatrix::toSkMatrix44(transformMatri x)); | |
234 | |
235 CompositorMutations mutations; | |
236 mutations.map.add(elementId, mutation.release()); | |
237 | |
238 webViewImpl()->applyMutations(mutations); | |
239 | |
240 const String& cssValue = proxiedElement->inlineStyle()->getPropertyValue (CSSPropertyTransform); | |
241 EXPECT_EQ(String("matrix3d(11px, 12px, 13px, 14px, 21px, 22px, 23px, 24p x, 31px, 32px, 33px, 34px, 41px, 42px, 43px, 44px)"), cssValue); | |
242 } | |
243 { | |
244 OwnPtrWillBeRawPtr<CompositorMutation> mutation = adoptPtr(new Composito rMutation); | |
245 mutation->setOpacity(0.5); | |
246 | |
247 CompositorMutations mutations; | |
248 mutations.map.add(elementId, mutation.release()); | |
249 | |
250 webViewImpl()->applyMutations(mutations); | |
251 | |
252 const String& cssValue = proxiedElement->inlineStyle()->getPropertyValue (CSSPropertyOpacity); | |
253 EXPECT_EQ(String("0.5"), cssValue); | |
flackr
2016/01/20 16:50:50
It feels strange that you're testing mutating a pr
majidvp
2016/01/20 19:23:59
Good point, I agree that it is odd. It should be f
| |
254 } | |
255 } | |
256 | |
213 } // namespace blink | 257 } // namespace blink |
OLD | NEW |