1 // 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 7 #include <limits> 8 9 namespace cc { 10 11 // static UseExistingDeadline()12DeadlinePolicy DeadlinePolicy::UseExistingDeadline() { 13 return DeadlinePolicy(Type::kUseExistingDeadline); 14 } 15 16 // static UseDefaultDeadline()17DeadlinePolicy DeadlinePolicy::UseDefaultDeadline() { 18 return DeadlinePolicy(Type::kUseDefaultDeadline); 19 } 20 21 // static UseSpecifiedDeadline(uint32_t deadline_in_frames)22DeadlinePolicy DeadlinePolicy::UseSpecifiedDeadline( 23 uint32_t deadline_in_frames) { 24 return DeadlinePolicy(Type::kUseSpecifiedDeadline, deadline_in_frames); 25 } 26 27 // static UseInfiniteDeadline()28DeadlinePolicy DeadlinePolicy::UseInfiniteDeadline() { 29 return DeadlinePolicy(Type::kUseInfiniteDeadline, 30 std::numeric_limits<uint32_t>::max()); 31 } 32 DeadlinePolicy(Type policy_type,base::Optional<uint32_t> deadline_in_frames)33DeadlinePolicy::DeadlinePolicy(Type policy_type, 34 base::Optional<uint32_t> deadline_in_frames) 35 : policy_type_(policy_type), deadline_in_frames_(deadline_in_frames) {} 36 37 DeadlinePolicy::DeadlinePolicy(const DeadlinePolicy& other) = default; 38 39 } // namespace cc 40