1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-29 03:52:12 +00:00

LibWeb: Add partially functioning Worker API

Add a partial implementation of HTML5 Worker API.
Messages can be sent from the inner context externally.
This commit is contained in:
Ben Abraham 2022-02-17 13:31:09 +01:00 committed by Andreas Kling
parent b6c3fad078
commit ae346cff6b
15 changed files with 659 additions and 3 deletions

View file

@ -0,0 +1,32 @@
/*
* Copyright (c) 2022, Ben Abraham <ben.d.abraham@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/RefCounted.h>
#include <AK/Weakable.h>
#include <LibJS/Console.h>
namespace Web::HTML {
// NOTE: Temporary class to handle console messages from inside Workers
class WorkerDebugConsoleClient final
: public JS::ConsoleClient
, public RefCounted<WorkerDebugConsoleClient>
, public Weakable<WorkerDebugConsoleClient> {
public:
WorkerDebugConsoleClient(JS::Console& console);
virtual void clear() override;
virtual void end_group() override;
virtual JS::ThrowCompletionOr<JS::Value> printer(JS::Console::LogLevel log_level, PrinterArguments arguments) override;
private:
int m_group_stack_depth { 0 };
};
} // namespace Web::HTML