mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-11 13:36:13 +03:00
Userland: Remove some SerenityOS checks
This commit is contained in:
parent
5d2095279d
commit
c169e43e13
Notes:
sideshowbarker
2024-07-17 08:13:43 +09:00
Author: https://github.com/circl-lastname Commit: https://github.com/LadybirdBrowser/ladybird/commit/c169e43e13 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/115
@ -38,7 +38,7 @@ public:
|
||||
private:
|
||||
CGLContextObj m_context;
|
||||
};
|
||||
#elif !defined(AK_OS_SERENITY)
|
||||
#else
|
||||
class EGLContextWrapper : public Context {
|
||||
public:
|
||||
EGLContextWrapper(EGLContext context)
|
||||
@ -96,7 +96,7 @@ static ErrorOr<NonnullOwnPtr<CGLContextWrapper>> make_context_cgl()
|
||||
|
||||
return make<CGLContextWrapper>(context);
|
||||
}
|
||||
#elif !defined(AK_OS_SERENITY)
|
||||
#else
|
||||
|
||||
static StringView format_egl_error(EGLint error)
|
||||
{
|
||||
|
@ -9,9 +9,7 @@
|
||||
#include <AK/Platform.h>
|
||||
#include <LibCore/ThreadedPromise.h>
|
||||
|
||||
#if defined(AK_OS_SERENITY)
|
||||
# include <LibAudio/PlaybackStreamSerenity.h>
|
||||
#elif defined(HAVE_PULSEAUDIO)
|
||||
#if defined(HAVE_PULSEAUDIO)
|
||||
# include <LibAudio/PlaybackStreamPulseAudio.h>
|
||||
#elif defined(AK_OS_MACOS)
|
||||
# include <LibAudio/PlaybackStreamAudioUnit.h>
|
||||
@ -23,9 +21,7 @@ ErrorOr<NonnullRefPtr<PlaybackStream>> PlaybackStream::create(OutputState initia
|
||||
{
|
||||
VERIFY(data_request_callback);
|
||||
// Create the platform-specific implementation for this stream.
|
||||
#if defined(AK_OS_SERENITY)
|
||||
return PlaybackStreamSerenity::create(initial_output_state, sample_rate, channels, target_latency_ms, move(data_request_callback));
|
||||
#elif defined(HAVE_PULSEAUDIO)
|
||||
#if defined(HAVE_PULSEAUDIO)
|
||||
return PlaybackStreamPulseAudio::create(initial_output_state, sample_rate, channels, target_latency_ms, move(data_request_callback));
|
||||
#elif defined(AK_OS_MACOS)
|
||||
return PlaybackStreamAudioUnit::create(initial_output_state, sample_rate, channels, target_latency_ms, move(data_request_callback));
|
||||
|
@ -12,9 +12,7 @@
|
||||
#include <LibFileSystem/FileSystem.h>
|
||||
#include <limits.h>
|
||||
|
||||
#if defined(AK_OS_SERENITY)
|
||||
# include <serenity.h>
|
||||
#elif !defined(AK_OS_IOS) && defined(AK_OS_BSD_GENERIC)
|
||||
#if !defined(AK_OS_IOS) && defined(AK_OS_BSD_GENERIC)
|
||||
# include <sys/disk.h>
|
||||
#elif defined(AK_OS_LINUX)
|
||||
# include <linux/fs.h>
|
||||
@ -391,11 +389,7 @@ ErrorOr<off_t> block_device_size_from_ioctl(StringView path)
|
||||
|
||||
ErrorOr<off_t> block_device_size_from_ioctl(int fd)
|
||||
{
|
||||
#if defined(AK_OS_SERENITY)
|
||||
u64 size = 0;
|
||||
TRY(Core::System::ioctl(fd, STORAGE_DEVICE_GET_SIZE, &size));
|
||||
return static_cast<off_t>(size);
|
||||
#elif defined(AK_OS_MACOS)
|
||||
#if defined(AK_OS_MACOS)
|
||||
u64 block_count = 0;
|
||||
u32 block_size = 0;
|
||||
TRY(Core::System::ioctl(fd, DKIOCGETBLOCKCOUNT, &block_count));
|
||||
|
@ -16,8 +16,7 @@
|
||||
# include <sanitizer/lsan_interface.h>
|
||||
#endif
|
||||
|
||||
// FIXME: Implement MADV_FREE and/or MADV_DONTNEED on SerenityOS.
|
||||
#if defined(AK_OS_SERENITY) || defined(AK_OS_GNU_HURD) || (!defined(MADV_FREE) && !defined(MADV_DONTNEED))
|
||||
#if defined(AK_OS_GNU_HURD) || (!defined(MADV_FREE) && !defined(MADV_DONTNEED))
|
||||
# define USE_FALLBACK_BLOCK_DEALLOCATION
|
||||
#endif
|
||||
|
||||
@ -45,20 +44,10 @@ void* BlockAllocator::allocate_block([[maybe_unused]] char const* name)
|
||||
auto* block = m_blocks.unstable_take(random_index);
|
||||
ASAN_UNPOISON_MEMORY_REGION(block, HeapBlock::block_size);
|
||||
LSAN_REGISTER_ROOT_REGION(block, HeapBlock::block_size);
|
||||
#ifdef AK_OS_SERENITY
|
||||
if (set_mmap_name(block, HeapBlock::block_size, name) < 0) {
|
||||
perror("set_mmap_name");
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
#endif
|
||||
return block;
|
||||
}
|
||||
|
||||
#ifdef AK_OS_SERENITY
|
||||
auto* block = (HeapBlock*)serenity_mmap(nullptr, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_RANDOMIZED | MAP_PRIVATE, -1, 0, HeapBlock::block_size, name);
|
||||
#else
|
||||
auto* block = (HeapBlock*)mmap(nullptr, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
|
||||
#endif
|
||||
VERIFY(block != MAP_FAILED);
|
||||
LSAN_REGISTER_ROOT_REGION(block, HeapBlock::block_size);
|
||||
return block;
|
||||
|
@ -24,20 +24,12 @@
|
||||
#include <LibJS/SafeFunction.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
#ifdef AK_OS_SERENITY
|
||||
# include <serenity.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAS_ADDRESS_SANITIZER
|
||||
# include <sanitizer/asan_interface.h>
|
||||
#endif
|
||||
|
||||
namespace JS {
|
||||
|
||||
#ifdef AK_OS_SERENITY
|
||||
static int gc_perf_string_id;
|
||||
#endif
|
||||
|
||||
// NOTE: We keep a per-thread list of custom ranges. This hinges on the assumption that there is one JS VM per thread.
|
||||
static __thread HashMap<FlatPtr*, size_t>* s_custom_ranges_for_conservative_scan = nullptr;
|
||||
static __thread HashMap<FlatPtr*, SourceLocation*>* s_safe_function_locations = nullptr;
|
||||
@ -45,11 +37,6 @@ static __thread HashMap<FlatPtr*, SourceLocation*>* s_safe_function_locations =
|
||||
Heap::Heap(VM& vm)
|
||||
: HeapBase(vm)
|
||||
{
|
||||
#ifdef AK_OS_SERENITY
|
||||
auto gc_signpost_string = "Garbage collection"sv;
|
||||
gc_perf_string_id = perf_register_string(gc_signpost_string.characters_without_null_termination(), gc_signpost_string.length());
|
||||
#endif
|
||||
|
||||
static_assert(HeapBlock::min_possible_cell_size <= 32, "Heap Cell tracking uses too much data!");
|
||||
m_size_based_cell_allocators.append(make<CellAllocator>(64));
|
||||
m_size_based_cell_allocators.append(make<CellAllocator>(96));
|
||||
@ -264,11 +251,6 @@ void Heap::collect_garbage(CollectionType collection_type, bool print_report)
|
||||
VERIFY(!m_collecting_garbage);
|
||||
TemporaryChange change(m_collecting_garbage, true);
|
||||
|
||||
#ifdef AK_OS_SERENITY
|
||||
static size_t global_gc_counter = 0;
|
||||
perf_event(PERF_EVENT_SIGNPOST, gc_perf_string_id, global_gc_counter++);
|
||||
#endif
|
||||
|
||||
Core::ElapsedTimer collection_measurement_timer;
|
||||
if (print_report)
|
||||
collection_measurement_timer.start();
|
||||
|
@ -20,15 +20,7 @@ namespace JS {
|
||||
|
||||
NonnullOwnPtr<HeapBlock> HeapBlock::create_with_cell_size(Heap& heap, CellAllocator& cell_allocator, size_t cell_size, [[maybe_unused]] char const* class_name)
|
||||
{
|
||||
#ifdef AK_OS_SERENITY
|
||||
char name[64];
|
||||
if (class_name)
|
||||
snprintf(name, sizeof(name), "LibJS: HeapBlock(%zu): %s", cell_size, class_name);
|
||||
else
|
||||
snprintf(name, sizeof(name), "LibJS: HeapBlock(%zu)", cell_size);
|
||||
#else
|
||||
char const* name = nullptr;
|
||||
#endif
|
||||
auto* block = static_cast<HeapBlock*>(cell_allocator.block_allocator().allocate_block(name));
|
||||
new (block) HeapBlock(heap, cell_allocator, cell_size);
|
||||
return NonnullOwnPtr<HeapBlock>(NonnullOwnPtr<HeapBlock>::Adopt, *block);
|
||||
|
@ -210,9 +210,6 @@ GlobalObject::~GlobalObject() = default;
|
||||
|
||||
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::gc)
|
||||
{
|
||||
#ifdef AK_OS_SERENITY
|
||||
dbgln("Forced garbage collection requested!");
|
||||
#endif
|
||||
vm.heap().collect_garbage();
|
||||
return js_undefined();
|
||||
}
|
||||
|
@ -44,9 +44,6 @@ int main(int argc, char** argv)
|
||||
if (result.is_error()) {
|
||||
auto error = result.release_error();
|
||||
warnln("\033[31;1mRuntime error\033[0m: {}", error);
|
||||
#ifdef AK_OS_SERENITY
|
||||
dbgln("\033[31;1mExiting with runtime error\033[0m: {}", error);
|
||||
#endif
|
||||
return Main::return_code_for_errors();
|
||||
}
|
||||
return result.value();
|
||||
|
@ -579,10 +579,6 @@ ErrorOr<Vector<Certificate>> DefaultRootCACertificates::load_certificates(Span<B
|
||||
ByteBuffer data;
|
||||
if (!cacert_file_or_error.is_error())
|
||||
data = TRY(cacert_file_or_error.value()->read_until_eof());
|
||||
#ifdef AK_OS_SERENITY
|
||||
else
|
||||
return cacert_file_or_error.release_error();
|
||||
#endif
|
||||
|
||||
auto user_cert_path = TRY(String::formatted("{}/.config/certs.pem", Core::StandardPaths::home_directory()));
|
||||
if (FileSystem::exists(user_cert_path)) {
|
||||
|
@ -36,10 +36,6 @@
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#ifdef AK_OS_SERENITY
|
||||
# include <serenity.h>
|
||||
#endif
|
||||
|
||||
#define STRCAT(x, y) __STRCAT(x, y)
|
||||
#define STRSTRCAT(x, y) __STRSTRCAT(x, y)
|
||||
#define __STRCAT(x, y) x #y
|
||||
@ -280,11 +276,6 @@ inline JSFileResult TestRunner::run_file_test(ByteString const& test_path)
|
||||
{
|
||||
g_currently_running_test = test_path;
|
||||
|
||||
#ifdef AK_OS_SERENITY
|
||||
auto string_id = perf_register_string(test_path.characters(), test_path.length());
|
||||
perf_event(PERF_EVENT_SIGNPOST, string_id, 0);
|
||||
#endif
|
||||
|
||||
double start_time = get_time_in_ms();
|
||||
|
||||
JS::GCPtr<JS::Realm> realm;
|
||||
@ -515,12 +506,7 @@ inline void TestRunner::print_file_result(JSFileResult const& file_result) const
|
||||
|
||||
if (!file_result.logged_messages.is_empty()) {
|
||||
print_modifiers({ FG_GRAY, FG_BOLD });
|
||||
#ifdef AK_OS_SERENITY
|
||||
outln(" ℹ Console output:");
|
||||
#else
|
||||
// This emoji has a second invisible byte after it. The one above does not
|
||||
outln(" ℹ️ Console output:");
|
||||
#endif
|
||||
print_modifiers({ CLEAR, FG_GRAY });
|
||||
for (auto& message : file_result.logged_messages)
|
||||
outln(" {}", message);
|
||||
@ -530,12 +516,7 @@ inline void TestRunner::print_file_result(JSFileResult const& file_result) const
|
||||
auto test_error = file_result.error.value();
|
||||
|
||||
print_modifiers({ FG_RED });
|
||||
#ifdef AK_OS_SERENITY
|
||||
outln(" ❌ The file failed to parse");
|
||||
#else
|
||||
// No invisible byte here, but the spacing still needs to be altered on the host
|
||||
outln(" ❌ The file failed to parse");
|
||||
#endif
|
||||
outln();
|
||||
print_modifiers({ FG_GRAY });
|
||||
for (auto& message : test_error.hint.split('\n', SplitBehavior::KeepEmpty)) {
|
||||
@ -557,19 +538,9 @@ inline void TestRunner::print_file_result(JSFileResult const& file_result) const
|
||||
print_modifiers({ FG_GRAY, FG_BOLD });
|
||||
|
||||
if (failed) {
|
||||
#ifdef AK_OS_SERENITY
|
||||
out(" ❌ Suite: ");
|
||||
#else
|
||||
// No invisible byte here, but the spacing still needs to be altered on the host
|
||||
out(" ❌ Suite: ");
|
||||
#endif
|
||||
} else {
|
||||
#ifdef AK_OS_SERENITY
|
||||
out(" ⚠ Suite: ");
|
||||
#else
|
||||
// This emoji has a second invisible byte after it. The one above does not
|
||||
out(" ⚠️ Suite: ");
|
||||
#endif
|
||||
}
|
||||
|
||||
print_modifiers({ CLEAR, FG_GRAY });
|
||||
|
@ -84,12 +84,7 @@ int main(int argc, char** argv)
|
||||
#endif
|
||||
|
||||
bool print_times = false;
|
||||
bool print_progress =
|
||||
#ifdef AK_OS_SERENITY
|
||||
true; // Use OSC 9 to print progress
|
||||
#else
|
||||
false;
|
||||
#endif
|
||||
bool print_progress = false;
|
||||
bool print_json = false;
|
||||
bool per_file = false;
|
||||
StringView specified_test_root;
|
||||
@ -139,9 +134,6 @@ int main(int argc, char** argv)
|
||||
if (!specified_test_root.is_empty()) {
|
||||
test_root = ByteString { specified_test_root };
|
||||
} else {
|
||||
#ifdef AK_OS_SERENITY
|
||||
test_root = LexicalPath::join("/home/anon/Tests"sv, ByteString::formatted("{}-tests", program_name.split_view('-').last())).string();
|
||||
#else
|
||||
char* ladybird_source_dir = getenv("LADYBIRD_SOURCE_DIR");
|
||||
if (!ladybird_source_dir) {
|
||||
warnln("No test root given, {} requires the LADYBIRD_SOURCE_DIR environment variable to be set", g_program_name);
|
||||
@ -149,7 +141,6 @@ int main(int argc, char** argv)
|
||||
}
|
||||
test_root = ByteString::formatted("{}/{}", ladybird_source_dir, g_test_root_fragment);
|
||||
common_path = ByteString::formatted("{}/Userland/Libraries/LibJS/Tests/test-common.js", ladybird_source_dir);
|
||||
#endif
|
||||
}
|
||||
if (!FileSystem::is_directory(test_root)) {
|
||||
warnln("Test root is not a directory: {}", test_root);
|
||||
@ -157,16 +148,12 @@ int main(int argc, char** argv)
|
||||
}
|
||||
|
||||
if (common_path.is_empty()) {
|
||||
#ifdef AK_OS_SERENITY
|
||||
common_path = "/home/anon/Tests/js-tests/test-common.js";
|
||||
#else
|
||||
char* ladybird_source_dir = getenv("LADYBIRD_SOURCE_DIR");
|
||||
if (!ladybird_source_dir) {
|
||||
warnln("No test root given, {} requires the LADYBIRD_SOURCE_DIR environment variable to be set", g_program_name);
|
||||
return 1;
|
||||
}
|
||||
common_path = ByteString::formatted("{}/Userland/Libraries/LibJS/Tests/test-common.js", ladybird_source_dir);
|
||||
#endif
|
||||
}
|
||||
|
||||
auto test_root_or_error = FileSystem::real_path(test_root);
|
||||
|
@ -23,12 +23,10 @@ public:
|
||||
Mutex()
|
||||
: m_lock_count(0)
|
||||
{
|
||||
#ifndef AK_OS_SERENITY
|
||||
pthread_mutexattr_t attr;
|
||||
pthread_mutexattr_init(&attr);
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||
pthread_mutex_init(&m_mutex, &attr);
|
||||
#endif
|
||||
}
|
||||
~Mutex()
|
||||
{
|
||||
@ -40,11 +38,7 @@ public:
|
||||
void unlock();
|
||||
|
||||
private:
|
||||
#ifdef AK_OS_SERENITY
|
||||
pthread_mutex_t m_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
|
||||
#else
|
||||
pthread_mutex_t m_mutex;
|
||||
#endif
|
||||
unsigned m_lock_count { 0 };
|
||||
};
|
||||
|
||||
|
@ -102,12 +102,6 @@ void Thread::start()
|
||||
&NonnullRefPtr(*this).leak_ref());
|
||||
|
||||
VERIFY(rc == 0);
|
||||
#ifdef AK_OS_SERENITY
|
||||
if (!m_thread_name.is_empty()) {
|
||||
rc = pthread_setname_np(m_tid, m_thread_name.characters());
|
||||
VERIFY(rc == 0);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void Thread::detach()
|
||||
|
@ -132,17 +132,8 @@ StringView current_time_zone()
|
||||
|
||||
ErrorOr<void> change_time_zone([[maybe_unused]] StringView time_zone)
|
||||
{
|
||||
#ifdef AK_OS_SERENITY
|
||||
TimeZoneFile time_zone_file("w");
|
||||
|
||||
if (auto new_time_zone = canonicalize_time_zone(time_zone); new_time_zone.has_value())
|
||||
return time_zone_file.write_time_zone(*new_time_zone);
|
||||
|
||||
return Error::from_string_literal("Provided time zone is not supported");
|
||||
#else
|
||||
// Do not even attempt to change the time zone of someone's host machine.
|
||||
return {};
|
||||
#endif
|
||||
}
|
||||
|
||||
ReadonlySpan<TimeZoneIdentifier> __attribute__((weak)) all_time_zones()
|
||||
|
@ -24,10 +24,6 @@
|
||||
#include <LibWeb/Platform/EventLoopPlugin.h>
|
||||
#include <LibWeb/Platform/Timer.h>
|
||||
|
||||
#ifdef AK_OS_SERENITY
|
||||
# include <serenity.h>
|
||||
#endif
|
||||
|
||||
namespace Web {
|
||||
|
||||
ResourceLoaderConnectorRequest::ResourceLoaderConnectorRequest() = default;
|
||||
@ -140,13 +136,8 @@ static ByteString sanitized_url_for_logging(URL::URL const& url)
|
||||
|
||||
static void emit_signpost(ByteString const& message, int id)
|
||||
{
|
||||
#ifdef AK_OS_SERENITY
|
||||
auto string_id = perf_register_string(message.characters(), message.length());
|
||||
perf_event(PERF_EVENT_SIGNPOST, string_id, id);
|
||||
#else
|
||||
(void)message;
|
||||
(void)id;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void store_response_cookies(Page& page, URL::URL const& url, ByteString const& set_cookie_entry)
|
||||
|
@ -48,10 +48,6 @@
|
||||
#include <WebContent/PageHost.h>
|
||||
#include <WebContent/WebContentClientEndpoint.h>
|
||||
|
||||
#ifdef AK_OS_SERENITY
|
||||
# include <pthread.h>
|
||||
#endif
|
||||
|
||||
namespace WebContent {
|
||||
|
||||
ConnectionFromClient::ConnectionFromClient(NonnullOwnPtr<Core::LocalSocket> socket)
|
||||
@ -130,16 +126,6 @@ void ConnectionFromClient::load_url(u64 page_id, const URL::URL& url)
|
||||
if (!page.has_value())
|
||||
return;
|
||||
|
||||
#if defined(AK_OS_SERENITY)
|
||||
ByteString process_name;
|
||||
if (url.host().has<Empty>() || url.host() == String {})
|
||||
process_name = "WebContent";
|
||||
else
|
||||
process_name = ByteString::formatted("WebContent: {}", url.serialized_host().release_value_but_fixme_should_propagate_errors());
|
||||
|
||||
pthread_setname_np(pthread_self(), process_name.characters());
|
||||
#endif
|
||||
|
||||
page->page().load(url);
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,9 @@
|
||||
#include <AK/Platform.h>
|
||||
#include <AK/String.h>
|
||||
#include <AK/Vector.h>
|
||||
#include <Ladybird/HelperProcess.h>
|
||||
#include <Ladybird/Types.h>
|
||||
#include <Ladybird/Utilities.h>
|
||||
#include <LibCore/ArgsParser.h>
|
||||
#include <LibCore/ConfigFile.h>
|
||||
#include <LibCore/DirIterator.h>
|
||||
@ -54,11 +56,6 @@
|
||||
#include <LibWebView/ViewImplementation.h>
|
||||
#include <LibWebView/WebContentClient.h>
|
||||
|
||||
#if !defined(AK_OS_SERENITY)
|
||||
# include <Ladybird/HelperProcess.h>
|
||||
# include <Ladybird/Utilities.h>
|
||||
#endif
|
||||
|
||||
constexpr int DEFAULT_TIMEOUT_MS = 30000; // 30sec
|
||||
|
||||
static StringView s_current_test_path;
|
||||
@ -69,24 +66,14 @@ public:
|
||||
{
|
||||
RefPtr<Protocol::RequestClient> request_client;
|
||||
|
||||
#if defined(AK_OS_SERENITY)
|
||||
(void)resources_folder;
|
||||
(void)certificates;
|
||||
#else
|
||||
auto request_server_paths = TRY(get_paths_for_helper_process("RequestServer"sv));
|
||||
request_client = TRY(launch_request_server_process(request_server_paths, resources_folder, certificates));
|
||||
#endif
|
||||
|
||||
auto database = TRY(WebView::Database::create());
|
||||
auto cookie_jar = TRY(WebView::CookieJar::create(*database));
|
||||
|
||||
auto view = TRY(adopt_nonnull_own_or_enomem(new (nothrow) HeadlessWebContentView(move(database), move(cookie_jar), request_client)));
|
||||
|
||||
#if defined(AK_OS_SERENITY)
|
||||
view->m_client_state.client = TRY(WebView::WebContentClient::try_create(*view));
|
||||
(void)command_line;
|
||||
(void)is_layout_test_mode;
|
||||
#else
|
||||
Ladybird::WebContentOptions web_content_options {
|
||||
.command_line = command_line,
|
||||
.executable_path = MUST(String::from_byte_string(MUST(Core::System::current_executable_path()))),
|
||||
@ -97,7 +84,6 @@ public:
|
||||
|
||||
auto candidate_web_content_paths = TRY(get_paths_for_helper_process("WebContent"sv));
|
||||
view->m_client_state.client = TRY(launch_web_content_process(*view, candidate_web_content_paths, web_content_options, move(request_server_socket)));
|
||||
#endif
|
||||
|
||||
view->client().async_update_system_theme(0, move(theme));
|
||||
|
||||
@ -173,12 +159,7 @@ private:
|
||||
};
|
||||
|
||||
on_request_worker_agent = [this]() {
|
||||
#if defined(AK_OS_SERENITY)
|
||||
auto worker_client = MUST(Web::HTML::WebWorkerClient::try_create());
|
||||
(void)this;
|
||||
#else
|
||||
auto worker_client = MUST(launch_web_worker_process(MUST(get_paths_for_helper_process("WebWorker"sv)), *m_request_client));
|
||||
#endif
|
||||
return worker_client->dup_socket();
|
||||
};
|
||||
}
|
||||
@ -657,10 +638,8 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||
ByteString test_glob;
|
||||
Vector<ByteString> certificates;
|
||||
|
||||
#if !defined(AK_OS_SERENITY)
|
||||
platform_init();
|
||||
resources_folder = s_serenity_resource_root;
|
||||
#endif
|
||||
|
||||
Core::ArgsParser args_parser;
|
||||
args_parser.set_general_help("This utility runs the Browser in headless mode.");
|
||||
|
@ -492,9 +492,6 @@ public:
|
||||
}
|
||||
|
||||
auto output = TRY(generically_format_values(arguments.get<JS::MarkedVector<JS::Value>>()));
|
||||
#ifdef AK_OS_SERENITY
|
||||
m_console->output_debug_message(log_level, output);
|
||||
#endif
|
||||
|
||||
switch (log_level) {
|
||||
case JS::Console::LogLevel::Debug:
|
||||
|
Loading…
Reference in New Issue
Block a user