| // 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 COMPONENTS_NTP_TILES_NTP_TILE_IMPRESSION_H_ | 
 | #define COMPONENTS_NTP_TILES_NTP_TILE_IMPRESSION_H_ | 
 |  | 
 | #include "base/time/time.h" | 
 | #include "components/favicon_base/favicon_types.h" | 
 | #include "components/ntp_tiles/tile_source.h" | 
 | #include "components/ntp_tiles/tile_title_source.h" | 
 | #include "components/ntp_tiles/tile_visual_type.h" | 
 | #include "url/gurl.h" | 
 |  | 
 | namespace ntp_tiles { | 
 |  | 
 | struct NTPTileImpression { | 
 |   // Default constructor needed for Mojo. | 
 |   NTPTileImpression(); | 
 |   NTPTileImpression(int index, | 
 |                     TileSource source, | 
 |                     TileTitleSource title_source, | 
 |                     TileVisualType visual_type, | 
 |                     favicon_base::IconType icon_type, | 
 |                     base::Time data_generation_time, | 
 |                     const GURL& url_for_rappor); | 
 |   ~NTPTileImpression(); | 
 |  | 
 |   // Zero-based index representing the position. | 
 |   int index; | 
 |   TileSource source; | 
 |   TileTitleSource title_source; | 
 |   TileVisualType visual_type; | 
 |   favicon_base::IconType icon_type; | 
 |   // The timestamp representing when the tile data (e.g. URL) was generated | 
 |   // originally, regardless of the impression timestamp or the time when it | 
 |   // was fetched (for server-side suggestions). | 
 |   base::Time data_generation_time; | 
 |   // URL the tile points to, used to report Rappor metrics only (might be empty | 
 |   // and is hence ignored, e.g. on desktop). | 
 |   GURL url_for_rappor; | 
 | }; | 
 |  | 
 | }  // namespace ntp_tiles | 
 |  | 
 | #endif  // COMPONENTS_NTP_TILES_NTP_TILE_IMPRESSION_H_ |