Index: ios/chrome/browser/favicon/favicon_attributes_provider.h |
diff --git a/ios/chrome/browser/favicon/favicon_attributes_provider.h b/ios/chrome/browser/favicon/favicon_attributes_provider.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..49fc52371a9d9b9850f47f099a104dc3717f19e9 |
--- /dev/null |
+++ b/ios/chrome/browser/favicon/favicon_attributes_provider.h |
@@ -0,0 +1,44 @@ |
+// Copyright 2016 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 IOS_CHROME_BROWSER_FAVICON_FAVICON_ATTRIBUTES_PROVIDER_H_ |
+#define IOS_CHROME_BROWSER_FAVICON_FAVICON_ATTRIBUTES_PROVIDER_H_ |
+ |
+#import <UIKit/UIKit.h> |
+#import "ios/chrome/browser/favicon/favicon_attributes.h" |
noyau (Ping after 24h)
2016/10/04 12:05:58
Probably not needed, could be replaced by @class.
|
+ |
+namespace favicon { |
+class LargeIconService; |
+} // namespace favicon |
+ |
+@class FaviconViewProvider; |
+class GURL; |
+ |
+// Object to fetch favicon attributes by URL - an image or a fallback icon if |
+// there is no favicon image available with large enough resolution. |
+@interface FaviconAttributesProvider : NSObject |
noyau (Ping after 24h)
2016/10/03 14:52:10
Can't this object be C++?
stkhapugin
2016/10/04 11:47:18
This is basically a UIKit-friendly ObjC wrapper fo
noyau (Ping after 24h)
2016/10/04 12:05:58
I'm not arguing the utility of this class, which h
|
+// Favicon attributes associated with |URL| will be fetched using |
+// |largeIconService|. The favicon will be rendered with height and width equal |
+// to |faviconSize|, and the image will be fetched if the source size is greater |
+// than or equal to |minFaviconSize|. |
+- (instancetype)initWithFaviconSize:(CGFloat)faviconSize |
+ minFaviconSize:(CGFloat)minFaviconSize |
+ largeIconService:(favicon::LargeIconService*)largeIconService |
+ NS_DESIGNATED_INITIALIZER; |
+- (instancetype)init NS_UNAVAILABLE; |
+ |
+// Fetches favicon attributes and calls the completion block. |
+- (void)fetchFaviconAttributesForURL:(const GURL&)URL |
+ completion:(void (^)(FaviconAttributes*))completion; |
+ |
+// LargeIconService used to fetch favicons. |
+@property(nonatomic, readonly) favicon::LargeIconService* largeIconService; |
+// Minimal acceptable favicon size. Below that, will fall back to a monogram. |
+@property(nonatomic, readonly) CGFloat minSize; |
+// Expected favicon size (in points). Will downscale favicon to this. |
+@property(nonatomic, readonly) CGFloat faviconSize; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_FAVICON_FAVICON_ATTRIBUTES_PROVIDER_H_ |