blob: 586151bf9e408346bead36512858ba45ed29d7d4 [file] [log] [blame]
// 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/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,
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;
// 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_