OLD | NEW |
| (Empty) |
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 // Sync protocol datatype extension for sessions. | |
6 | |
7 // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change | |
8 // any fields in this file. | |
9 | |
10 syntax = "proto2"; | |
11 | |
12 option optimize_for = LITE_RUNTIME; | |
13 option retain_unknown_fields = true; | |
14 | |
15 package sync_pb; | |
16 | |
17 import "sync_enums.proto"; | |
18 | |
19 message SessionSpecifics { | |
20 // Unique id for the client. | |
21 optional string session_tag = 1; | |
22 optional SessionHeader header = 2; | |
23 optional SessionTab tab = 3; | |
24 | |
25 // The local tab id used by sync. Unique across all nodes for that client. | |
26 optional int32 tab_node_id = 4 [default = -1]; | |
27 } | |
28 | |
29 // Properties of session sync objects. | |
30 message SessionHeader { | |
31 // Each session is composed of windows. | |
32 repeated SessionWindow window = 2; | |
33 // A non-unique but human-readable name to describe this client. | |
34 optional string client_name = 3; | |
35 // The type of device. | |
36 optional SyncEnums.DeviceType device_type = 4; | |
37 } | |
38 | |
39 message SessionWindow { | |
40 // Unique (to the owner) id for this window. | |
41 optional int32 window_id = 1; | |
42 // Index of the selected tab in tabs; -1 if no tab is selected. | |
43 optional int32 selected_tab_index = 2 [default = -1]; | |
44 // Type of the browser. Currently we only store browsers of type | |
45 // TYPE_TABBED and TYPE_POPUP. | |
46 enum BrowserType { | |
47 TYPE_TABBED = 1; | |
48 TYPE_POPUP = 2; | |
49 } | |
50 optional BrowserType browser_type = 3 [default = TYPE_TABBED]; | |
51 // The tabs that compose a window (correspond to tab id's). | |
52 repeated int32 tab = 4; | |
53 } | |
54 | |
55 message SessionTab { | |
56 // Unique (to the owner) id for this tab. | |
57 optional int32 tab_id = 1; | |
58 // The unique id for the window this tab belongs to. | |
59 optional int32 window_id = 2; | |
60 // Visual index of the tab within its window. There may be gaps in these | |
61 // values. | |
62 optional int32 tab_visual_index = 3 [default = -1]; | |
63 // Identifies the index of the current navigation in navigations. For | |
64 // example, if this is 2 it means the current navigation is navigations[2]. | |
65 optional int32 current_navigation_index = 4 [default = -1]; | |
66 // True if the tab is pinned. | |
67 optional bool pinned = 5 [default = false]; | |
68 // If non-empty, this tab is an app tab and this is the id of the extension. | |
69 optional string extension_app_id = 6; | |
70 // Tabs are navigated, and the navigation data is here. | |
71 repeated TabNavigation navigation = 7; | |
72 | |
73 // Fields 8 through 11 are deprecated. | |
74 // The favicon for the current url the tab is displaying. Either empty | |
75 // or a valid PNG encoded favicon. | |
76 optional bytes favicon = 8; | |
77 // The type of favicon. For now only normal web favicons are supported. | |
78 enum FaviconType { | |
79 TYPE_WEB_FAVICON = 1; | |
80 } | |
81 optional FaviconType favicon_type = 9; | |
82 // The url of the actual favicon (as opposed to the page using the favicon). | |
83 optional string favicon_source = 11; | |
84 // Ids of the currently assigned variations which should be sent to sync. | |
85 repeated uint64 variation_id = 12; | |
86 } | |
87 | |
88 message TabNavigation { | |
89 // The index in the NavigationController. If this is -1, it means this | |
90 // TabNavigation is bogus. | |
91 // optional int32 index = 1 [default = -1]; // obsolete. | |
92 // The virtual URL, when nonempty, will override the actual URL of the page | |
93 // when we display it to the user. | |
94 optional string virtual_url = 2; | |
95 // The referring URL, which can be empty. | |
96 optional string referrer = 3; | |
97 // The title of the page. | |
98 optional string title = 4; | |
99 // Content state is an opaque blob created by WebKit that represents the | |
100 // state of the page. This includes form entries and scroll position for each | |
101 // frame. | |
102 // optional string state = 5; // obsolete. | |
103 // The core transition type. | |
104 optional SyncEnums.PageTransition page_transition = 6 [default = TYPED]; | |
105 // If this transition was triggered by a redirect, the redirect type. | |
106 optional SyncEnums.PageTransitionRedirectType redirect_type = 7; | |
107 // The unique navigation id (within this client). | |
108 optional int32 unique_id = 8; | |
109 // Timestamp for when this navigation last occurred (in client time). | |
110 // If the user goes back/foward in history the timestamp may refresh. | |
111 optional int64 timestamp_msec = 9; | |
112 // User used the Forward or Back button to navigate among browsing history. | |
113 optional bool navigation_forward_back = 10; | |
114 // User used the address bar to trigger this navigation. | |
115 optional bool navigation_from_address_bar = 11; | |
116 // User is navigating to the home page. | |
117 optional bool navigation_home_page = 12; | |
118 // The beginning of a navigation chain. | |
119 optional bool navigation_chain_start = 13; | |
120 // The last transition in a redirect chain. | |
121 optional bool navigation_chain_end = 14; | |
122 // The id for this navigation, which is globally unique with high | |
123 // probability. | |
124 optional int64 global_id = 15; | |
125 // Search terms extracted from the URL. | |
126 optional string search_terms = 16; | |
127 // The favicon url associated with this page. | |
128 optional string favicon_url = 17; | |
129 enum BlockedState { | |
130 STATE_ALLOWED = 1; | |
131 STATE_BLOCKED = 2; | |
132 } | |
133 // Whether access to the URL was allowed or blocked. | |
134 optional BlockedState blocked_state = 18 [default=STATE_ALLOWED]; | |
135 // A list of category identifiers for the URL. | |
136 repeated string content_pack_categories = 19; | |
137 // The status code from the last navigation. | |
138 optional int32 http_status_code = 20; | |
139 | |
140 // Referrer policy. Old, broken value. | |
141 optional int32 obsolete_referrer_policy = 21 [default = 1]; | |
142 // True if created from restored navigation entry that hasn't been loaded. | |
143 optional bool is_restored = 22; | |
144 // The chain of redirections for this navigation, from the original URL | |
145 // through the last URL that redirected. | |
146 repeated NavigationRedirect navigation_redirect = 23; | |
147 // Normally not present. | |
148 // The last URL traversed when different from the virtual_url. | |
149 optional string last_navigation_redirect_url = 24; | |
150 // Correct referrer policy. Valid enums are defined in | |
151 // third_party/WebKit/public/platform/WebReferrerPolicy.h. | |
152 optional int32 correct_referrer_policy = 25 [default = 1]; | |
153 } | |
154 | |
155 // Navigation information for a single redirection within a single navigation. | |
156 message NavigationRedirect { | |
157 // A URL that redirected while navigating to the virtual_url. | |
158 optional string url = 1; | |
159 } | |
OLD | NEW |