Use 'tile' term in MostVisitedSites.

Break out NTPTile and NTPTileSource to their own header.

Updating desktop and iOS to use ntp_tiles in one go is not going to
happen quickly. As an intermediate goal, I figured I would get them both
using NTPTile in their internals, which will make it easier to update
NewTabPage.MostVisited from MostVisitedSites on all platforms. This CL
is groundwork for that.

BUG=514752, 631990

Review-Url: https://codereview.chromium.org/2202163003
Cr-Commit-Position: refs/heads/master@{#409734}
diff --git a/components/ntp_tiles/ntp_tile.h b/components/ntp_tiles/ntp_tile.h
new file mode 100644
index 0000000..e82cd4db
--- /dev/null
+++ b/components/ntp_tiles/ntp_tile.h
@@ -0,0 +1,54 @@
+// 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 "url/gurl.h"
+
+namespace ntp_tiles {
+
+// The source of an NTP tile.
+// A Java counterpart will be generated for this enum.
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.ntp
+enum class NTPTileSource {
+  // Tile comes from the personal top sites list, based on local history.
+  TOP_SITES,
+  // Tile comes from the suggestions service, based on synced history.
+  SUGGESTIONS_SERVICE,
+  // Tile is regionally popular.
+  POPULAR,
+  // Tile is on an custodian-managed whitelist.
+  WHITELIST
+};
+
+// A suggested site shown on the New Tab Page.
+struct NTPTile {
+  base::string16 title;
+  GURL url;
+  NTPTileSource source;
+
+  // Only valid for source == WHITELIST (empty otherwise).
+  base::FilePath whitelist_icon_path;
+
+  NTPTile();
+  ~NTPTile();
+
+  NTPTile(NTPTile&&);
+  NTPTile& operator=(NTPTile&&);
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(NTPTile);
+};
+
+using NTPTilesVector = std::vector<NTPTile>;
+
+}  // namespace ntp_tiles
+
+#endif  // COMPONENTS_NTP_TILES_NTP_TILE_H_