blob: 9c0f6fc8e24794e927affcdfeaf25fb74574d566 [file] [log] [blame]
Fady Samuelb46e0ef2018-01-30 04:48:411// Copyright 2018 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#include "cc/layers/deadline_policy.h"
6
Vladimir Levin6220cb62018-04-05 02:44:387#include <limits>
8
Fady Samuelb46e0ef2018-01-30 04:48:419namespace cc {
10
11// static
12DeadlinePolicy DeadlinePolicy::UseExistingDeadline() {
13 return DeadlinePolicy(Type::kUseExistingDeadline);
14}
15
16// static
17DeadlinePolicy DeadlinePolicy::UseDefaultDeadline() {
18 return DeadlinePolicy(Type::kUseDefaultDeadline);
19}
20
21// static
22DeadlinePolicy DeadlinePolicy::UseSpecifiedDeadline(
23 uint32_t deadline_in_frames) {
Vladimir Levin6220cb62018-04-05 02:44:3824 return DeadlinePolicy(Type::kUseSpecifiedDeadline, deadline_in_frames);
Fady Samuelb46e0ef2018-01-30 04:48:4125}
26
Vladimir Levin6220cb62018-04-05 02:44:3827// static
28DeadlinePolicy DeadlinePolicy::UseInfiniteDeadline() {
29 return DeadlinePolicy(Type::kUseInfiniteDeadline,
30 std::numeric_limits<uint32_t>::max());
Fady Samuelb46e0ef2018-01-30 04:48:4131}
32
Vladimir Levin6220cb62018-04-05 02:44:3833DeadlinePolicy::DeadlinePolicy(Type policy_type,
34 base::Optional<uint32_t> deadline_in_frames)
35 : policy_type_(policy_type), deadline_in_frames_(deadline_in_frames) {}
Fady Samuelb46e0ef2018-01-30 04:48:4136
37DeadlinePolicy::DeadlinePolicy(const DeadlinePolicy& other) = default;
38
39} // namespace cc