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

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

Issue 2292133002: [compositor-worker] root scrolling layer is associated with document scrolling element
Patch Set: Use document instead of documentElement() Created 3 years, 9 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 <gtest/gtest.h> 5 #include <gtest/gtest.h>
6 #include <memory> 6 #include <memory>
7 #include "core/dom/DOMNodeIds.h"
7 #include "core/frame/FrameView.h" 8 #include "core/frame/FrameView.h"
8 #include "core/layout/api/LayoutViewItem.h" 9 #include "core/layout/api/LayoutViewItem.h"
9 #include "core/layout/compositing/CompositedLayerMapping.h" 10 #include "core/layout/compositing/CompositedLayerMapping.h"
10 #include "core/layout/compositing/PaintLayerCompositor.h" 11 #include "core/layout/compositing/PaintLayerCompositor.h"
11 #include "core/page/Page.h" 12 #include "core/page/Page.h"
13 #include "platform/graphics/CompositorElementId.h"
12 #include "platform/graphics/CompositorMutableProperties.h" 14 #include "platform/graphics/CompositorMutableProperties.h"
13 #include "platform/graphics/CompositorMutation.h" 15 #include "platform/graphics/CompositorMutation.h"
14 #include "platform/graphics/GraphicsLayer.h" 16 #include "platform/graphics/GraphicsLayer.h"
15 #include "platform/testing/RuntimeEnabledFeaturesTestHelpers.h" 17 #include "platform/testing/RuntimeEnabledFeaturesTestHelpers.h"
16 #include "platform/testing/URLTestHelpers.h" 18 #include "platform/testing/URLTestHelpers.h"
17 #include "platform/testing/UnitTestHelpers.h" 19 #include "platform/testing/UnitTestHelpers.h"
18 #include "public/platform/Platform.h" 20 #include "public/platform/Platform.h"
19 #include "public/platform/WebLayer.h" 21 #include "public/platform/WebLayer.h"
20 #include "public/platform/WebLayerTreeView.h" 22 #include "public/platform/WebLayerTreeView.h"
21 #include "public/platform/WebURLLoaderMockFactory.h" 23 #include "public/platform/WebURLLoaderMockFactory.h"
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 EXPECT_TRUE(!tallLayer); 160 EXPECT_TRUE(!tallLayer);
159 161
160 Element* proxiedElement = document->getElementById("proxied-transform"); 162 Element* proxiedElement = document->getElementById("proxied-transform");
161 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement); 163 WebLayer* proxiedLayer = webLayerFromElement(proxiedElement);
162 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() & 164 EXPECT_TRUE(proxiedLayer->compositorMutableProperties() &
163 CompositorMutableProperty::kTransform); 165 CompositorMutableProperty::kTransform);
164 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() & 166 EXPECT_FALSE(proxiedLayer->compositorMutableProperties() &
165 (CompositorMutableProperty::kScrollLeft | 167 (CompositorMutableProperty::kScrollLeft |
166 CompositorMutableProperty::kScrollTop | 168 CompositorMutableProperty::kScrollTop |
167 CompositorMutableProperty::kOpacity)); 169 CompositorMutableProperty::kOpacity));
168 EXPECT_TRUE(proxiedLayer->elementId()); 170 EXPECT_EQ(proxiedLayer->elementId(),
171 createCompositorElementId(DOMNodeIds::idForNode(proxiedElement),
172 CompositorSubElementId::Primary));
169 173
170 Element* scrollElement = document->getElementById("proxied-scroller"); 174 Element* scrollElement = document->getElementById("proxied-scroller");
171 WebLayer* scrollLayer = scrollingWebLayerFromElement(scrollElement); 175 WebLayer* scrollLayer = scrollingWebLayerFromElement(scrollElement);
172 EXPECT_TRUE(scrollLayer->compositorMutableProperties() & 176 EXPECT_TRUE(scrollLayer->compositorMutableProperties() &
173 (CompositorMutableProperty::kScrollLeft | 177 (CompositorMutableProperty::kScrollLeft |
174 CompositorMutableProperty::kScrollTop)); 178 CompositorMutableProperty::kScrollTop));
175 EXPECT_FALSE(scrollLayer->compositorMutableProperties() & 179 EXPECT_FALSE(scrollLayer->compositorMutableProperties() &
176 (CompositorMutableProperty::kTransform | 180 (CompositorMutableProperty::kTransform |
177 CompositorMutableProperty::kOpacity)); 181 CompositorMutableProperty::kOpacity));
178 EXPECT_TRUE(scrollLayer->elementId()); 182 EXPECT_EQ(scrollLayer->elementId(),
183 createCompositorElementId(DOMNodeIds::idForNode(scrollElement),
184 CompositorSubElementId::Scroll));
179 185
186 // Root scroll layer gets document node id.
180 WebLayer* rootScrollLayer = getRootScrollLayer(); 187 WebLayer* rootScrollLayer = getRootScrollLayer();
181 EXPECT_TRUE(rootScrollLayer->compositorMutableProperties() & 188 EXPECT_TRUE(rootScrollLayer->compositorMutableProperties() &
182 (CompositorMutableProperty::kScrollLeft | 189 (CompositorMutableProperty::kScrollLeft |
183 CompositorMutableProperty::kScrollTop)); 190 CompositorMutableProperty::kScrollTop));
184 EXPECT_FALSE(rootScrollLayer->compositorMutableProperties() & 191 EXPECT_FALSE(rootScrollLayer->compositorMutableProperties() &
185 (CompositorMutableProperty::kTransform | 192 (CompositorMutableProperty::kTransform |
186 CompositorMutableProperty::kOpacity)); 193 CompositorMutableProperty::kOpacity));
187 194
188 EXPECT_TRUE(rootScrollLayer->elementId()); 195 EXPECT_EQ(rootScrollLayer->elementId(),
196 createCompositorElementId(DOMNodeIds::idForNode(document),
197 CompositorSubElementId::Scroll));
189 } 198 }
190 199
191 TEST_P(CompositorWorkerTest, noProxies) { 200 TEST_P(CompositorWorkerTest, noProxies) {
192 // This case is identical to compositor-proxy-basic, but no proxies have 201 // This case is identical to compositor-proxy-basic, but no proxies have
193 // actually been created. 202 // actually been created.
194 registerMockedHttpURLLoad("compositor-proxy-plumbing-no-proxies.html"); 203 registerMockedHttpURLLoad("compositor-proxy-plumbing-no-proxies.html");
195 navigateTo(m_baseURL + "compositor-proxy-plumbing-no-proxies.html"); 204 navigateTo(m_baseURL + "compositor-proxy-plumbing-no-proxies.html");
196 205
197 forceFullCompositingUpdate(); 206 forceFullCompositingUpdate();
198 207
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 376
368 const String& opacityValue = 377 const String& opacityValue =
369 document->domWindow() 378 document->domWindow()
370 ->getComputedStyle(proxiedElement, String()) 379 ->getComputedStyle(proxiedElement, String())
371 ->getPropertyValueInternal(CSSPropertyOpacity); 380 ->getPropertyValueInternal(CSSPropertyOpacity);
372 EXPECT_EQ("0.8", opacityValue); 381 EXPECT_EQ("0.8", opacityValue);
373 } 382 }
374 } 383 }
375 384
376 } // namespace blink 385 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698