| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/extensions/extension_icon_image.h" | 5 #include "chrome/browser/extensions/extension_icon_image.h" |
| 6 | 6 |
| 7 #include "base/json/json_file_value_serializer.h" | 7 #include "base/json/json_file_value_serializer.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
| 10 #include "chrome/browser/extensions/image_loader.h" | 10 #include "chrome/browser/extensions/image_loader.h" |
| 11 #include "chrome/common/chrome_paths.h" | 11 #include "chrome/common/chrome_paths.h" |
| 12 #include "chrome/common/extensions/extension_constants.h" | 12 #include "chrome/common/extensions/extension_constants.h" |
| 13 #include "chrome/test/base/testing_profile.h" | 13 #include "chrome/test/base/testing_profile.h" |
| 14 #include "content/public/test/test_browser_thread.h" | 14 #include "content/public/test/test_browser_thread.h" |
| 15 #include "extensions/common/extension.h" | 15 #include "extensions/common/extension.h" |
| 16 #include "extensions/common/manifest.h" | 16 #include "extensions/common/manifest.h" |
| 17 #include "extensions/common/manifest_handlers/icons_handler.h" | 17 #include "extensions/common/manifest_handlers/icons_handler.h" |
| 18 #include "grit/theme_resources.h" | 18 #include "grit/theme_resources.h" |
| 19 #include "skia/ext/image_operations.h" | 19 #include "skia/ext/image_operations.h" |
| 20 #include "testing/gtest/include/gtest/gtest.h" | 20 #include "testing/gtest/include/gtest/gtest.h" |
| 21 #include "ui/base/resource/resource_bundle.h" | 21 #include "ui/base/resource/resource_bundle.h" |
| 22 #include "ui/gfx/image/image_skia_source.h" | 22 #include "ui/gfx/image/image_skia_source.h" |
| 23 #include "ui/gfx/skia_util.h" | 23 #include "ui/gfx/skia_util.h" |
| 24 #if defined(OS_WIN) |
| 25 #include "ui/gfx/win/dpi.h" |
| 26 #endif |
| 24 | 27 |
| 25 using content::BrowserThread; | 28 using content::BrowserThread; |
| 26 using extensions::Extension; | 29 using extensions::Extension; |
| 27 using extensions::IconImage; | 30 using extensions::IconImage; |
| 28 using extensions::Manifest; | 31 using extensions::Manifest; |
| 29 | 32 |
| 30 namespace { | 33 namespace { |
| 31 | 34 |
| 32 SkBitmap CreateBlankBitmapForScale(int size_dip, ui::ScaleFactor scale_factor) { | 35 SkBitmap CreateBlankBitmapForScale(int size_dip, ui::ScaleFactor scale_factor) { |
| 33 SkBitmap bitmap; | 36 SkBitmap bitmap; |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 WaitForImageLoad(); | 257 WaitForImageLoad(); |
| 255 EXPECT_EQ(1, ImageLoadedCount()); | 258 EXPECT_EQ(1, ImageLoadedCount()); |
| 256 ASSERT_EQ(1u, image.image_skia().image_reps().size()); | 259 ASSERT_EQ(1u, image.image_skia().image_reps().size()); |
| 257 | 260 |
| 258 representation = image.image_skia().GetRepresentation(1.0f); | 261 representation = image.image_skia().GetRepresentation(1.0f); |
| 259 | 262 |
| 260 // We should get the right representation now. | 263 // We should get the right representation now. |
| 261 EXPECT_TRUE(gfx::BitmapsAreEqual(representation.sk_bitmap(), bitmap_16)); | 264 EXPECT_TRUE(gfx::BitmapsAreEqual(representation.sk_bitmap(), bitmap_16)); |
| 262 EXPECT_EQ(16, representation.pixel_width()); | 265 EXPECT_EQ(16, representation.pixel_width()); |
| 263 | 266 |
| 267 #if defined(OS_WIN) |
| 268 // High DPI breaks multi-resolution handling. Bail. |
| 269 if (gfx::IsHighDPIEnabled()) |
| 270 return; |
| 271 #endif |
| 272 |
| 264 // Gets representation for an additional scale factor. | 273 // Gets representation for an additional scale factor. |
| 265 representation = image.image_skia().GetRepresentation(2.0f); | 274 representation = image.image_skia().GetRepresentation(2.0f); |
| 266 | 275 |
| 267 EXPECT_TRUE(gfx::BitmapsAreEqual( | 276 EXPECT_TRUE(gfx::BitmapsAreEqual( |
| 268 representation.sk_bitmap(), | 277 representation.sk_bitmap(), |
| 269 CreateBlankBitmapForScale(16, ui::SCALE_FACTOR_200P))); | 278 CreateBlankBitmapForScale(16, ui::SCALE_FACTOR_200P))); |
| 270 | 279 |
| 271 WaitForImageLoad(); | 280 WaitForImageLoad(); |
| 272 EXPECT_EQ(1, ImageLoadedCount()); | 281 EXPECT_EQ(1, ImageLoadedCount()); |
| 273 ASSERT_EQ(2u, image.image_skia().image_reps().size()); | 282 ASSERT_EQ(2u, image.image_skia().image_reps().size()); |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 565 | 574 |
| 566 // When requesting another representation, we should not crash and return some | 575 // When requesting another representation, we should not crash and return some |
| 567 // image of the size. It could be blank or a rescale from the existing 1.0f | 576 // image of the size. It could be blank or a rescale from the existing 1.0f |
| 568 // icon. | 577 // icon. |
| 569 representation = image_skia.GetRepresentation(2.0f); | 578 representation = image_skia.GetRepresentation(2.0f); |
| 570 | 579 |
| 571 EXPECT_EQ(16, representation.GetWidth()); | 580 EXPECT_EQ(16, representation.GetWidth()); |
| 572 EXPECT_EQ(16, representation.GetHeight()); | 581 EXPECT_EQ(16, representation.GetHeight()); |
| 573 EXPECT_EQ(2.0f, representation.scale()); | 582 EXPECT_EQ(2.0f, representation.scale()); |
| 574 } | 583 } |
| OLD | NEW |