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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp

Issue 2428513004: [SPv2] Create effect nodes for CSS filter (Closed)
Patch Set: address pdr's comment Created 4 years, 1 month 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/compositing/PaintArtifactCompositor.h" 5 #include "platform/graphics/compositing/PaintArtifactCompositor.h"
6 6
7 #include "base/test/test_simple_task_runner.h" 7 #include "base/test/test_simple_task_runner.h"
8 #include "base/threading/thread_task_runner_handle.h" 8 #include "base/threading/thread_task_runner_handle.h"
9 #include "cc/layers/layer.h" 9 #include "cc/layers/layer.h"
10 #include "cc/test/fake_compositor_frame_sink.h" 10 #include "cc/test/fake_compositor_frame_sink.h"
(...skipping 19 matching lines...) Expand all
30 namespace { 30 namespace {
31 31
32 using ::testing::Pointee; 32 using ::testing::Pointee;
33 33
34 gfx::Transform translation(SkMScalar x, SkMScalar y) { 34 gfx::Transform translation(SkMScalar x, SkMScalar y) {
35 gfx::Transform transform; 35 gfx::Transform transform;
36 transform.Translate(x, y); 36 transform.Translate(x, y);
37 return transform; 37 return transform;
38 } 38 }
39 39
40 TransformPaintPropertyNode* dummyRootTransform() {
41 DEFINE_STATIC_REF(TransformPaintPropertyNode, rootTransform,
42 (TransformPaintPropertyNode::create(
43 nullptr, TransformationMatrix(), FloatPoint3D())));
44 return rootTransform;
45 }
46
47 ClipPaintPropertyNode* dummyRootClip() {
48 DEFINE_STATIC_REF(ClipPaintPropertyNode, rootClip,
49 (ClipPaintPropertyNode::create(
50 nullptr, dummyRootTransform(),
51 FloatRoundedRect(LayoutRect::infiniteIntRect()))));
52 return rootClip;
53 }
54
40 EffectPaintPropertyNode* dummyRootEffect() { 55 EffectPaintPropertyNode* dummyRootEffect() {
41 DEFINE_STATIC_REF(EffectPaintPropertyNode, node, 56 DEFINE_STATIC_REF(EffectPaintPropertyNode, rootEffect,
42 EffectPaintPropertyNode::create(nullptr, 1.0)); 57 (EffectPaintPropertyNode::create(
43 return node; 58 nullptr, dummyRootTransform(), dummyRootClip(),
59 CompositorFilterOperations(), 1.0)));
60 return rootEffect;
44 } 61 }
45 62
46 class WebLayerTreeViewWithCompositorFrameSink 63 class WebLayerTreeViewWithCompositorFrameSink
47 : public WebLayerTreeViewImplForTesting { 64 : public WebLayerTreeViewImplForTesting {
48 public: 65 public:
49 WebLayerTreeViewWithCompositorFrameSink(const cc::LayerTreeSettings& settings) 66 WebLayerTreeViewWithCompositorFrameSink(const cc::LayerTreeSettings& settings)
50 : WebLayerTreeViewImplForTesting(settings) {} 67 : WebLayerTreeViewImplForTesting(settings) {}
51 68
52 // cc::LayerTreeHostClient 69 // cc::LayerTreeHostClient
53 void RequestNewCompositorFrameSink() override { 70 void RequestNewCompositorFrameSink() override {
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 .foreignLayer(FloatPoint(50, 100), IntSize(400, 300), layer); 529 .foreignLayer(FloatPoint(50, 100), IntSize(400, 300), layer);
513 update(artifact.build()); 530 update(artifact.build());
514 531
515 ASSERT_EQ(1u, contentLayerCount()); 532 ASSERT_EQ(1u, contentLayerCount());
516 EXPECT_EQ(layer, contentLayerAt(0)); 533 EXPECT_EQ(layer, contentLayerAt(0));
517 EXPECT_EQ(gfx::Size(400, 300), layer->bounds()); 534 EXPECT_EQ(gfx::Size(400, 300), layer->bounds());
518 EXPECT_EQ(translation(50, 100), layer->screen_space_transform()); 535 EXPECT_EQ(translation(50, 100), layer->screen_space_transform());
519 } 536 }
520 537
521 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectTreeConversion) { 538 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectTreeConversion) {
522 RefPtr<EffectPaintPropertyNode> effect1 = 539 RefPtr<EffectPaintPropertyNode> effect1 = EffectPaintPropertyNode::create(
523 EffectPaintPropertyNode::create(dummyRootEffect(), 0.5); 540 dummyRootEffect(), dummyRootTransform(), dummyRootClip(),
524 RefPtr<EffectPaintPropertyNode> effect2 = 541 CompositorFilterOperations(), 0.5);
525 EffectPaintPropertyNode::create(effect1, 0.3); 542 RefPtr<EffectPaintPropertyNode> effect2 = EffectPaintPropertyNode::create(
526 RefPtr<EffectPaintPropertyNode> effect3 = 543 effect1, dummyRootTransform(), dummyRootClip(),
527 EffectPaintPropertyNode::create(dummyRootEffect(), 0.2); 544 CompositorFilterOperations(), 0.3);
545 RefPtr<EffectPaintPropertyNode> effect3 = EffectPaintPropertyNode::create(
546 dummyRootEffect(), dummyRootTransform(), dummyRootClip(),
547 CompositorFilterOperations(), 0.2);
528 548
529 TestPaintArtifact artifact; 549 TestPaintArtifact artifact;
530 artifact.chunk(nullptr, nullptr, effect2.get()) 550 artifact.chunk(nullptr, nullptr, effect2.get())
531 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); 551 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white);
532 artifact.chunk(nullptr, nullptr, effect1.get()) 552 artifact.chunk(nullptr, nullptr, effect1.get())
533 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); 553 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white);
534 artifact.chunk(nullptr, nullptr, effect3.get()) 554 artifact.chunk(nullptr, nullptr, effect3.get())
535 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); 555 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white);
536 update(artifact.build()); 556 update(artifact.build());
537 557
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 EXPECT_TRUE(transformNode.local.IsIdentity()); 611 EXPECT_TRUE(transformNode.local.IsIdentity());
592 612
593 EXPECT_EQ(gfx::ScrollOffset(-7, -9), 613 EXPECT_EQ(gfx::ScrollOffset(-7, -9),
594 scrollTree.current_scroll_offset(contentLayerAt(0)->id())); 614 scrollTree.current_scroll_offset(contentLayerAt(0)->id()));
595 615
596 EXPECT_EQ(MainThreadScrollingReason::kNotScrollingOnMain, 616 EXPECT_EQ(MainThreadScrollingReason::kNotScrollingOnMain,
597 scrollNode.main_thread_scrolling_reasons); 617 scrollNode.main_thread_scrolling_reasons);
598 } 618 }
599 619
600 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, NestedScrollNodes) { 620 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, NestedScrollNodes) {
601 RefPtr<EffectPaintPropertyNode> effect = 621 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create(
602 EffectPaintPropertyNode::create(dummyRootEffect(), 0.5); 622 dummyRootEffect(), dummyRootTransform(), dummyRootClip(),
623 CompositorFilterOperations(), 0.5);
603 624
604 RefPtr<TransformPaintPropertyNode> scrollTranslationA = 625 RefPtr<TransformPaintPropertyNode> scrollTranslationA =
605 TransformPaintPropertyNode::create( 626 TransformPaintPropertyNode::create(
606 nullptr, TransformationMatrix().translate(11, 13), FloatPoint3D()); 627 nullptr, TransformationMatrix().translate(11, 13), FloatPoint3D());
607 RefPtr<ScrollPaintPropertyNode> scrollA = ScrollPaintPropertyNode::create( 628 RefPtr<ScrollPaintPropertyNode> scrollA = ScrollPaintPropertyNode::create(
608 nullptr, scrollTranslationA, IntSize(2, 3), IntSize(5, 7), false, true); 629 nullptr, scrollTranslationA, IntSize(2, 3), IntSize(5, 7), false, true);
609 scrollA->addMainThreadScrollingReasons( 630 scrollA->addMainThreadScrollingReasons(
610 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); 631 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects);
611 RefPtr<TransformPaintPropertyNode> scrollTranslationB = 632 RefPtr<TransformPaintPropertyNode> scrollTranslationB =
612 TransformPaintPropertyNode::create( 633 TransformPaintPropertyNode::create(
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 scrollTree.current_scroll_offset(contentLayerAt(1)->id())); 673 scrollTree.current_scroll_offset(contentLayerAt(1)->id()));
653 674
654 EXPECT_TRUE(scrollNodeA.main_thread_scrolling_reasons & 675 EXPECT_TRUE(scrollNodeA.main_thread_scrolling_reasons &
655 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); 676 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects);
656 EXPECT_FALSE(scrollNodeB.main_thread_scrolling_reasons & 677 EXPECT_FALSE(scrollNodeB.main_thread_scrolling_reasons &
657 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); 678 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects);
658 } 679 }
659 680
660 } // namespace 681 } // namespace
661 } // namespace blink 682 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698