chromium/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h

// Copyright 2017 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_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_MOST_VISITED_ITEM_H_
#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_MOST_VISITED_ITEM_H_

#include "components/ntp_tiles/tile_source.h"
#include "components/ntp_tiles/tile_title_source.h"

#import <UIKit/UIKit.h>

@protocol MostVisitedTilesCommands;
@protocol ContentSuggestionsMenuProvider;
@class FaviconAttributes;
class GURL;

// Item containing a Most Visited suggestion.
@interface ContentSuggestionsMostVisitedItem : NSObject

// Text for the title and the accessibility label of the cell.
@property(nonatomic, copy) NSString* title;

// URL of the Most Visited.
@property(nonatomic, assign) GURL URL;
// Source of the Most Visited tile's name.
@property(nonatomic, assign) ntp_tiles::TileTitleSource titleSource;
// Source of the Most Visited tile.
@property(nonatomic, assign) ntp_tiles::TileSource source;
// Attributes for favicon.
@property(nonatomic, strong) FaviconAttributes* attributes;
// Command handler for actions.
@property(nonatomic, weak) id<MostVisitedTilesCommands> commandHandler;
// Whether the incognito action should be available.
@property(nonatomic, assign) BOOL incognitoAvailable;
// Index position of this item.
@property(nonatomic, assign) int index;
// Provider of menu configurations for the contentSuggestions component.
@property(nonatomic, weak) id<ContentSuggestionsMenuProvider> menuProvider;

@end

#endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_MOST_VISITED_ITEM_H_