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

Unified Diff: cc/proto/layer_tree_host.proto

Issue 1519293002: Add support for (de)serializing LayerTreeHost. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added framework for (de)serializing Created 5 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/proto/BUILD.gn ('k') | cc/trees/layer_tree_host.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/proto/layer_tree_host.proto
diff --git a/cc/proto/layer_tree_host.proto b/cc/proto/layer_tree_host.proto
new file mode 100644
index 0000000000000000000000000000000000000000..1481d840326948ddce98dd961be2b95793017e8c
--- /dev/null
+++ b/cc/proto/layer_tree_host.proto
@@ -0,0 +1,123 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+syntax = "proto2";
+
+import "layer.proto";
+import "layer_selection_bound.proto";
+import "layer_tree_settings.proto";
+import "layer_tree_debug_state.proto";
+import "property_tree.proto";
+import "size.proto";
+import "vector2df.proto";
+
+package cc.proto;
+
+option optimize_for = LITE_RUNTIME;
+
+message LayerTreeHost {
+ // struct UIResourceClientData {
+ // UIResourceClient* client;
+ // gfx::Size size;
+ //};
+
+ // typedef base::hash_map<UIResourceId, UIResourceClientData>
+ // UIResourceClientMap;
+ // UIResourceClientMap ui_resource_client_map_;
+ // int next_ui_resource_id_;
+
+ // typedef std::vector<UIResourceRequest> UIResourceRequestQueue;
+ // UIResourceRequestQueue ui_resource_request_queue_;
+
+ optional bool needs_full_tree_sync = 1;
+ optional bool needs_meta_info_recomputation = 2;
+
+ // LayerTreeHostClient* client_;
vmpstr 2015/12/18 19:15:13 These are created on the client side independently
nyquist 2016/01/11 20:05:35 Yes.
+ // scoped_ptr<Proxy> proxy_;
+ // scoped_ptr<TaskRunnerProvider> task_runner_provider_;
+
+ optional int32 source_frame_number = 3;
+ optional int32 meta_information_sequence_number = 4;
+ // for logging, so skip for now
+ // scoped_ptr<RenderingStatsInstrumentation> rendering_stats_instrumentation_;
+
+ // scoped_ptr<OutputSurface> new_output_surface_;
vmpstr 2015/12/18 19:15:13 The server shouldn't have these, right?
nyquist 2016/01/11 20:05:35 Yeah, the output surface should only be on the cli
+ // scoped_ptr<OutputSurface> current_output_surface_;
+ // bool output_surface_lost_;
+
+ optional LayerNode root_layer = 5;
+ optional LayerUpdate layer_updates = 6;
+ // LayerNode
vmpstr 2015/12/18 19:15:13 What are these?
nyquist 2016/01/11 20:05:35 Just comments about what the proto message names a
+ // LayerUpdate
+
+ optional LayerNode hud_layer = 7;
+ optional LayerUpdate hud_layer_updates = 8;
+ // LayerNode
+ // LayerUpdate
+
+ // base::WeakPtr<InputHandler> input_handler_weak_ptr_;
+
+ optional LayerTreeSettings settings = 9;
+ // kind of together with hud layer things
+ optional LayerTreeDebugState debug_state = 10;
+ optional Size device_viewport_size = 11;
+ optional bool top_controls_shrink_blink_size = 12;
+ optional float top_controls_height = 13;
+ optional float top_controls_shown_ratio = 14;
+ optional float device_scale_factor = 15;
+ optional float painted_device_scale_factor = 16;
+
+ // don't really need this, so skip. we'll handle this on the client.
+ // bool visible_;
vmpstr 2015/12/18 19:15:13 I'd want to verify if this is possible to switch f
nyquist 2016/01/11 20:05:35 This will be sent separately from the client to th
+
+ optional float page_scale_factor = 17;
+ optional float min_page_scale_factor = 18;
+ optional float max_page_scale_factor = 19;
+ optional Vector2dF elastic_overscroll = 20;
+ optional bool has_gpu_rasterization_trigger = 21;
+ optional bool content_is_suitable_for_gpu_rasterization = 22;
+ optional bool gpu_rasterization_histogram_recorded = 23;
vmpstr 2015/12/18 19:15:13 This is a bit awkward to serialize. Either the cli
nyquist 2016/01/11 20:05:35 Agreed. I'll remove it.
+
+ optional uint32 background_color = 24; /* SkColor */
+ optional bool has_transparent_background = 25;
+
+ // skip animations for now
vmpstr 2015/12/18 19:15:13 This looks iffy. Why do we skip animations?
nyquist 2016/01/11 20:05:35 We don't know how to serialize animations yet. :-(
+ // scoped_ptr<AnimationRegistrar> animation_registrar_;
+ // scoped_ptr<AnimationHost> animation_host_;
+
+ // scoped_ptr<PendingPageScaleAnimation> pending_page_scale_animation_;
+
+ // If set, then page scale animation has completed, but the client hasn't been
+ // notified about it yet.
+ // bool did_complete_scale_animation_;
+
+ optional bool in_paint_layer_contents = 26;
+
+ optional int32 id = 27;
+ optional bool next_commit_forces_redraw = 28;
+
+ optional int32 overscroll_elasticity_layer_id = 29;
+ optional int32 page_scale_layer = 30;
+ optional int32 inner_viewport_scroll_layer = 31;
+ optional int32 outer_viewport_scroll_layer = 32;
+
+ optional LayerSelection selection = 33;
+
+ // SharedBitmapManager* shared_bitmap_manager_;
+ // gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager_;
+ // TaskGraphRunner* task_graph_runner_;
+
+ // promise to ignore it for now.
vmpstr 2015/12/18 19:15:13 :P what is this used for?
nyquist 2016/01/11 20:05:35 perf measurements apparently.
+ // std::vector<scoped_ptr<SwapPromise>> swap_promise_list_;
+ // std::set<SwapPromiseMonitor*> swap_promise_monitor_;
+
+ optional PropertyTrees property_trees = 34;
+
+ // part of the root layer and layer updates
+ // typedef base::hash_map<int, Layer*> LayerIdMap;
+ // LayerIdMap layer_id_map_;
+
+ optional uint32 surface_id_namespace = 35;
+ optional uint32 next_surface_sequence = 36;
+}
« no previous file with comments | « cc/proto/BUILD.gn ('k') | cc/trees/layer_tree_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698