mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-08-16 17:00:35 +03:00
This adds a `--experimental-cpu-transforms` option to Ladybird and WebContent (which defaults to false/off). When enabled the AffineCommandExecutorCPU will be used to handle painting transformed stacking contexts (i.e. stacking contexts where the transform is something other than a simple translation). The regular command executor will still handle the non-transformed cases. This is hidden under a flag as the `AffineCommandExecutorCPU` is very incomplete now. It missing support for clipping, text, and other basic commands. Once most common commands have been implemented this flag will be removed.
73 lines
1.4 KiB
C++
73 lines
1.4 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 EnableExperimentalCPUTransforms {
|
|
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 };
|
|
EnableExperimentalCPUTransforms enable_experimental_cpu_transforms { EnableExperimentalCPUTransforms::No };
|
|
IsLayoutTestMode is_layout_test_mode { IsLayoutTestMode::No };
|
|
UseLagomNetworking use_lagom_networking { UseLagomNetworking::Yes };
|
|
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 };
|
|
};
|
|
|
|
}
|