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

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

Issue 2050123002: Remove OwnPtr from Blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: First attempt to land. 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 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_output_surface.h" 10 #include "cc/test/fake_output_surface.h"
11 #include "cc/trees/layer_tree_host.h" 11 #include "cc/trees/layer_tree_host.h"
12 #include "cc/trees/layer_tree_settings.h" 12 #include "cc/trees/layer_tree_settings.h"
13 #include "platform/RuntimeEnabledFeatures.h" 13 #include "platform/RuntimeEnabledFeatures.h"
14 #include "platform/graphics/paint/PaintArtifact.h" 14 #include "platform/graphics/paint/PaintArtifact.h"
15 #include "platform/testing/PictureMatchers.h" 15 #include "platform/testing/PictureMatchers.h"
16 #include "platform/testing/TestPaintArtifact.h" 16 #include "platform/testing/TestPaintArtifact.h"
17 #include "platform/testing/WebLayerTreeViewImplForTesting.h" 17 #include "platform/testing/WebLayerTreeViewImplForTesting.h"
18 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 #include "wtf/PtrUtil.h"
21 #include <memory>
20 22
21 namespace blink { 23 namespace blink {
22 namespace { 24 namespace {
23 25
24 using ::testing::Pointee; 26 using ::testing::Pointee;
25 27
26 gfx::Transform translation(SkMScalar x, SkMScalar y) 28 gfx::Transform translation(SkMScalar x, SkMScalar y)
27 { 29 {
28 gfx::Transform transform; 30 gfx::Transform transform;
29 transform.Translate(x, y); 31 transform.Translate(x, y);
30 return transform; 32 return transform;
31 } 33 }
32 34
33 class PaintArtifactCompositorTest : public ::testing::Test { 35 class PaintArtifactCompositorTest : public ::testing::Test {
34 protected: 36 protected:
35 void SetUp() override 37 void SetUp() override
36 { 38 {
37 RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); 39 RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true);
38 40
39 // Delay constructing the compositor until after the feature is set. 41 // Delay constructing the compositor until after the feature is set.
40 m_paintArtifactCompositor = adoptPtr(new PaintArtifactCompositor); 42 m_paintArtifactCompositor = wrapUnique(new PaintArtifactCompositor);
41 } 43 }
42 44
43 void TearDown() override 45 void TearDown() override
44 { 46 {
45 m_featuresBackup.restore(); 47 m_featuresBackup.restore();
46 } 48 }
47 49
48 PaintArtifactCompositor& getPaintArtifactCompositor() { return *m_paintArtif actCompositor; } 50 PaintArtifactCompositor& getPaintArtifactCompositor() { return *m_paintArtif actCompositor; }
49 cc::Layer* rootLayer() { return m_paintArtifactCompositor->rootLayer(); } 51 cc::Layer* rootLayer() { return m_paintArtifactCompositor->rootLayer(); }
50 void update(const PaintArtifact& artifact) { m_paintArtifactCompositor->upda te(artifact); } 52 void update(const PaintArtifact& artifact) { m_paintArtifactCompositor->upda te(artifact); }
51 53
52 private: 54 private:
53 RuntimeEnabledFeatures::Backup m_featuresBackup; 55 RuntimeEnabledFeatures::Backup m_featuresBackup;
54 OwnPtr<PaintArtifactCompositor> m_paintArtifactCompositor; 56 std::unique_ptr<PaintArtifactCompositor> m_paintArtifactCompositor;
55 }; 57 };
56 58
57 TEST_F(PaintArtifactCompositorTest, EmptyPaintArtifact) 59 TEST_F(PaintArtifactCompositorTest, EmptyPaintArtifact)
58 { 60 {
59 PaintArtifact emptyArtifact; 61 PaintArtifact emptyArtifact;
60 update(emptyArtifact); 62 update(emptyArtifact);
61 EXPECT_TRUE(rootLayer()->children().empty()); 63 EXPECT_TRUE(rootLayer()->children().empty());
62 } 64 }
63 65
64 TEST_F(PaintArtifactCompositorTest, OneChunkWithAnOffset) 66 TEST_F(PaintArtifactCompositorTest, OneChunkWithAnOffset)
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 { 380 {
379 } 381 }
380 382
381 void SetUp() override 383 void SetUp() override
382 { 384 {
383 PaintArtifactCompositorTest::SetUp(); 385 PaintArtifactCompositorTest::SetUp();
384 386
385 cc::LayerTreeSettings settings = WebLayerTreeViewImplForTesting::default LayerTreeSettings(); 387 cc::LayerTreeSettings settings = WebLayerTreeViewImplForTesting::default LayerTreeSettings();
386 settings.single_thread_proxy_scheduler = false; 388 settings.single_thread_proxy_scheduler = false;
387 settings.use_layer_lists = true; 389 settings.use_layer_lists = true;
388 m_webLayerTreeView = adoptPtr(new WebLayerTreeViewWithOutputSurface(sett ings)); 390 m_webLayerTreeView = wrapUnique(new WebLayerTreeViewWithOutputSurface(se ttings));
389 m_webLayerTreeView->setRootLayer(*getPaintArtifactCompositor().getWebLay er()); 391 m_webLayerTreeView->setRootLayer(*getPaintArtifactCompositor().getWebLay er());
390 } 392 }
391 393
392 const cc::PropertyTrees& propertyTrees() 394 const cc::PropertyTrees& propertyTrees()
393 { 395 {
394 return *m_webLayerTreeView->layerTreeHost()->property_trees(); 396 return *m_webLayerTreeView->layerTreeHost()->property_trees();
395 } 397 }
396 398
397 void update(const PaintArtifact& artifact) 399 void update(const PaintArtifact& artifact)
398 { 400 {
399 PaintArtifactCompositorTest::update(artifact); 401 PaintArtifactCompositorTest::update(artifact);
400 m_webLayerTreeView->layerTreeHost()->LayoutAndUpdateLayers(); 402 m_webLayerTreeView->layerTreeHost()->LayoutAndUpdateLayers();
401 } 403 }
402 404
403 private: 405 private:
404 scoped_refptr<base::TestSimpleTaskRunner> m_taskRunner; 406 scoped_refptr<base::TestSimpleTaskRunner> m_taskRunner;
405 base::ThreadTaskRunnerHandle m_taskRunnerHandle; 407 base::ThreadTaskRunnerHandle m_taskRunnerHandle;
406 OwnPtr<WebLayerTreeViewWithOutputSurface> m_webLayerTreeView; 408 std::unique_ptr<WebLayerTreeViewWithOutputSurface> m_webLayerTreeView;
407 }; 409 };
408 410
409 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EmptyPaintArtifact) 411 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EmptyPaintArtifact)
410 { 412 {
411 PaintArtifact emptyArtifact; 413 PaintArtifact emptyArtifact;
412 update(emptyArtifact); 414 update(emptyArtifact);
413 EXPECT_TRUE(rootLayer()->children().empty()); 415 EXPECT_TRUE(rootLayer()->children().empty());
414 } 416 }
415 417
416 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OneChunkWithAnOffset) 418 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OneChunkWithAnOffset)
417 { 419 {
418 TestPaintArtifact artifact; 420 TestPaintArtifact artifact;
419 artifact.chunk(PaintChunkProperties()) 421 artifact.chunk(PaintChunkProperties())
420 .rectDrawing(FloatRect(50, -50, 100, 100), Color::white); 422 .rectDrawing(FloatRect(50, -50, 100, 100), Color::white);
421 update(artifact.build()); 423 update(artifact.build());
422 424
423 ASSERT_EQ(1u, rootLayer()->children().size()); 425 ASSERT_EQ(1u, rootLayer()->children().size());
424 const cc::Layer* child = rootLayer()->child_at(0); 426 const cc::Layer* child = rootLayer()->child_at(0);
425 EXPECT_THAT(child->GetPicture(), 427 EXPECT_THAT(child->GetPicture(),
426 Pointee(drawsRectangle(FloatRect(0, 0, 100, 100), Color::white))); 428 Pointee(drawsRectangle(FloatRect(0, 0, 100, 100), Color::white)));
427 EXPECT_EQ(translation(50, -50), child->screen_space_transform()); 429 EXPECT_EQ(translation(50, -50), child->screen_space_transform());
428 EXPECT_EQ(gfx::Size(100, 100), child->bounds()); 430 EXPECT_EQ(gfx::Size(100, 100), child->bounds());
429 } 431 }
430 432
431 } // namespace 433 } // namespace
432 } // namespace blink 434 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698