// 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;
}