/* * Copyright (c) 2022, Ben Abraham * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Web::HTML { // NOTE: Temporary class to handle console messages from inside Workers class WorkerDebugConsoleClient final : public JS::ConsoleClient { GC_CELL(WorkerDebugConsoleClient, JS::ConsoleClient); GC_DECLARE_ALLOCATOR(WorkerDebugConsoleClient); public: virtual void clear() override; virtual void end_group() override; virtual JS::ThrowCompletionOr printer(JS::Console::LogLevel log_level, PrinterArguments arguments) override; private: WorkerDebugConsoleClient(JS::Console& console); int m_group_stack_depth { 0 }; }; } // namespace Web::HTML