OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // Contains the BlimpMessage proto which frames all messages sent over Blimp | 5 // Contains the BlimpMessage proto which frames all messages sent over Blimp |
6 // subchannels. BlimpMessage protos are serialized and transmitted over the | 6 // subchannels. BlimpMessage protos are serialized and transmitted over the |
7 // wire to the Blimplet server. | 7 // wire to the Blimplet server. |
8 // | 8 // |
9 // Each BlimpMessage has a few identifying fields which provide the browser | 9 // Each BlimpMessage has a few identifying fields which provide the browser |
10 // session and tab ID as context. The message details are stored in a | 10 // session and tab ID as context. The message details are stored in a |
11 // feature-specific field (see field IDs 1000 and onward). | 11 // feature-specific field (see field IDs 1000 and onward). |
12 // The |type| field tells the receiving end how the BlimpMessage should | 12 // The |type| field tells the receiving end how the BlimpMessage should |
13 // be unpacked and which component it should be routed to. | 13 // be unpacked and which component it should be routed to. |
14 // | 14 // |
15 // CONVENTIONS: | 15 // CONVENTIONS: |
16 // * A BlimpMessage can contain only one feature message. | 16 // * A BlimpMessage can contain only one feature message. |
17 // * Feature message protos are placed in their own files. | 17 // * Feature message protos are placed in their own files. |
18 // * Features are applied to unidirectional channels. Client->server and | 18 // * Features are applied to unidirectional channels. Client->server and |
19 // server->client channels for a component should be broken out as distinct | 19 // server->client channels for a component should be broken out as distinct |
20 // features, even if they are conceptually similar. | 20 // features, even if they are conceptually similar. |
21 | 21 |
22 syntax = "proto2"; | 22 syntax = "proto2"; |
23 | 23 |
24 option optimize_for = LITE_RUNTIME; | 24 option optimize_for = LITE_RUNTIME; |
25 | 25 |
| 26 import "blob_channel.proto"; |
26 import "compositor.proto"; | 27 import "compositor.proto"; |
27 import "ime.proto"; | 28 import "ime.proto"; |
28 import "input.proto"; | 29 import "input.proto"; |
29 import "navigation.proto"; | 30 import "navigation.proto"; |
30 import "render_widget.proto"; | 31 import "render_widget.proto"; |
31 import "protocol_control.proto"; | 32 import "protocol_control.proto"; |
32 import "settings.proto"; | 33 import "settings.proto"; |
33 import "tab_control.proto"; | 34 import "tab_control.proto"; |
34 | 35 |
35 package blimp; | 36 package blimp; |
(...skipping 18 matching lines...) Expand all Loading... |
54 // Feature-specific messages follow. | 55 // Feature-specific messages follow. |
55 oneof feature { | 56 oneof feature { |
56 TabControlMessage tab_control = 40; | 57 TabControlMessage tab_control = 40; |
57 NavigationMessage navigation = 41; | 58 NavigationMessage navigation = 41; |
58 RenderWidgetMessage render_widget = 42; | 59 RenderWidgetMessage render_widget = 42; |
59 InputMessage input = 43; | 60 InputMessage input = 43; |
60 CompositorMessage compositor = 44; | 61 CompositorMessage compositor = 44; |
61 ProtocolControlMessage protocol_control = 45; | 62 ProtocolControlMessage protocol_control = 45; |
62 ImeMessage ime = 46; | 63 ImeMessage ime = 46; |
63 SettingsMessage settings = 47; | 64 SettingsMessage settings = 47; |
| 65 BlobChannelMessage blob_channel = 48; |
64 } | 66 } |
65 } | 67 } |
66 | 68 |
OLD | NEW |