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

Unified Diff: chrome/browser/extensions/image_loading_tracker_unittest.cc

Issue 10701087: chromeos: Fix pixelated icons in app list and launcher (part 2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Defer actual resource loading until ImageSource gets request Created 8 years, 5 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: chrome/browser/extensions/image_loading_tracker_unittest.cc
diff --git a/chrome/browser/extensions/image_loading_tracker_unittest.cc b/chrome/browser/extensions/image_loading_tracker_unittest.cc
index 54d1958ec2f4e69cce927653e45a256b299c7c6c..8825cdec6cb755be0f49fabcc03573ad25667bc9 100644
--- a/chrome/browser/extensions/image_loading_tracker_unittest.cc
+++ b/chrome/browser/extensions/image_loading_tracker_unittest.cc
@@ -2,10 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "chrome/browser/extensions/image_loading_tracker.h"
+
+#include <algorithm>
+
#include "base/json/json_file_value_serializer.h"
#include "base/message_loop.h"
#include "base/path_service.h"
-#include "chrome/browser/extensions/image_loading_tracker.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension.h"
@@ -197,14 +200,17 @@ TEST_F(ImageLoadingTrackerTest, MultipleImages) {
"image_loading_tracker", Extension::INVALID));
ASSERT_TRUE(extension.get() != NULL);
- std::vector<ImageLoadingTracker::ImageInfo> info_list;
+ std::vector<ImageLoadingTracker::ImageRepInfo> info_list;
int sizes[] = {ExtensionIconSet::EXTENSION_ICON_SMALLISH,
ExtensionIconSet::EXTENSION_ICON_BITTY};
for (size_t i = 0; i < arraysize(sizes); ++i) {
ExtensionResource resource =
extension->GetIconResource(sizes[i], ExtensionIconSet::MATCH_EXACTLY);
- info_list.push_back(ImageLoadingTracker::ImageInfo(
- resource, gfx::Size(sizes[i], sizes[i])));
+ info_list.push_back(ImageLoadingTracker::ImageRepInfo(
+ resource,
+ ImageLoadingTracker::ImageRepInfo::RESIZE_WHEN_LARGER,
+ gfx::Size(sizes[i], sizes[i]),
+ ui::SCALE_FACTOR_NONE));
}
ImageLoadingTracker loader(this);
@@ -253,3 +259,46 @@ TEST_F(ImageLoadingTrackerTest, IsComponentExtensionResource) {
ASSERT_EQ(IDR_FILE_MANAGER_ICON_16, resource_id);
#endif
}
+
+// Tests loading image that supports DIP.
+TEST_F(ImageLoadingTrackerTest, LoadImageSkia) {
+ scoped_refptr<Extension> extension(CreateExtension(
+ "image_loading_tracker", Extension::INVALID));
+ ASSERT_TRUE(extension.get() != NULL);
+
+ ImageLoadingTracker loader(this);
+ loader.LoadImageSkia(extension,
+ ExtensionIconSet::EXTENSION_ICON_BITTY,
+ ExtensionIconSet::MATCH_SMALLER,
+ gfx::Size(ExtensionIconSet::EXTENSION_ICON_BITTY,
+ ExtensionIconSet::EXTENSION_ICON_BITTY),
+ ImageLoadingTracker::DONT_CACHE);
+
+ // Observer's OnImageLoaded is called before LoadImageSkia returns.
+ EXPECT_EQ(1, image_loaded_count());
+
+ // No representations in |image_| yet.
+ std::vector<gfx::ImageSkiaRep> image_reps =
+ image_.ToImageSkia()->image_reps();
+ ASSERT_EQ(0u, image_reps.size());
+
+ // Gets representation for a scale factor.
+ image_.ToImageSkia()->GetRepresentation(ui::SCALE_FACTOR_100P);
+ WaitForImageLoad();
+ EXPECT_EQ(1, image_loaded_count());
+
+ gfx::ImageSkiaRep image_rep =
+ image_.ToImageSkia()->GetRepresentation(ui::SCALE_FACTOR_100P);
+ EXPECT_EQ(ExtensionIconSet::EXTENSION_ICON_BITTY,
+ image_rep.pixel_width());
+
+ // Gets image for an additional scale factor.
+ image_.ToImageSkia()->GetRepresentation(ui::SCALE_FACTOR_200P);
+ WaitForImageLoad();
+ EXPECT_EQ(1, image_loaded_count());
+
+ image_rep = image_.ToImageSkia()->GetRepresentation(ui::SCALE_FACTOR_200P);
+ EXPECT_EQ(ExtensionIconSet::EXTENSION_ICON_SMALL,
+ image_rep.pixel_width());
+}
+

Powered by Google App Engine
This is Rietveld 408576698