summaryrefslogtreecommitdiffstats
path: root/sync/protocol/app_list_specifics.proto
blob: e18bc956c8e70614b8387f1512bb94986e7ed961 (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
// Copyright 2013 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.
//
// Sync protocol datatype extension for the app list (aka app launcher).

// Update proto_{value,enum}_conversions{.h,.cc,_unittest.cc} if you change
// any fields in this file.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;
option retain_unknown_fields = true;

package sync_pb;

// Properties of app list objects.
message AppListSpecifics {
  // Unique identifier for the item:
  // * TYPE_FOLDER: Folder id (generated)
  // * TYPE_APP: App Id
  // * TYPE_URL: Url
  optional string item_id = 1;

  // What type of item this is.
  enum AppListItemType {
    // An extension app.
    TYPE_APP = 1;
    // A request to remove any matching default installed apps.
    TYPE_REMOVE_DEFAULT_APP = 2;
    // A folder containing entries whose |parent_id| matches |item_id|.
    TYPE_FOLDER = 3;
    // A URL shortcut (functionally equivalent to a bookmark).
    TYPE_URL = 4;
  }
  optional AppListItemType item_type = 2;

  // Item name (FOLDER or URL).
  optional string item_name = 3;

  // Id of the parent (folder) item.
  optional string parent_id = 4;

  // Marked OBSOLETE because this is unused for the app list.
  // Which page this item will appear on in the app list.
  optional string OBSOLETE_page_ordinal = 5 [deprecated = true];

  // Where on a page this item will appear.
  optional string item_ordinal = 6;
}