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

Unified Diff: content/browser/aura/software_output_device_ozone_unittest.cc

Issue 137893007: Add the UI compositor to the Mac build (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add missed file Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/aura/software_output_device_ozone_unittest.cc
diff --git a/content/browser/aura/software_output_device_ozone_unittest.cc b/content/browser/aura/software_output_device_ozone_unittest.cc
deleted file mode 100644
index 64724ab1b6f56a72d5beff0313e5048a765784be..0000000000000000000000000000000000000000
--- a/content/browser/aura/software_output_device_ozone_unittest.cc
+++ /dev/null
@@ -1,196 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/memory/scoped_ptr.h"
-#include "base/message_loop/message_loop.h"
-#include "cc/output/software_frame_data.h"
-#include "content/browser/aura/software_output_device_ozone.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/skia/include/core/SkBitmapDevice.h"
-#include "ui/compositor/compositor.h"
-#include "ui/compositor/test/context_factories_for_test.h"
-#include "ui/gfx/ozone/surface_factory_ozone.h"
-#include "ui/gfx/size.h"
-#include "ui/gfx/skia_util.h"
-#include "ui/gfx/vsync_provider.h"
-#include "ui/gl/gl_implementation.h"
-
-namespace {
-
-class MockSurfaceFactoryOzone : public gfx::SurfaceFactoryOzone {
- public:
- MockSurfaceFactoryOzone() {}
- virtual ~MockSurfaceFactoryOzone() {}
-
- virtual HardwareState InitializeHardware() OVERRIDE {
- return SurfaceFactoryOzone::INITIALIZED;
- }
-
- virtual void ShutdownHardware() OVERRIDE {}
- virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE { return 1; }
- virtual gfx::AcceleratedWidget RealizeAcceleratedWidget(
- gfx::AcceleratedWidget w) OVERRIDE { return w; }
- virtual bool LoadEGLGLES2Bindings(
- AddGLLibraryCallback add_gl_library,
- SetGLGetProcAddressProcCallback set_gl_get_proc_address) OVERRIDE {
- return false;
- }
- virtual bool AttemptToResizeAcceleratedWidget(
- gfx::AcceleratedWidget w, const gfx::Rect& bounds) OVERRIDE {
- device_ = skia::AdoptRef(new SkBitmapDevice(SkBitmap::kARGB_8888_Config,
- bounds.width(),
- bounds.height(),
- true));
- canvas_ = skia::AdoptRef(new SkCanvas(device_.get()));
- return true;
- }
- virtual SkCanvas* GetCanvasForWidget(gfx::AcceleratedWidget w) OVERRIDE {
- return canvas_.get();
- }
- virtual scoped_ptr<gfx::VSyncProvider> CreateVSyncProvider(
- gfx::AcceleratedWidget w) OVERRIDE {
- return scoped_ptr<gfx::VSyncProvider>();
- }
- private:
- skia::RefPtr<SkBitmapDevice> device_;
- skia::RefPtr<SkCanvas> canvas_;
-
- DISALLOW_COPY_AND_ASSIGN(MockSurfaceFactoryOzone);
-};
-
-} // namespace
-
-class SoftwareOutputDeviceOzoneTest : public testing::Test {
- public:
- SoftwareOutputDeviceOzoneTest();
- virtual ~SoftwareOutputDeviceOzoneTest();
-
- virtual void SetUp() OVERRIDE;
- virtual void TearDown() OVERRIDE;
-
- protected:
- scoped_ptr<content::SoftwareOutputDeviceOzone> output_device_;
-
- private:
- scoped_ptr<ui::Compositor> compositor_;
- scoped_ptr<base::MessageLoop> message_loop_;
- scoped_ptr<gfx::SurfaceFactoryOzone> surface_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(SoftwareOutputDeviceOzoneTest);
-};
-
-SoftwareOutputDeviceOzoneTest::SoftwareOutputDeviceOzoneTest() {
- CHECK(gfx::InitializeGLBindings(gfx::kGLImplementationOSMesaGL));
- message_loop_.reset(new base::MessageLoopForUI);
-}
-
-SoftwareOutputDeviceOzoneTest::~SoftwareOutputDeviceOzoneTest() {
-}
-
-void SoftwareOutputDeviceOzoneTest::SetUp() {
- ui::InitializeContextFactoryForTests(false);
- ui::Compositor::Initialize();
-
- surface_factory_.reset(new MockSurfaceFactoryOzone());
- gfx::SurfaceFactoryOzone::SetInstance(surface_factory_.get());
-
- const gfx::Size size(500, 400);
- compositor_.reset(new ui::Compositor(
- gfx::SurfaceFactoryOzone::GetInstance()->GetAcceleratedWidget()));
- compositor_->SetScaleAndSize(1.0f, size);
-
- output_device_.reset(new content::SoftwareOutputDeviceOzone(
- compositor_.get()));
- output_device_->Resize(size);
-}
-
-void SoftwareOutputDeviceOzoneTest::TearDown() {
- output_device_.reset();
- compositor_.reset();
- surface_factory_.reset();
- ui::TerminateContextFactoryForTests();
- ui::Compositor::Terminate();
-}
-
-TEST_F(SoftwareOutputDeviceOzoneTest, CheckClipAfterBeginPaint) {
- gfx::Rect damage(10, 10, 100, 100);
- SkCanvas* canvas = output_device_->BeginPaint(damage);
-
- SkIRect sk_bounds;
- canvas->getClipDeviceBounds(&sk_bounds);
-
- EXPECT_EQ(damage.ToString(), gfx::SkIRectToRect(sk_bounds).ToString());
-}
-
-TEST_F(SoftwareOutputDeviceOzoneTest, CheckClipAfterSecondBeginPaint) {
- gfx::Rect damage(10, 10, 100, 100);
- SkCanvas* canvas = output_device_->BeginPaint(damage);
-
- cc::SoftwareFrameData frame;
- output_device_->EndPaint(&frame);
-
- damage = gfx::Rect(100, 100, 100, 100);
- canvas = output_device_->BeginPaint(damage);
- SkIRect sk_bounds;
- canvas->getClipDeviceBounds(&sk_bounds);
-
- EXPECT_EQ(damage.ToString(), gfx::SkIRectToRect(sk_bounds).ToString());
-}
-
-TEST_F(SoftwareOutputDeviceOzoneTest, CheckCorrectResizeBehavior) {
- gfx::Rect damage(0, 0, 100, 100);
- gfx::Size size(200, 100);
- // Reduce size.
- output_device_->Resize(size);
-
- SkCanvas* canvas = output_device_->BeginPaint(damage);
- gfx::Size canvas_size(canvas->getDeviceSize().width(),
- canvas->getDeviceSize().height());
- EXPECT_EQ(size.ToString(), canvas_size.ToString());
-
- size.SetSize(1000, 500);
- // Increase size.
- output_device_->Resize(size);
-
- canvas = output_device_->BeginPaint(damage);
- canvas_size.SetSize(canvas->getDeviceSize().width(),
- canvas->getDeviceSize().height());
- EXPECT_EQ(size.ToString(), canvas_size.ToString());
-
-}
-
-TEST_F(SoftwareOutputDeviceOzoneTest, CheckCopyToBitmap) {
- const gfx::Rect area(6, 4);
- output_device_->Resize(area.size());
- SkCanvas* canvas = output_device_->BeginPaint(area);
-
- // Clear the background to black.
- canvas->drawColor(SK_ColorBLACK);
-
- cc::SoftwareFrameData frame;
- output_device_->EndPaint(&frame);
-
- // Draw a white rectangle.
- gfx::Rect damage(area.width() / 2, area.height() / 2);
- canvas = output_device_->BeginPaint(damage);
-
- canvas->drawColor(SK_ColorWHITE);
-
- output_device_->EndPaint(&frame);
-
- SkBitmap bitmap;
- output_device_->CopyToBitmap(area, &bitmap);
-
- SkAutoLockPixels pixel_lock(bitmap);
- // Check that the copied bitmap contains the same pixel values as what we
- // painted.
- for (int i = 0; i < area.height(); ++i) {
- for (int j = 0; j < area.width(); ++j) {
- if (j < damage.width() && i < damage.height())
- EXPECT_EQ(SK_ColorWHITE, bitmap.getColor(j, i));
- else
- EXPECT_EQ(SK_ColorBLACK, bitmap.getColor(j, i));
- }
- }
-}
« no previous file with comments | « content/browser/aura/software_output_device_ozone.cc ('k') | content/browser/aura/software_output_device_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698