| 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 message SessionSpecifics { | |
| 18 // Unique id for the client. | |
| 19 optional string session_tag = 1; | |
| 20 optional SessionHeader header = 2; | |
| 21 optional SessionTab tab = 3; | |
| 22 } | |
| 23 // Properties of session sync objects. | |
| 24 message SessionHeader { | |
| 25 // Each session is composed of windows. | |
| 26 repeated SessionWindow window = 2; | |
| 27 // A non-unique but human-readable name to describe this client. | |
| 28 optional string client_name = 3; | |
| 29 // The type of device. | |
| 30 enum DeviceType { | |
| 31 TYPE_WIN = 1; | |
| 32 TYPE_MAC = 2; | |
| 33 TYPE_LINUX = 3; | |
| 34 TYPE_CROS = 4; | |
| 35 TYPE_OTHER = 5; | |
| 36 } | |
| 37 optional DeviceType device_type = 4; | |
| 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 message SessionTab { | |
| 55 // Unique (to the owner) id for this tab. | |
| 56 optional int32 tab_id = 1; | |
| 57 // The unique id for the window this tab belongs to. | |
| 58 optional int32 window_id = 2; | |
| 59 // Visual index of the tab within its window. There may be gaps in these | |
| 60 // values. | |
| 61 optional int32 tab_visual_index = 3 [default = -1]; | |
| 62 // Identifies the index of the current navigation in navigations. For | |
| 63 // example, if this is 2 it means the current navigation is navigations[2]. | |
| 64 optional int32 current_navigation_index = 4 [default = -1]; | |
| 65 // True if the tab is pinned. | |
| 66 optional bool pinned = 5 [default = false]; | |
| 67 // If non-empty, this tab is an app tab and this is the id of the extension. | |
| 68 optional string extension_app_id = 6; | |
| 69 // Tabs are navigated, and the navigation data is here. | |
| 70 repeated TabNavigation navigation = 7; | |
| 71 } | |
| 72 message TabNavigation { | |
| 73 // The index in the NavigationController. If this is -1, it means this | |
| 74 // TabNavigation is bogus. | |
| 75 optional int32 index = 1 [default = -1]; | |
| 76 // The virtual URL, when nonempty, will override the actual URL of the page | |
| 77 // when we display it to the user. | |
| 78 optional string virtual_url = 2; | |
| 79 // The referring URL, which can be empty. | |
| 80 optional string referrer = 3; | |
| 81 // The title of the page. | |
| 82 optional string title = 4; | |
| 83 // Content state is an opaque blob created by WebKit that represents the | |
| 84 // state of the page. This includes form entries and scroll position for each | |
| 85 // frame. | |
| 86 optional string state = 5; | |
| 87 // Types of transitions between pages. | |
| 88 enum PageTransition { | |
| 89 LINK = 0; | |
| 90 TYPED = 1; | |
| 91 AUTO_BOOKMARK = 2; | |
| 92 AUTO_SUBFRAME = 3; | |
| 93 MANUAL_SUBFRAME = 4; | |
| 94 GENERATED = 5; | |
| 95 START_PAGE = 6; | |
| 96 FORM_SUBMIT = 7; | |
| 97 RELOAD = 8; | |
| 98 KEYWORD = 9; | |
| 99 KEYWORD_GENERATED = 10; | |
| 100 CHAIN_START = 12; | |
| 101 CHAIN_END = 13; | |
| 102 } | |
| 103 // These qualifiers further define the transition. | |
| 104 enum PageTransitionQualifier { | |
| 105 CLIENT_REDIRECT = 1; | |
| 106 SERVER_REDIRECT = 2; | |
| 107 } | |
| 108 optional PageTransition page_transition = 6 [default = TYPED]; | |
| 109 optional PageTransitionQualifier navigation_qualifier = 7; | |
| 110 } | |
| 111 | |
| OLD | NEW |