/* * Copyright (c) 2021, Andreas Kling * Copyright (c) 2022, the SerenityOS developers. * * 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(bool did_timeout = false); virtual ~IdleDeadline() override; double time_remaining() const; bool did_timeout() const { return m_did_timeout; } private: IdleDeadline(bool did_timeout); bool m_did_timeout { false }; }; }