summaryrefslogtreecommitdiffstats
path: root/components/suggestions/proto/suggestions.proto
blob: aaf5ef6ce813f7619f75be7c3244a86121ef59b8 (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
// 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 = 1;
  SERVER2 = 2;
  SERVER3 = 3;
}

// 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;
}

// 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;
}

// ThumbnailData contains the data to represent a website thumbnail.
//
// Next tag: 3
message ThumbnailData {
  // The URL of the website represented by this Thumbnail.
  optional string url = 1;

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