| 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..b018a960b3dc937f6ec357f52548d9f930dc3e35
|
| --- /dev/null
|
| +++ b/ios/chrome/browser/favicon/favicon_attributes_provider.h
|
| @@ -0,0 +1,48 @@
|
| +// 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"
|
| +
|
| +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
|
| +// 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 _Nonnull)
|
| +initWithFaviconSize:(CGFloat)faviconSize
|
| + minFaviconSize:(CGFloat)minFaviconSize
|
| + largeIconService:(favicon::LargeIconService* _Nonnull)largeIconService
|
| + NS_DESIGNATED_INITIALIZER;
|
| +- (instancetype _Nonnull)init NS_UNAVAILABLE;
|
| +
|
| +// Fetches favicon attributes and calls the completion block.
|
| +- (void)fetchFaviconAttributesForURL:(const GURL&)URL
|
| + completion:
|
| + (void (^_Nonnull)(FaviconAttributes* _Nonnull))
|
| + completion;
|
| +
|
| +// LargeIconService used to fetch favicons.
|
| +@property(nonatomic, readonly, nonnull)
|
| + 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_
|
|
|