| // Copyright 2022 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_OMNIBOX_UI_POPUP_CAROUSEL_CAROUSEL_ITEM_H_ |
| #define IOS_CHROME_BROWSER_OMNIBOX_UI_POPUP_CAROUSEL_CAROUSEL_ITEM_H_ |
| |
| #import <UIKit/UIKit.h> |
| |
| @class CarouselItem; |
| @class CrURL; |
| @class FaviconAttributes; |
| |
| /// An abstract consumer of carousel items. |
| @protocol CarouselItemConsumer <NSObject> |
| |
| /// Removes `carouselItem`. |
| - (void)deleteCarouselItem:(CarouselItem*)carouselItem; |
| |
| @end |
| |
| /// Represent an carousel item in UI. |
| @interface CarouselItem : NSObject |
| |
| /// Title of the suggestion. |
| @property(nonatomic, copy) NSString* title; |
| /// URL of the suggestion. |
| @property(nonatomic, strong) CrURL* URL; |
| /// Attributes used to display a `FaviconView` in the item. |
| @property(nonatomic, strong) FaviconAttributes* faviconAttributes; |
| /// IndexPath of the item in the omnibox popup. |
| @property(nonatomic, strong) NSIndexPath* indexPath; |
| |
| @end |
| |
| #endif // IOS_CHROME_BROWSER_OMNIBOX_UI_POPUP_CAROUSEL_CAROUSEL_ITEM_H_ |