| // Copyright 2016 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COMPONENTS_NTP_TILES_NTP_TILE_H_ |
| #define COMPONENTS_NTP_TILES_NTP_TILE_H_ |
| |
| #include <string> |
| #include <vector> |
| |
| #include "base/time/time.h" |
| #include "components/ntp_tiles/tile_source.h" |
| #include "components/ntp_tiles/tile_title_source.h" |
| #include "url/gurl.h" |
| |
| namespace ntp_tiles { |
| |
| // A suggested site shown on the New Tab Page. This is equivalent to "shortcuts" |
| // which are the user facing name. |
| struct NTPTile { |
| std::u16string title; |
| GURL url; |
| TileTitleSource title_source; |
| TileSource source; |
| |
| // This won't be empty, but might 404 etc. |
| GURL favicon_url; |
| |
| // Timestamp representing when the tile was originally generated (produced by |
| // a ranking algorithm). |
| base::Time data_generation_time; |
| |
| // True if this tile is a custom link and was initialized from a Most Visited |
| // item. Used for debugging. |
| bool from_most_visited = false; |
| |
| // The visit count of a Most Visited item. Used for debugging. |
| int visit_count = 0; |
| |
| // The last visit time of a Most Visited item. Used for debugging. |
| base::Time last_visit_time; |
| |
| // The score of a Most Visited item. Used for tweaking algorithm. |
| double score = -1; |
| |
| #if !BUILDFLAG(IS_ANDROID) |
| // Whether to allow users to edit the tile in the action menu. Does not apply |
| // to top sites. May be false for enterprise shortcuts. |
| bool allow_user_edit = true; |
| |
| // Whether to allow users to delete the tile in the action menu. Does not |
| // apply to top sites. May be false for enterprise shortcuts. |
| bool allow_user_delete = true; |
| #endif // !BUILDFLAG(IS_ANDROID) |
| |
| NTPTile(); |
| NTPTile(const NTPTile&); |
| ~NTPTile(); |
| }; |
| |
| bool operator==(const NTPTile& a, const NTPTile& b); |
| |
| using NTPTilesVector = std::vector<NTPTile>; |
| |
| } // namespace ntp_tiles |
| |
| #endif // COMPONENTS_NTP_TILES_NTP_TILE_H_ |