OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2016 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 syntax = "proto2"; | |
6 | |
7 option optimize_for = LITE_RUNTIME; | |
8 | |
9 import "layer_tree_settings.proto"; | |
10 | |
11 package cc.proto; | |
12 | |
13 // Control messages sent to the impl side of the compositor (client) from the | |
14 // main side of the compositor (server). | |
15 // Note: Unless specified in a comment, all fields in a message are required, | |
16 // even if listed as optional. | |
17 message CompositorMessageToImpl { | |
18 enum Type { | |
19 // The enum values which are unknown get mapped to the default value, which | |
20 // is zero. This can happen with when the protocol version skewing is | |
21 // different on the client and server. | |
22 // Ignore the messages with type UNKNOWN. | |
23 // see crbug/559338. | |
24 UNKNOWN = 0; | |
25 | |
26 // Client Initialization: When the remote server starts up it sends a | |
27 // CompositorMessageToImpl of type INITIALIZE_IMPL to the client. This | |
28 // message should be processed by the embedder of the client compositor to | |
29 // create the Remote Client LayerTreeHost. The compositor protocol | |
30 // guarantees that this will be the first message sent to the client. No | |
31 // messages can be sent from the client before the server is started. | |
32 INITIALIZE_IMPL = 1; | |
33 | |
34 // Client Shutdown: When the remote server is shutting down it sends a | |
35 // CompositorMessageToImpl of type CLOSE_IMPL to the client. The message | |
36 // should be processed by the embedder of the client compositor to destroy | |
37 // the Remote Client LayerTreeHost. This is guaranteed to be the last | |
38 // message sent to the client. No messages can be sent from the client after | |
39 // the server has been shutdown. | |
40 CLOSE_IMPL = 2; | |
41 | |
42 // Informs the client that a fling animation on the server has stopped. | |
43 MAIN_THREAD_HAS_STOPPED_FLINGING_ON_IMPL = 3; | |
44 } | |
45 | |
46 optional Type message_type = 1; | |
47 | |
48 // Only one of the following fields will be set per CompositorMessageToImpl. | |
ericrk
2016/01/20 22:32:29
To make sure I'm not misunderstanding - there will
Khushal
2016/01/22 01:03:24
Yes. For message types like, BEGIN_MAIN_FRAME_ABOR
| |
49 | |
50 // Set for message Type::InitializeImpl. | |
51 optional InitializeImpl initialize_impl_message = 2; | |
52 } | |
53 | |
54 // The embedder of the remote client compositor should process the | |
55 // InitializeImpl message to retrieve the LayerTreeSettings sent from the | |
56 // server. The settings sent from the server may be modified by the embedder. | |
57 message InitializeImpl { | |
58 optional LayerTreeSettings layer_tree_settings = 1; | |
59 } | |
OLD | NEW |