summaryrefslogtreecommitdiffstats
path: root/cc/proto/begin_main_frame_and_commit_state.proto
blob: 9881131273c6685156332adb833ce77cb3dae589 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Copyright 2016 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 "vector2d.proto";
import "vector2df.proto";

option optimize_for = LITE_RUNTIME;

package cc.proto;

message ScrollUpdateInfo {
  optional int64 layer_id = 1;
  optional Vector2d scroll_delta = 2;
}

message ScrollAndScaleSet {
  repeated ScrollUpdateInfo scrolls = 1;
  optional float page_scale_delta = 2;
  optional Vector2dF elastic_overscroll_delta = 3;
  optional float top_controls_delta = 4;

  // TODO(khushalsagar): Do we need to send swap promises?
  // See crbug/576999.
}

message BeginFrameArgs {
  enum BeginFrameArgsType {
    INVALID = 1;
    NORMAL = 2;
    MISSED = 3;
    BEGIN_FRAME_ARGS_TYPE_MAX = 100;
  }

  optional int64 frame_time = 1;
  optional int64 deadline = 2;
  optional int64 interval = 3;
  optional BeginFrameArgsType type = 4;
  optional bool on_critical_path = 5;
}

message BeginMainFrameAndCommitState {
  optional int64 begin_frame_id = 1;
  optional BeginFrameArgs begin_frame_args = 2;
  optional ScrollAndScaleSet scroll_info = 3;
  optional int64 memory_allocation_limit_bytes = 4;
  optional bool evicted_ui_resources = 5;
}