OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef IOS_CHROME_BROWSER_FAVICON_FAVICON_ATTRIBUTES_PROVIDER_H_ |
| 6 #define IOS_CHROME_BROWSER_FAVICON_FAVICON_ATTRIBUTES_PROVIDER_H_ |
| 7 |
| 8 #import <UIKit/UIKit.h> |
| 9 #import "ios/chrome/browser/favicon/favicon_attributes.h" |
| 10 |
| 11 namespace favicon { |
| 12 class LargeIconService; |
| 13 } // namespace favicon |
| 14 |
| 15 @class FaviconViewProvider; |
| 16 class GURL; |
| 17 |
| 18 // Object to fetch favicon attributes by URL - an image or a fallback icon if |
| 19 // there is no favicon image available with large enough resolution. |
| 20 @interface FaviconAttributesProvider : NSObject |
| 21 // Favicon attributes associated with |URL| will be fetched using |
| 22 // |largeIconService|. The favicon will be rendered with height and width equal |
| 23 // to |faviconSize|, and the image will be fetched if the source size is greater |
| 24 // than or equal to |minFaviconSize|. |
| 25 - (instancetype)initWithFaviconSize:(CGFloat)faviconSize |
| 26 minFaviconSize:(CGFloat)minFaviconSize |
| 27 largeIconService:(favicon::LargeIconService*)largeIconService |
| 28 NS_DESIGNATED_INITIALIZER; |
| 29 - (instancetype)init NS_UNAVAILABLE; |
| 30 |
| 31 // Fetches favicon attributes and calls the completion block. |
| 32 - (void)fetchFaviconAttributesForURL:(const GURL&)URL |
| 33 completion:(void (^)(FaviconAttributes*))completion; |
| 34 |
| 35 // LargeIconService used to fetch favicons. |
| 36 @property(nonatomic, readonly) favicon::LargeIconService* largeIconService; |
| 37 // Minimal acceptable favicon size. Below that, will fall back to a monogram. |
| 38 @property(nonatomic, readonly) CGFloat minSize; |
| 39 // Expected favicon size (in points). Will downscale favicon to this. |
| 40 @property(nonatomic, readonly) CGFloat faviconSize; |
| 41 |
| 42 @end |
| 43 |
| 44 #endif // IOS_CHROME_BROWSER_FAVICON_FAVICON_ATTRIBUTES_PROVIDER_H_ |
OLD | NEW |