serenity/Ladybird/Types.h
Shannon Booth 5bf34ecc32 Ladybird: Add an option to enable internals object outside of test mode
Sometimes I like to play around with running Ladybird tests using full
blown Ladybird instead of just headless browser to interactively mess
around with the test page. One problem with this is that the internals
object is not exposed in this mode.

This commit supports this usecase by adding an option to specifically
expose the internals object without needing to run headless-browser
in test mode.
2024-04-22 08:10:08 +02:00

67 lines
1.2 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
};
enum class ExposeInternalsObject {
No,
Yes
};
struct WebContentOptions {
String command_line;
String executable_path;
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 };
ExposeInternalsObject expose_internals_object { ExposeInternalsObject::No };
};
}