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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/paint/PaintChunkerTest.cpp

Issue 2428513004: [SPv2] Create effect nodes for CSS filter (Closed)
Patch Set: address pdr's comment Created 4 years, 2 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 "platform/graphics/paint/PaintChunker.h" 5 #include "platform/graphics/paint/PaintChunker.h"
6 6
7 #include "platform/RuntimeEnabledFeatures.h" 7 #include "platform/RuntimeEnabledFeatures.h"
8 #include "testing/gmock/include/gmock/gmock.h" 8 #include "testing/gmock/include/gmock/gmock.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 using testing::ElementsAre; 11 using testing::ElementsAre;
12 12
13 namespace blink { 13 namespace blink {
14 namespace { 14 namespace {
15 15
16 // TODO(crbug.com/629946): The tests fail mysteriously on some Windows debug 16 // TODO(crbug.com/629946): The tests fail mysteriously on some Windows debug
17 // bots. 17 // bots.
18 #if defined(NDEBUG) || !OS(WIN) 18 #if defined(NDEBUG) || !OS(WIN)
19 19
20 static PaintChunkProperties rootPaintChunkProperties() { 20 TransformPaintPropertyNode* dummyRootTransform() {
pdr. 2016/10/22 03:58:37 Potential followup: WDYT of adding a superclass th
trchen 2016/10/24 21:53:20 I'm thinking to move the static root nodes to Sour
21 DEFINE_STATIC_REF(TransformPaintPropertyNode, rootTransform,
22 (TransformPaintPropertyNode::create(
23 nullptr, TransformationMatrix(), FloatPoint3D())));
24 return rootTransform;
25 }
26
27 ClipPaintPropertyNode* dummyRootClip() {
28 DEFINE_STATIC_REF(ClipPaintPropertyNode, rootClip,
29 (ClipPaintPropertyNode::create(
30 nullptr, dummyRootTransform(),
31 FloatRoundedRect(LayoutRect::infiniteIntRect()))));
32 return rootClip;
33 }
34
35 EffectPaintPropertyNode* dummyRootEffect() {
36 DEFINE_STATIC_REF(EffectPaintPropertyNode, rootEffect,
37 (EffectPaintPropertyNode::create(
38 nullptr, dummyRootTransform(), dummyRootClip(),
39 CompositorFilterOperations(), 1.0)));
40 return rootEffect;
41 }
42
43 PaintChunkProperties rootPaintChunkProperties() {
21 return PaintChunkProperties(); 44 return PaintChunkProperties();
22 } 45 }
23 46
24 class PaintChunkerTest : public testing::Test { 47 class PaintChunkerTest : public testing::Test {
25 protected: 48 protected:
26 void SetUp() override { 49 void SetUp() override {
27 RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); 50 RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true);
28 } 51 }
29 52
30 void TearDown() override { m_featuresBackup.restore(); } 53 void TearDown() override { m_featuresBackup.restore(); }
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 163
141 PaintChunkProperties simpleTransform; 164 PaintChunkProperties simpleTransform;
142 simpleTransform.transform = TransformPaintPropertyNode::create( 165 simpleTransform.transform = TransformPaintPropertyNode::create(
143 nullptr, TransformationMatrix(0, 0, 0, 0, 0, 0), FloatPoint3D(9, 8, 7)); 166 nullptr, TransformationMatrix(0, 0, 0, 0, 0, 0), FloatPoint3D(9, 8, 7));
144 chunker.updateCurrentPaintChunkProperties(nullptr, simpleTransform); 167 chunker.updateCurrentPaintChunkProperties(nullptr, simpleTransform);
145 chunker.incrementDisplayItemIndex(NormalTestDisplayItem()); 168 chunker.incrementDisplayItemIndex(NormalTestDisplayItem());
146 chunker.incrementDisplayItemIndex(NormalTestDisplayItem()); 169 chunker.incrementDisplayItemIndex(NormalTestDisplayItem());
147 170
148 PaintChunkProperties simpleTransformAndEffect; 171 PaintChunkProperties simpleTransformAndEffect;
149 simpleTransformAndEffect.transform = simpleTransform.transform; 172 simpleTransformAndEffect.transform = simpleTransform.transform;
150 simpleTransformAndEffect.effect = 173 simpleTransformAndEffect.effect = EffectPaintPropertyNode::create(
151 EffectPaintPropertyNode::create(nullptr, 0.5f); 174 dummyRootEffect(), dummyRootTransform(), dummyRootClip(),
175 CompositorFilterOperations(), 0.5f);
152 chunker.updateCurrentPaintChunkProperties(nullptr, simpleTransformAndEffect); 176 chunker.updateCurrentPaintChunkProperties(nullptr, simpleTransformAndEffect);
153 chunker.incrementDisplayItemIndex(NormalTestDisplayItem()); 177 chunker.incrementDisplayItemIndex(NormalTestDisplayItem());
154 chunker.incrementDisplayItemIndex(NormalTestDisplayItem()); 178 chunker.incrementDisplayItemIndex(NormalTestDisplayItem());
155 179
156 PaintChunkProperties simpleTransformAndEffectWithUpdatedTransform; 180 PaintChunkProperties simpleTransformAndEffectWithUpdatedTransform;
157 simpleTransformAndEffectWithUpdatedTransform.transform = 181 simpleTransformAndEffectWithUpdatedTransform.transform =
158 TransformPaintPropertyNode::create(nullptr, 182 TransformPaintPropertyNode::create(nullptr,
159 TransformationMatrix(1, 1, 0, 0, 0, 0), 183 TransformationMatrix(1, 1, 0, 0, 0, 0),
160 FloatPoint3D(9, 8, 7)); 184 FloatPoint3D(9, 8, 7));
161 simpleTransformAndEffectWithUpdatedTransform.effect = 185 simpleTransformAndEffectWithUpdatedTransform.effect =
162 EffectPaintPropertyNode::create( 186 EffectPaintPropertyNode::create(
163 nullptr, simpleTransformAndEffect.effect->opacity()); 187 dummyRootEffect(), dummyRootTransform(), dummyRootClip(),
188 CompositorFilterOperations(),
189 simpleTransformAndEffect.effect->opacity());
164 chunker.updateCurrentPaintChunkProperties( 190 chunker.updateCurrentPaintChunkProperties(
165 nullptr, simpleTransformAndEffectWithUpdatedTransform); 191 nullptr, simpleTransformAndEffectWithUpdatedTransform);
166 chunker.incrementDisplayItemIndex(NormalTestDisplayItem()); 192 chunker.incrementDisplayItemIndex(NormalTestDisplayItem());
167 chunker.incrementDisplayItemIndex(NormalTestDisplayItem()); 193 chunker.incrementDisplayItemIndex(NormalTestDisplayItem());
168 194
169 // Test that going back to a previous chunk property still creates a new 195 // Test that going back to a previous chunk property still creates a new
170 // chunk. 196 // chunk.
171 chunker.updateCurrentPaintChunkProperties(nullptr, simpleTransformAndEffect); 197 chunker.updateCurrentPaintChunkProperties(nullptr, simpleTransformAndEffect);
172 chunker.incrementDisplayItemIndex(NormalTestDisplayItem()); 198 chunker.incrementDisplayItemIndex(NormalTestDisplayItem());
173 chunker.incrementDisplayItemIndex(NormalTestDisplayItem()); 199 chunker.incrementDisplayItemIndex(NormalTestDisplayItem());
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 PaintChunk(2, 4, nullptr, simpleTransform), 366 PaintChunk(2, 4, nullptr, simpleTransform),
341 PaintChunk(4, 5, nullptr, simpleTransform), 367 PaintChunk(4, 5, nullptr, simpleTransform),
342 PaintChunk(5, 6, nullptr, simpleTransform), 368 PaintChunk(5, 6, nullptr, simpleTransform),
343 PaintChunk(6, 7, nullptr, rootPaintChunkProperties()))); 369 PaintChunk(6, 7, nullptr, rootPaintChunkProperties())));
344 } 370 }
345 371
346 #endif 372 #endif
347 373
348 } // namespace 374 } // namespace
349 } // namespace blink 375 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698