blob: 3a13b448a0ac91048158431d75e2eff67a31887f [file] [log] [blame]
// Copyright 2017 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_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_FAVICON_ITEM_H_
#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_FAVICON_ITEM_H_
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
#import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h"
// Delegate for the ContentSuggestionsFaviconCell, handling the interaction with
// the inner collection view.
@protocol ContentSuggestionsFaviconCellDelegate
// Opens the favicon associated with the |indexPath| of the internal cell.
- (void)openFaviconAtIndexPath:(nonnull NSIndexPath*)innerIndexPath;
@end
// Item for a cell containing favicons in the suggestions. The favicons are
// presented in an inner collection view contained in the cell associated with
// this item. The collection view scrolls horizontally.
@interface ContentSuggestionsFaviconItem : CollectionViewItem
@property(nonatomic, weak, nullable) id<ContentSuggestionsFaviconCellDelegate>
delegate;
// Adds a favicon with a |favicon| image and a |title| to this item.
- (void)addFavicon:(nonnull UIImage*)favicon withTitle:(nonnull NSString*)title;
@end
// The corresponding cell of a favicon item.
@interface ContentSuggestionsFaviconCell : MDCCollectionViewCell
// The inner collection view, used to display the favicons.
@property(nonatomic, strong, nullable) UICollectionView* collectionView;
@property(nonatomic, weak, nullable) id<ContentSuggestionsFaviconCellDelegate>
delegate;
@end
#endif // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_FAVICON_ITEM_H_