#pragma once #include "JavaScriptCore/ConsoleClient.h" #include "wtf/Vector.h" #include "wtf/text/WTFString.h" namespace Inspector { class InspectorConsoleAgent; class InspectorDebuggerAgent; class InspectorScriptProfilerAgent; } // namespace Inspector namespace Zig { using InspectorConsoleAgent = Inspector::InspectorConsoleAgent; using InspectorDebuggerAgent = Inspector::InspectorDebuggerAgent; using InspectorScriptProfilerAgent = Inspector::InspectorScriptProfilerAgent; using namespace JSC; class ConsoleClient final : public JSC::ConsoleClient { WTF_MAKE_FAST_ALLOCATED; public: ~ConsoleClient() final {} ConsoleClient(void* client) : JSC::ConsoleClient() { m_client = client; } static bool logToSystemConsole(); static void setLogToSystemConsole(bool); void setDebuggerAgent(InspectorDebuggerAgent* agent) { m_debuggerAgent = agent; } void setPersistentScriptProfilerAgent(InspectorScriptProfilerAgent* agent) { m_scriptProfilerAgent = agent; } void* m_client; private: void messageWithTypeAndLevel(MessageType, MessageLevel, JSC::JSGlobalObject*, Ref&&); void count(JSC::JSGlobalObject*, const String& label); void countReset(JSC::JSGlobalObject*, const String& label); void profile(JSC::JSGlobalObject*, const String& title); void profileEnd(JSC::JSGlobalObject*, const String& title); void takeHeapSnapshot(JSC::JSGlobalObject*, const String& title); void time(JSC::JSGlobalObject*, const String& label); void timeLog(JSC::JSGlobalObject*, const String& label, Ref&&); void timeEnd(JSC::JSGlobalObject*, const String& label); void timeStamp(JSC::JSGlobalObject*, Ref&&); void record(JSC::JSGlobalObject*, Ref&&); void recordEnd(JSC::JSGlobalObject*, Ref&&); void screenshot(JSC::JSGlobalObject*, Ref&&); void warnUnimplemented(const String& method); void internalAddMessage(MessageType, MessageLevel, JSC::JSGlobalObject*, Ref&&); void startConsoleProfile(); void stopConsoleProfile(); Inspector::InspectorConsoleAgent* m_consoleAgent; Inspector::InspectorDebuggerAgent* m_debuggerAgent { nullptr }; Inspector::InspectorScriptProfilerAgent* m_scriptProfilerAgent { nullptr }; Vector m_profiles; bool m_profileRestoreBreakpointActiveValue { false }; }; } // namespace Zig e='dave/lol'>dave/lol Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-06-22change the directory structurejarred/renameGravatar Jarred Sumner 1-263/+0
2022-06-22maybe improve CPP build timeGravatar Jarred Sumner 1-24/+37
2022-06-22Move builtins to src/javascript/jsc/builtinsGravatar Jarred Sumner 72-6/+2285
2022-06-22Tweak test runner outputGravatar Jarred Sumner 1-90/+44
2022-06-22Cleanup some testsGravatar Jarred Sumner 2-8/+46
2022-06-22Update Dockerfile.baseGravatar Jarred Sumner 1-1/+1
2022-06-22Update WebKitGravatar Jarred Sumner 1-0/+0
2022-06-22cleanup websocket testGravatar Jarred Sumner 1-3/+6
2022-06-22Fix `WebSocket` when HTTP server is not runningGravatar Jarred Sumner 14-38/+103
2022-06-22Update build-idGravatar Jarred Sumner 1-1/+1
2022-06-22cleanupGravatar Jarred Sumner 6-719/+3
2022-06-22Update index.d.tsGravatar Jarred Sumner 1-0/+1
2022-06-22types for `bun:jsc`Gravatar Jarred Sumner 2-1/+37
2022-06-22Slightly customize the `events` polyfill so it uses ESMGravatar Jarred Sumner 1-1/+522
2022-06-22Fix memory bugs in escapeHTML & arrayBufferToStringGravatar Jarred Sumner 1-65/+61