Serenity Operating System
at master 32 lines 804 B view raw
1/* 2 * Copyright (c) 2022, Ben Abraham <ben.d.abraham@gmail.com> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <AK/RefCounted.h> 10#include <AK/Weakable.h> 11#include <LibJS/Console.h> 12 13namespace Web::HTML { 14 15// NOTE: Temporary class to handle console messages from inside Workers 16 17class WorkerDebugConsoleClient final 18 : public JS::ConsoleClient 19 , public RefCounted<WorkerDebugConsoleClient> 20 , public Weakable<WorkerDebugConsoleClient> { 21public: 22 WorkerDebugConsoleClient(JS::Console& console); 23 24 virtual void clear() override; 25 virtual void end_group() override; 26 virtual JS::ThrowCompletionOr<JS::Value> printer(JS::Console::LogLevel log_level, PrinterArguments arguments) override; 27 28private: 29 int m_group_stack_depth { 0 }; 30}; 31 32} // namespace Web::HTML