| Index: chrome/browser/extensions/image_loader_unittest.cc
|
| diff --git a/chrome/browser/extensions/image_loading_tracker_unittest.cc b/chrome/browser/extensions/image_loader_unittest.cc
|
| similarity index 75%
|
| copy from chrome/browser/extensions/image_loading_tracker_unittest.cc
|
| copy to chrome/browser/extensions/image_loader_unittest.cc
|
| index 220c5c005ac6e8d2d022588272b94c1ab38d509c..8fbe14140d04988cef156a36ddefe5243289ff6a 100644
|
| --- a/chrome/browser/extensions/image_loading_tracker_unittest.cc
|
| +++ b/chrome/browser/extensions/image_loader_unittest.cc
|
| @@ -2,7 +2,7 @@
|
| // 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 "chrome/browser/extensions/image_loader.h"
|
|
|
| #include "base/json/json_file_value_serializer.h"
|
| #include "base/message_loop.h"
|
| @@ -24,11 +24,11 @@
|
|
|
| using content::BrowserThread;
|
| using extensions::Extension;
|
| +using extensions::ImageLoader;
|
|
|
| -class ImageLoadingTrackerTest : public testing::Test,
|
| - public ImageLoadingTracker::Observer {
|
| +class ImageLoaderTest : public testing::Test {
|
| public:
|
| - ImageLoadingTrackerTest()
|
| + ImageLoaderTest()
|
| : image_loaded_count_(0),
|
| quit_in_image_loaded_(false),
|
| ui_thread_(BrowserThread::UI, &ui_loop_),
|
| @@ -36,9 +36,7 @@ class ImageLoadingTrackerTest : public testing::Test,
|
| io_thread_(BrowserThread::IO) {
|
| }
|
|
|
| - virtual void OnImageLoaded(const gfx::Image& image,
|
| - const std::string& extension_id,
|
| - int index) OVERRIDE {
|
| + void OnImageLoaded(const gfx::Image& image) {
|
| image_loaded_count_++;
|
| if (quit_in_image_loaded_)
|
| MessageLoop::current()->Quit();
|
| @@ -109,7 +107,7 @@ class ImageLoadingTrackerTest : public testing::Test,
|
| };
|
|
|
| // Tests asking ImageLoadingTracker to cache pushes the result to the Extension.
|
| -TEST_F(ImageLoadingTrackerTest, Cache) {
|
| +TEST_F(ImageLoaderTest, Cache) {
|
| scoped_refptr<Extension> extension(CreateExtension(
|
| "image_loading_tracker", Extension::INVALID));
|
| ASSERT_TRUE(extension.get() != NULL);
|
| @@ -119,11 +117,15 @@ TEST_F(ImageLoadingTrackerTest, Cache) {
|
| ExtensionIconSet::MATCH_EXACTLY);
|
| gfx::Size max_size(extension_misc::EXTENSION_ICON_SMALLISH,
|
| extension_misc::EXTENSION_ICON_SMALLISH);
|
| - ImageLoadingTracker loader(this);
|
| - loader.LoadImage(extension.get(),
|
| - image_resource,
|
| - max_size,
|
| - ImageLoadingTracker::CACHE);
|
| + ImageLoader loader;
|
| + std::set<int> sizes;
|
| + sizes.insert(extension_misc::EXTENSION_ICON_SMALLISH);
|
| + loader.SetImageSizesToCache(sizes);
|
| + loader.LoadImageAsync(extension.get(),
|
| + image_resource,
|
| + max_size,
|
| + base::Bind(&ImageLoaderTest::OnImageLoaded,
|
| + base::Unretained(this)));
|
|
|
| // The image isn't cached, so we should not have received notification.
|
| EXPECT_EQ(0, image_loaded_count());
|
| @@ -137,18 +139,18 @@ TEST_F(ImageLoadingTrackerTest, Cache) {
|
| EXPECT_EQ(extension_misc::EXTENSION_ICON_SMALLISH,
|
| image_.ToSkBitmap()->width());
|
|
|
| - // The image should be cached in the Extension.
|
| - EXPECT_TRUE(extension->HasCachedImage(image_resource, max_size));
|
| -
|
| - // Make sure the image is in the extension.
|
| + // Make sure the image is cached.
|
| + const SkBitmap* bitmap = loader.GetCachedImage(image_resource, max_size);
|
| + ASSERT_TRUE(bitmap);
|
| EXPECT_EQ(extension_misc::EXTENSION_ICON_SMALLISH,
|
| - extension->GetCachedImage(image_resource, max_size).width());
|
| + bitmap->width());
|
|
|
| // Ask the tracker for the image again, this should call us back immediately.
|
| - loader.LoadImage(extension.get(),
|
| - image_resource,
|
| - max_size,
|
| - ImageLoadingTracker::CACHE);
|
| + loader.LoadImageAsync(extension.get(),
|
| + image_resource,
|
| + max_size,
|
| + base::Bind(&ImageLoaderTest::OnImageLoaded,
|
| + base::Unretained(this)));
|
| // We should have gotten the image.
|
| EXPECT_EQ(1, image_loaded_count());
|
|
|
| @@ -159,7 +161,7 @@ TEST_F(ImageLoadingTrackerTest, Cache) {
|
|
|
| // Tests deleting an extension while waiting for the image to load doesn't cause
|
| // problems.
|
| -TEST_F(ImageLoadingTrackerTest, DeleteExtensionWhileWaitingForCache) {
|
| +TEST_F(ImageLoaderTest, DeleteExtensionWhileWaitingForCache) {
|
| scoped_refptr<Extension> extension(CreateExtension(
|
| "image_loading_tracker", Extension::INVALID));
|
| ASSERT_TRUE(extension.get() != NULL);
|
| @@ -167,12 +169,17 @@ TEST_F(ImageLoadingTrackerTest, DeleteExtensionWhileWaitingForCache) {
|
| ExtensionResource image_resource =
|
| extension->GetIconResource(extension_misc::EXTENSION_ICON_SMALLISH,
|
| ExtensionIconSet::MATCH_EXACTLY);
|
| - ImageLoadingTracker loader(this);
|
| - loader.LoadImage(extension.get(),
|
| - image_resource,
|
| - gfx::Size(extension_misc::EXTENSION_ICON_SMALLISH,
|
| - extension_misc::EXTENSION_ICON_SMALLISH),
|
| - ImageLoadingTracker::CACHE);
|
| + gfx::Size max_size(extension_misc::EXTENSION_ICON_SMALLISH,
|
| + extension_misc::EXTENSION_ICON_SMALLISH);
|
| + ImageLoader loader;
|
| + std::set<int> sizes;
|
| + sizes.insert(extension_misc::EXTENSION_ICON_SMALLISH);
|
| + loader.SetImageSizesToCache(sizes);
|
| + loader.LoadImageAsync(extension.get(),
|
| + image_resource,
|
| + max_size,
|
| + base::Bind(&ImageLoaderTest::OnImageLoaded,
|
| + base::Unretained(this)));
|
|
|
| // The image isn't cached, so we should not have received notification.
|
| EXPECT_EQ(0, image_loaded_count());
|
| @@ -198,29 +205,34 @@ TEST_F(ImageLoadingTrackerTest, DeleteExtensionWhileWaitingForCache) {
|
| // Check that the image was loaded.
|
| EXPECT_EQ(extension_misc::EXTENSION_ICON_SMALLISH,
|
| image_.ToSkBitmap()->width());
|
| +
|
| + // Make sure the image was not cached.
|
| + EXPECT_EQ(NULL, loader.GetCachedImage(image_resource, max_size));
|
| }
|
|
|
| // Tests loading multiple dimensions of the same image.
|
| -TEST_F(ImageLoadingTrackerTest, MultipleImages) {
|
| +TEST_F(ImageLoaderTest, MultipleImages) {
|
| scoped_refptr<Extension> extension(CreateExtension(
|
| "image_loading_tracker", Extension::INVALID));
|
| ASSERT_TRUE(extension.get() != NULL);
|
|
|
| - std::vector<ImageLoadingTracker::ImageRepresentation> info_list;
|
| + std::vector<ImageLoader::ImageRepresentation> info_list;
|
| int sizes[] = {extension_misc::EXTENSION_ICON_SMALLISH,
|
| extension_misc::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::ImageRepresentation(
|
| + info_list.push_back(ImageLoader::ImageRepresentation(
|
| resource,
|
| - ImageLoadingTracker::ImageRepresentation::RESIZE_WHEN_LARGER,
|
| + ImageLoader::ImageRepresentation::RESIZE_WHEN_LARGER,
|
| gfx::Size(sizes[i], sizes[i]),
|
| ui::SCALE_FACTOR_NONE));
|
| }
|
|
|
| - ImageLoadingTracker loader(this);
|
| - loader.LoadImages(extension.get(), info_list, ImageLoadingTracker::CACHE);
|
| + ImageLoader loader;
|
| + loader.LoadImagesAsync(extension.get(), info_list,
|
| + base::Bind(&ImageLoaderTest::OnImageLoaded,
|
| + base::Unretained(this)));
|
|
|
| // The image isn't cached, so we should not have received notification.
|
| EXPECT_EQ(0, image_loaded_count());
|
| @@ -246,7 +258,7 @@ TEST_F(ImageLoadingTrackerTest, MultipleImages) {
|
| }
|
|
|
| // Tests IsComponentExtensionResource function.
|
| -TEST_F(ImageLoadingTrackerTest, IsComponentExtensionResource) {
|
| +TEST_F(ImageLoaderTest, IsComponentExtensionResource) {
|
| scoped_refptr<Extension> extension(CreateExtension(
|
| "file_manager", Extension::COMPONENT));
|
| ASSERT_TRUE(extension.get() != NULL);
|
| @@ -256,12 +268,11 @@ TEST_F(ImageLoadingTrackerTest, IsComponentExtensionResource) {
|
| ExtensionIconSet::MATCH_EXACTLY);
|
|
|
| #if defined(FILE_MANAGER_EXTENSION)
|
| - ImageLoadingTracker loader(this);
|
| int resource_id;
|
| ASSERT_EQ(true,
|
| - loader.IsComponentExtensionResource(extension.get(),
|
| - resource.relative_path(),
|
| - &resource_id));
|
| + ImageLoader::IsComponentExtensionResource(extension.get(),
|
| + resource.relative_path(),
|
| + &resource_id));
|
| ASSERT_EQ(IDR_FILE_MANAGER_ICON_16, resource_id);
|
| #endif
|
| }
|
|
|