Index: ios/chrome/browser/favicon/favicon_attributes.h |
diff --git a/ios/chrome/browser/favicon/favicon_attributes.h b/ios/chrome/browser/favicon/favicon_attributes.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..955d3aca01177b2bfc349bf077c1ed5a30ef7e19 |
--- /dev/null |
+++ b/ios/chrome/browser/favicon/favicon_attributes.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_H_ |
+#define IOS_CHROME_BROWSER_FAVICON_FAVICON_ATTRIBUTES_H_ |
+ |
+#import <UIKit/UIKit.h> |
+ |
+// Attributes of a favicon. A favicon is represented either with an image or |
+// with a fallback monogram of a given color and background color. |
+@interface FaviconAttributes : NSObject |
+ |
+// Favicon image. Can be nil. If it is nil, monogram string and color are |
+// guaranteed to be not nil. |
+@property(nonatomic, readonly, strong) UIImage* faviconImage; |
+// Favicon monogram. Only available when there is no image. |
+@property(nonatomic, readonly, copy) NSString* monogramString; |
+// Favicon monogram color. Only available when there is no image. |
+@property(nonatomic, readonly, strong) UIColor* textColor; |
+// Favicon monogram background color. Only available when there is no image. |
+@property(nonatomic, readonly, strong) UIColor* backgroundColor; |
+ |
++ (instancetype)attributesWithImage:(UIImage*)image; |
++ (instancetype)attributesWithMonogram:(NSString*)monogram |
+ textColor:(UIColor*)textColor |
+ backgroundColor:(UIColor*)backgroundColor; |
+ |
+// Designated initializer. Either |image| or all of |textColor|, |
+// |backgroundColor| and |monogram| must be not nil. |
+- (instancetype)initWithImage:(UIImage*)image |
+ monogram:(NSString*)monogram |
+ textColor:(UIColor*)textColor |
+ backgroundColor:(UIColor*)backgroundColor |
+ NS_DESIGNATED_INITIALIZER; |
+- (instancetype)initWithImage:(UIImage*)image; |
+- (instancetype)initWithMonogram:(NSString*)monogram |
+ textColor:(UIColor*)textColor |
+ backgroundColor:(UIColor*)backgroundColor; |
+ |
+- (instancetype)init NS_UNAVAILABLE; |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_FAVICON_FAVICON_ATTRIBUTES_H_ |