// Copyright 2016 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 COMPONENTS_NTP_TILES_NTP_TILE_H_
#define COMPONENTS_NTP_TILES_NTP_TILE_H_

#include <vector>

#include "base/files/file_path.h"
#include "base/macros.h"
#include "base/strings/string16.h"
#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.
struct NTPTile {
  base::string16 title;
  GURL url;
  TileTitleSource title_source;
  TileSource source;

  // Empty unless whitelists are enabled and this site is in a whitelist.
  // However, may be non-empty even if |source| is not |WHITELIST|, if this tile
  // is also available from another, higher-priority source.
  base::FilePath whitelist_icon_path;

  // 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;

  NTPTile();
  NTPTile(const NTPTile&);
  ~NTPTile();
};

bool operator==(const NTPTile& a, const NTPTile& b);
bool operator!=(const NTPTile& a, const NTPTile& b);

using NTPTilesVector = std::vector<NTPTile>;

}  // namespace ntp_tiles

#endif  // COMPONENTS_NTP_TILES_NTP_TILE_H_
