/* * Copyright (c) 2021, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::RequestIdleCallback { class IdleDeadline final : public RefCounted , public Bindings::Wrappable { public: using WrapperType = Bindings::IdleDeadlineWrapper; using AllowOwnPtr = TrueType; static NonnullRefPtr create(double time_remaining, bool did_timeout); virtual ~IdleDeadline() override; double time_remaining() const { return m_time_remaining; } bool did_timeout() const { return m_did_timeout; } private: IdleDeadline(double time_remaining, bool did_timeout); double m_time_remaining { 0 }; bool m_did_timeout { false }; }; }