Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1252)

Side by Side Diff: blimp/common/proto/blimp_message.proto

Issue 1970463004: Blimp: Add BlobChannel Helium messages and delegate impls. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: haibinlu feedback Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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;
36 37
37 message BlimpMessage { 38 message BlimpMessage {
38 enum Type { 39 enum Type {
39 UNKNOWN = 0; 40 UNKNOWN = 0;
40 TAB_CONTROL = 1; 41 TAB_CONTROL = 1;
41 NAVIGATION = 2; 42 NAVIGATION = 2;
42 RENDER_WIDGET = 3; 43 RENDER_WIDGET = 3;
43 INPUT = 4; 44 INPUT = 4;
44 COMPOSITOR = 5; 45 COMPOSITOR = 5;
45 PROTOCOL_CONTROL = 6; 46 PROTOCOL_CONTROL = 6;
46 IME = 7; 47 IME = 7;
47 SETTINGS = 8; 48 SETTINGS = 8;
49 BLOB_CHANNEL = 9;
48 } 50 }
49 51
50 // Sequence number of this message, used for message acknowledgement. 52 // Sequence number of this message, used for message acknowledgement.
51 // The sender may omit this value if it is exactly one higher than the 53 // The sender may omit this value if it is exactly one higher than the
52 // message that was previously sent. 54 // message that was previously sent.
53 optional int64 message_id = 1; 55 optional int64 message_id = 1;
54 56
55 // Identifies the feature type of this message. 57 // Identifies the feature type of this message.
56 // The feature-specific contents are contained in optional fields of the same 58 // The feature-specific contents are contained in optional fields of the same
57 // name (example: use |compositor| field for type=COMPOSITOR.) 59 // name (example: use |compositor| field for type=COMPOSITOR.)
(...skipping 15 matching lines...) Expand all
73 // TODO(kmarshall): use a 'oneof' union when it's supported in Chromium. See 75 // TODO(kmarshall): use a 'oneof' union when it's supported in Chromium. See
74 // crbug.com/570371. 76 // crbug.com/570371.
75 optional TabControlMessage tab_control = 1000; 77 optional TabControlMessage tab_control = 1000;
76 optional NavigationMessage navigation = 1001; 78 optional NavigationMessage navigation = 1001;
77 optional RenderWidgetMessage render_widget = 1002; 79 optional RenderWidgetMessage render_widget = 1002;
78 optional InputMessage input = 1003; 80 optional InputMessage input = 1003;
79 optional CompositorMessage compositor = 1004; 81 optional CompositorMessage compositor = 1004;
80 optional ProtocolControlMessage protocol_control = 1005; 82 optional ProtocolControlMessage protocol_control = 1005;
81 optional ImeMessage ime = 1006; 83 optional ImeMessage ime = 1006;
82 optional SettingsMessage settings = 1007; 84 optional SettingsMessage settings = 1007;
85 optional BlobChannelMessage blob_channel = 1008;
83 } 86 }
84 87
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698