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 |