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

Unified Diff: chrome/browser/extensions/image_loader.h

Issue 334053003: Moves extension_icon_image and image_loader to extensions/browser (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: include fail Created 6 years, 6 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 | « chrome/browser/extensions/extension_web_ui.cc ('k') | chrome/browser/extensions/image_loader.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/image_loader.h
diff --git a/chrome/browser/extensions/image_loader.h b/chrome/browser/extensions/image_loader.h
deleted file mode 100644
index ae3629553115b0625828bf928b203c99c764de6a..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/image_loader.h
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_EXTENSIONS_IMAGE_LOADER_H_
-#define CHROME_BROWSER_EXTENSIONS_IMAGE_LOADER_H_
-
-#include <set>
-
-#include "base/callback_forward.h"
-#include "base/gtest_prod_util.h"
-#include "base/memory/weak_ptr.h"
-#include "components/keyed_service/core/keyed_service.h"
-#include "extensions/common/extension_resource.h"
-#include "third_party/skia/include/core/SkBitmap.h"
-#include "ui/base/layout.h"
-#include "ui/gfx/size.h"
-
-namespace content {
-class BrowserContext;
-}
-
-namespace gfx {
-class Image;
-class ImageFamily;
-}
-
-namespace extensions {
-
-class Extension;
-
-typedef base::Callback<void(const gfx::Image&)> ImageLoaderImageCallback;
-typedef base::Callback<void(const gfx::ImageFamily&)>
- ImageLoaderImageFamilyCallback;
-
-// This class is responsible for asynchronously loading extension images and
-// calling a callback when an image is loaded.
-// The views need to load their icons asynchronously might be deleted before
-// the images have loaded. If you pass your callback using a weak_ptr, this
-// will make sure the callback won't be called after the view is deleted.
-class ImageLoader : public KeyedService {
- public:
- // Information about a singe image representation to load from an extension
- // resource.
- struct ImageRepresentation {
- // Enum values to indicate whether to resize loaded bitmap when it is larger
- // than |desired_size| or always resize it.
- enum ResizeCondition { RESIZE_WHEN_LARGER, ALWAYS_RESIZE, NEVER_RESIZE };
-
- ImageRepresentation(const ExtensionResource& resource,
- ResizeCondition resize_condition,
- const gfx::Size& desired_size,
- ui::ScaleFactor scale_factor);
- ~ImageRepresentation();
-
- // Extension resource to load.
- ExtensionResource resource;
-
- ResizeCondition resize_condition;
-
- // When |resize_method| is ALWAYS_RESIZE or when the loaded image is larger
- // than |desired_size| it will be resized to these dimensions.
- gfx::Size desired_size;
-
- // |scale_factor| is used to construct the loaded gfx::ImageSkia.
- ui::ScaleFactor scale_factor;
- };
-
- struct LoadResult;
-
- // Returns the instance for the given |context| or NULL if none. This is
- // a convenience wrapper around ImageLoaderFactory::GetForBrowserContext.
- static ImageLoader* Get(content::BrowserContext* context);
-
- ImageLoader();
- virtual ~ImageLoader();
-
- // Checks whether image is a component extension resource. Returns false
- // if a given |resource| does not have a corresponding image in bundled
- // resources. Otherwise fills |resource_id|. This doesn't check if the
- // extension the resource is in is actually a component extension.
- static bool IsComponentExtensionResource(
- const base::FilePath& extension_path,
- const base::FilePath& resource_path,
- int* resource_id);
-
- // Specify image resource to load. If the loaded image is larger than
- // |max_size| it will be resized to those dimensions. IMPORTANT NOTE: this
- // function may call back your callback synchronously (ie before it returns)
- // if the image was found in the cache.
- // Note this method loads a raw bitmap from the resource. All sizes given are
- // assumed to be in pixels.
- void LoadImageAsync(const extensions::Extension* extension,
- const ExtensionResource& resource,
- const gfx::Size& max_size,
- const ImageLoaderImageCallback& callback);
-
- // Same as LoadImageAsync() above except it loads multiple images from the
- // same extension. This is used to load multiple resolutions of the same image
- // type.
- void LoadImagesAsync(const extensions::Extension* extension,
- const std::vector<ImageRepresentation>& info_list,
- const ImageLoaderImageCallback& callback);
-
- // Same as LoadImagesAsync() above except it loads into an image family. This
- // is used to load multiple images of different logical sizes as opposed to
- // LoadImagesAsync() which loads different scale factors of the same logical
- // image size.
- //
- // If multiple images of the same logical size are loaded, they will be
- // combined into a single ImageSkia in the ImageFamily.
- void LoadImageFamilyAsync(const extensions::Extension* extension,
- const std::vector<ImageRepresentation>& info_list,
- const ImageLoaderImageFamilyCallback& callback);
-
- private:
- void ReplyBack(const ImageLoaderImageCallback& callback,
- const std::vector<LoadResult>& load_result);
-
- void ReplyBackWithImageFamily(const ImageLoaderImageFamilyCallback& callback,
- const std::vector<LoadResult>& load_result);
-
- base::WeakPtrFactory<ImageLoader> weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(ImageLoader);
-};
-
-} // namespace extensions
-
-#endif // CHROME_BROWSER_EXTENSIONS_IMAGE_LOADER_H_
« no previous file with comments | « chrome/browser/extensions/extension_web_ui.cc ('k') | chrome/browser/extensions/image_loader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698