serenity/Ladybird/Types.h
Andreas Kling f4f4f7781d Ladybird+LibWeb: Add optional IDL call tracing
When launched with the new --enable-idl-tracing option, we now log
every call to web platform APIs declared via IDL, along with the
arguments passed.

This can be very helpful when trying to figure out what a site is
doing, especially if it's not doing what you'd expect.
2024-04-16 16:57:06 +02:00

62 lines
1.1 KiB
C++

/*
* Copyright (c) 2023, Andrew Kaster <akaster@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/String.h>
namespace Ladybird {
enum class EnableCallgrindProfiling {
No,
Yes
};
enum class EnableGPUPainting {
No,
Yes
};
enum class IsLayoutTestMode {
No,
Yes
};
enum class UseLagomNetworking {
No,
Yes
};
enum class WaitForDebugger {
No,
Yes
};
enum class LogAllJSExceptions {
No,
Yes
};
enum class EnableIDLTracing {
No,
Yes
};
struct WebContentOptions {
String command_line;
String executable_path;
Vector<ByteString> certificates;
EnableCallgrindProfiling enable_callgrind_profiling { EnableCallgrindProfiling::No };
EnableGPUPainting enable_gpu_painting { EnableGPUPainting::No };
IsLayoutTestMode is_layout_test_mode { IsLayoutTestMode::No };
UseLagomNetworking use_lagom_networking { UseLagomNetworking::No };
WaitForDebugger wait_for_debugger { WaitForDebugger::No };
LogAllJSExceptions log_all_js_exceptions { LogAllJSExceptions::No };
EnableIDLTracing enable_idl_tracing { EnableIDLTracing::No };
};
}