// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_UI_OMNIBOX_POPUP_OMNIBOX_ICON_VIEW_H_
#define IOS_CHROME_BROWSER_UI_OMNIBOX_POPUP_OMNIBOX_ICON_VIEW_H_
#import <UIKit/UIKit.h>
@protocol OmniboxIcon;
@protocol FaviconRetriever;
@protocol ImageRetriever;
/// This class is used to display `OmniboxIcon`s. It handles the multiple image
/// views neceesary to get the correct compositing behavior.
@interface OmniboxIconView : UIView
/// Used to fetch favicons.
@property(nonatomic, weak) id<FaviconRetriever> faviconRetriever;
/// Used to fetch other images (rich entities, answers, etc.)
@property(nonatomic, weak) id<ImageRetriever> imageRetriever;
/// Same as UIImageView.
@property(nonatomic, getter=isHighlighted) BOOL highlighted;
- (void)prepareForReuse;
- (void)setOmniboxIcon:(id<OmniboxIcon>)omniboxIcon;
@end
#endif // IOS_CHROME_BROWSER_UI_OMNIBOX_POPUP_OMNIBOX_ICON_VIEW_H_