1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_PRERENDER_PRERENDER_ORIGIN_H_
6#define CHROME_BROWSER_PRERENDER_PRERENDER_ORIGIN_H_
7
8namespace prerender {
9
10// Origin indicates what caused the prerender.
11// NOTE: New values need to be appended, since they are used in histograms.
12enum Origin {
13  // Obsolete: ORIGIN_LINK_REL_PRERENDER = 0,
14  // Obsolete: ORIGIN_OMNIBOX_ORIGINAL = 1,
15  ORIGIN_GWS_PRERENDER = 2,
16  // Obsolete: ORIGIN_OMNIBOX_CONSERVATIVE = 3,
17  // Obsolete: ORIGIN_OMNIBOX_EXACT = 4,
18  ORIGIN_OMNIBOX = 5,
19  ORIGIN_NONE = 6,
20  ORIGIN_LINK_REL_PRERENDER_SAMEDOMAIN = 7,
21  ORIGIN_LINK_REL_PRERENDER_CROSSDOMAIN = 8,
22  ORIGIN_LOCAL_PREDICTOR = 9,
23  ORIGIN_EXTERNAL_REQUEST = 10,
24  ORIGIN_INSTANT = 11,
25  ORIGIN_LINK_REL_NEXT = 12,
26  ORIGIN_MAX,
27};
28
29// Return a human-readable name for |origin|.
30const char* NameFromOrigin(Origin origin);
31
32}  // namespace prerender
33
34#endif  // CHROME_BROWSER_PRERENDER_PRERENDER_ORIGIN_H_
35