OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
7 #include "cc/output/software_frame_data.h" | 7 #include "cc/output/software_frame_data.h" |
8 #include "content/browser/compositor/software_output_device_ozone.h" | 8 #include "content/browser/compositor/software_output_device_ozone.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 #include "third_party/skia/include/core/SkSurface.h" | 10 #include "third_party/skia/include/core/SkSurface.h" |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 SoftwareOutputDeviceOzoneTest::SoftwareOutputDeviceOzoneTest() | 93 SoftwareOutputDeviceOzoneTest::SoftwareOutputDeviceOzoneTest() |
94 : enable_pixel_output_(false) { | 94 : enable_pixel_output_(false) { |
95 message_loop_.reset(new base::MessageLoopForUI); | 95 message_loop_.reset(new base::MessageLoopForUI); |
96 } | 96 } |
97 | 97 |
98 SoftwareOutputDeviceOzoneTest::~SoftwareOutputDeviceOzoneTest() { | 98 SoftwareOutputDeviceOzoneTest::~SoftwareOutputDeviceOzoneTest() { |
99 } | 99 } |
100 | 100 |
101 void SoftwareOutputDeviceOzoneTest::SetUp() { | 101 void SoftwareOutputDeviceOzoneTest::SetUp() { |
102 ui::InitializeContextFactoryForTests(enable_pixel_output_); | 102 ui::InitializeContextFactoryForTests(enable_pixel_output_); |
103 ui::Compositor::Initialize(); | |
104 | 103 |
105 surface_factory_.reset(new MockSurfaceFactoryOzone()); | 104 surface_factory_.reset(new MockSurfaceFactoryOzone()); |
106 gfx::SurfaceFactoryOzone::SetInstance(surface_factory_.get()); | 105 gfx::SurfaceFactoryOzone::SetInstance(surface_factory_.get()); |
107 | 106 |
108 const gfx::Size size(500, 400); | 107 const gfx::Size size(500, 400); |
109 compositor_.reset(new ui::Compositor( | 108 compositor_.reset(new ui::Compositor( |
110 gfx::SurfaceFactoryOzone::GetInstance()->GetAcceleratedWidget())); | 109 gfx::SurfaceFactoryOzone::GetInstance()->GetAcceleratedWidget())); |
111 compositor_->SetScaleAndSize(1.0f, size); | 110 compositor_->SetScaleAndSize(1.0f, size); |
112 | 111 |
113 output_device_.reset(new content::SoftwareOutputDeviceOzone( | 112 output_device_.reset(new content::SoftwareOutputDeviceOzone( |
114 compositor_.get())); | 113 compositor_.get())); |
115 output_device_->Resize(size); | 114 output_device_->Resize(size); |
116 } | 115 } |
117 | 116 |
118 void SoftwareOutputDeviceOzoneTest::TearDown() { | 117 void SoftwareOutputDeviceOzoneTest::TearDown() { |
119 output_device_.reset(); | 118 output_device_.reset(); |
120 compositor_.reset(); | 119 compositor_.reset(); |
121 surface_factory_.reset(); | 120 surface_factory_.reset(); |
122 ui::TerminateContextFactoryForTests(); | 121 ui::TerminateContextFactoryForTests(); |
123 ui::Compositor::Terminate(); | |
124 } | 122 } |
125 | 123 |
126 class SoftwareOutputDeviceOzonePixelTest | 124 class SoftwareOutputDeviceOzonePixelTest |
127 : public SoftwareOutputDeviceOzoneTest { | 125 : public SoftwareOutputDeviceOzoneTest { |
128 protected: | 126 protected: |
129 virtual void SetUp() OVERRIDE; | 127 virtual void SetUp() OVERRIDE; |
130 }; | 128 }; |
131 | 129 |
132 void SoftwareOutputDeviceOzonePixelTest::SetUp() { | 130 void SoftwareOutputDeviceOzonePixelTest::SetUp() { |
133 enable_pixel_output_ = true; | 131 enable_pixel_output_ = true; |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 const SkPMColor black = SkPreMultiplyColor(SK_ColorBLACK); | 185 const SkPMColor black = SkPreMultiplyColor(SK_ColorBLACK); |
188 for (int i = 0; i < area.height(); ++i) { | 186 for (int i = 0; i < area.height(); ++i) { |
189 for (int j = 0; j < area.width(); ++j) { | 187 for (int j = 0; j < area.width(); ++j) { |
190 if (j < damage.width() && i < damage.height()) | 188 if (j < damage.width() && i < damage.height()) |
191 EXPECT_EQ(white, pixels[i * area.width() + j]); | 189 EXPECT_EQ(white, pixels[i * area.width() + j]); |
192 else | 190 else |
193 EXPECT_EQ(black, pixels[i * area.width() + j]); | 191 EXPECT_EQ(black, pixels[i * area.width() + j]); |
194 } | 192 } |
195 } | 193 } |
196 } | 194 } |
OLD | NEW |