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

Unified Diff: ui/snapshot/snapshot_aura_unittest.cc

Issue 137143005: Removes the rotation and scaling in SnapshotAura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix 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
« no previous file with comments | « ui/snapshot/snapshot_aura.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/snapshot/snapshot_aura_unittest.cc
diff --git a/ui/snapshot/snapshot_aura_unittest.cc b/ui/snapshot/snapshot_aura_unittest.cc
index eab87a499aa293379d9a2f21ef5f6f14c6ca83a1..6914e7a43b774e80619f4cb2e97b31ca72f3aed5 100644
--- a/ui/snapshot/snapshot_aura_unittest.cc
+++ b/ui/snapshot/snapshot_aura_unittest.cc
@@ -24,7 +24,10 @@
namespace ui {
namespace {
-const SkColor kPaintColor = SK_ColorRED;
+
+SkColor GetExpectedColorForPoint(int x, int y) {
+ return SkColorSetRGB(std::min(x, 255), std::min(y, 255), 0);
+}
// Paint simple rectangle on the specified aura window.
class TestPaintingWindowDelegate : public aura::test::TestWindowDelegate {
@@ -37,7 +40,10 @@ class TestPaintingWindowDelegate : public aura::test::TestWindowDelegate {
}
virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE {
- canvas->FillRect(gfx::Rect(window_size_), kPaintColor);
+ for (int y = 0; y < window_size_.height(); ++y) {
+ for (int x = 0; x < window_size_.width(); ++x)
+ canvas->FillRect(gfx::Rect(x, y, 1, 1), GetExpectedColorForPoint(x, y));
+ }
}
private:
@@ -46,18 +52,27 @@ class TestPaintingWindowDelegate : public aura::test::TestWindowDelegate {
DISALLOW_COPY_AND_ASSIGN(TestPaintingWindowDelegate);
};
-size_t GetFailedPixelsCount(const gfx::Image& image) {
+size_t GetFailedPixelsCountWithScaleFactor(const gfx::Image& image,
+ int scale_factor) {
const SkBitmap* bitmap = image.ToSkBitmap();
uint32* bitmap_data = reinterpret_cast<uint32*>(
bitmap->pixelRef()->pixels());
size_t result = 0;
- for (int i = 0; i < bitmap->width() * bitmap->height(); ++i) {
- if (static_cast<SkColor>(bitmap_data[i]) != kPaintColor)
- ++result;
+ for (int y = 0; y < bitmap->height(); y += scale_factor) {
+ for (int x = 0; x < bitmap->width(); x += scale_factor) {
+ if (static_cast<SkColor>(bitmap_data[x + y * bitmap->width()]) !=
+ GetExpectedColorForPoint(x / scale_factor, y / scale_factor)) {
+ ++result;
+ }
+ }
}
return result;
}
+size_t GetFailedPixelsCount(const gfx::Image& image) {
+ return GetFailedPixelsCountWithScaleFactor(image, 1);
+}
+
} // namespace
class SnapshotAuraTest : public testing::Test {
@@ -175,8 +190,7 @@ TEST_F(SnapshotAuraTest, PartialBounds) {
WaitForDraw();
gfx::Image snapshot = GrabSnapshotForTestWindow();
- EXPECT_EQ(test_bounds.size().ToString(),
- snapshot.Size().ToString());
+ EXPECT_EQ(test_bounds.size().ToString(), snapshot.Size().ToString());
EXPECT_EQ(0u, GetFailedPixelsCount(snapshot));
}
@@ -188,8 +202,7 @@ TEST_F(SnapshotAuraTest, Rotated) {
WaitForDraw();
gfx::Image snapshot = GrabSnapshotForTestWindow();
- EXPECT_EQ(test_bounds.size().ToString(),
- snapshot.Size().ToString());
+ EXPECT_EQ(test_bounds.size().ToString(), snapshot.Size().ToString());
EXPECT_EQ(0u, GetFailedPixelsCount(snapshot));
}
@@ -203,7 +216,6 @@ TEST_F(SnapshotAuraTest, UIScale) {
// Snapshot always captures the physical pixels.
gfx::SizeF snapshot_size(test_bounds.size());
- snapshot_size.Scale(1.0f / kUIScale);
gfx::Image snapshot = GrabSnapshotForTestWindow();
EXPECT_EQ(gfx::ToRoundedSize(snapshot_size).ToString(),
@@ -225,7 +237,7 @@ TEST_F(SnapshotAuraTest, DeviceScaleFactor) {
gfx::Image snapshot = GrabSnapshotForTestWindow();
EXPECT_EQ(gfx::ToRoundedSize(snapshot_size).ToString(),
snapshot.Size().ToString());
- EXPECT_EQ(0u, GetFailedPixelsCount(snapshot));
+ EXPECT_EQ(0u, GetFailedPixelsCountWithScaleFactor(snapshot, 2));
}
TEST_F(SnapshotAuraTest, RotateAndUIScale) {
@@ -239,7 +251,6 @@ TEST_F(SnapshotAuraTest, RotateAndUIScale) {
// Snapshot always captures the physical pixels.
gfx::SizeF snapshot_size(test_bounds.size());
- snapshot_size.Scale(1.0f / kUIScale);
gfx::Image snapshot = GrabSnapshotForTestWindow();
EXPECT_EQ(gfx::ToRoundedSize(snapshot_size).ToString(),
@@ -259,12 +270,12 @@ TEST_F(SnapshotAuraTest, RotateAndUIScaleAndScaleFactor) {
// Snapshot always captures the physical pixels.
gfx::SizeF snapshot_size(test_bounds.size());
- snapshot_size.Scale(2.0f / kUIScale);
+ snapshot_size.Scale(2.0f);
gfx::Image snapshot = GrabSnapshotForTestWindow();
EXPECT_EQ(gfx::ToRoundedSize(snapshot_size).ToString(),
snapshot.Size().ToString());
- EXPECT_EQ(0u, GetFailedPixelsCount(snapshot));
+ EXPECT_EQ(0u, GetFailedPixelsCountWithScaleFactor(snapshot, 2));
}
} // namespace ui
« no previous file with comments | « ui/snapshot/snapshot_aura.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698