| // Copyright 2014 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 COMPONENTS_SUGGESTIONS_IMAGE_MANAGER_H_ |
| #define COMPONENTS_SUGGESTIONS_IMAGE_MANAGER_H_ |
| |
| #include "base/basictypes.h" |
| #include "base/callback.h" |
| #include "components/suggestions/proto/suggestions.pb.h" |
| #include "ui/gfx/image/image_skia.h" |
| #include "url/gurl.h" |
| |
| namespace suggestions { |
| |
| // An interface to retrieve images related to a specific URL. |
| class ImageManager { |
| public: |
| ImageManager() {} |
| virtual ~ImageManager() {} |
| |
| // (Re)Initializes states using data received from a SuggestionService. We're |
| // not doing this in the constructor because an instance may be long-lived. |
| virtual void Initialize(const SuggestionsProfile& suggestions) = 0; |
| |
| // Retrieves stored image for website |url| asynchronously. Calls |callback| |
| // with Bitmap pointer if found, and NULL otherwise. |
| virtual void GetImageForURL( |
| const GURL& url, |
| base::Callback<void(const GURL&, const SkBitmap*)> callback) = 0; |
| |
| private: |
| DISALLOW_COPY_AND_ASSIGN(ImageManager); |
| }; |
| |
| } // namespace suggestions |
| |
| #endif // COMPONENTS_SUGGESTIONS_IMAGE_MANAGER_H_ |