summaryrefslogtreecommitdiffstats
path: root/components/suggestions/proto/suggestions.proto
blob: 8771de6973ee3ba3ff68198b6e962f58750f694c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Copyright 2014 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.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package suggestions;

// Providers are identified with an ID.
enum ProviderId {
  SERVER0 = 0;
  // SERVER1 through 8 were never used.
  SERVER8 = 8;
  SERVER9 = 9;
  SERVER10 = 10;
  SERVER11 = 11;
}

// The SuggestionsProfile is a protobuf response from the server that contains
// the list of suggestions to be presented to the user.
//
// Next tag: 2
message SuggestionsProfile {
  repeated ChromeSuggestion suggestions = 1;
}

// The suggestions for this user, ordered from best to worst.
//
// Next tag: 6
message ChromeSuggestion {
  // The URL of the suggestion.
  optional string url = 1;

  // Title of the suggestion.
  optional string title = 2;

  // The URL of the favicon associated with this page.
  optional string favicon_url = 3;

  // The URL of the thumbnail associated with this page.
  optional string thumbnail = 4;

  // The provider(s) responsible for this suggestion.
  repeated ProviderId providers = 5;

  // The timestamp (usec) at which this suggestion ceases to be valid.
  optional int64 expiry_ts = 7;
}

// A list of URLs that should be filtered from the SuggestionsProfile.
//
// Next tag: 2
message SuggestionsBlacklist {
  // URLs that make up the blacklist.
  repeated string urls = 1;
}

// ImageData contains the data to represent a website image (e.g. thumbnail).
//
// Next tag: 3
message ImageData {
  // The URL of the website represented by this image.
  optional string url = 1;

  // Bitmap bytes, encoded as JPEG.
  optional bytes data = 2;
}