From 009729d5e3956f004f35a1c614d97c3dac002ce9 Mon Sep 17 00:00:00 2001 From: Bastiaan van der Plaat Date: Tue, 26 Dec 2023 10:24:05 +0100 Subject: [PATCH] LibWeb: Use resources to find internal HTML template paths --- .../src/main/cpp/WebContentService.cpp | 3 -- Ladybird/WebContent/main.cpp | 3 -- Ladybird/WebWorker/main.cpp | 3 -- .../LibWeb/Loader/GeneratedPagesLoader.cpp | 29 ++----------------- .../LibWeb/Loader/GeneratedPagesLoader.h | 5 ---- 5 files changed, 3 insertions(+), 40 deletions(-) diff --git a/Ladybird/Android/src/main/cpp/WebContentService.cpp b/Ladybird/Android/src/main/cpp/WebContentService.cpp index 3e0902d472..43d85f65e1 100644 --- a/Ladybird/Android/src/main/cpp/WebContentService.cpp +++ b/Ladybird/Android/src/main/cpp/WebContentService.cpp @@ -72,9 +72,6 @@ ErrorOr service_main(int ipc_socket, int fd_passing_socket) Web::HTML::Window::set_internals_object_exposed(is_layout_test_mode); Web::Platform::FontPlugin::install(*new Ladybird::FontPlugin(is_layout_test_mode)); - Web::set_error_page_url(TRY(String::formatted("file://{}/res/ladybird/error.html", s_serenity_resource_root))); - Web::set_directory_page_url(TRY(String::formatted("file://{}/res/ladybird/directory.html", s_serenity_resource_root))); - TRY(Web::Bindings::initialize_main_thread_vm()); auto maybe_content_filter_error = load_content_filters(); diff --git a/Ladybird/WebContent/main.cpp b/Ladybird/WebContent/main.cpp index 655bff5b1d..76060d6b7b 100644 --- a/Ladybird/WebContent/main.cpp +++ b/Ladybird/WebContent/main.cpp @@ -115,9 +115,6 @@ ErrorOr serenity_main(Main::Arguments arguments) Web::Platform::FontPlugin::install(*new Ladybird::FontPlugin(is_layout_test_mode)); - Web::set_error_page_url(TRY(String::formatted("file://{}/res/ladybird/error.html", s_serenity_resource_root))); - Web::set_directory_page_url(TRY(String::formatted("file://{}/res/ladybird/directory.html", s_serenity_resource_root))); - TRY(Web::Bindings::initialize_main_thread_vm()); auto maybe_content_filter_error = load_content_filters(); diff --git a/Ladybird/WebWorker/main.cpp b/Ladybird/WebWorker/main.cpp index 1efcb8447f..6ff36a0a8c 100644 --- a/Ladybird/WebWorker/main.cpp +++ b/Ladybird/WebWorker/main.cpp @@ -49,9 +49,6 @@ ErrorOr serenity_main(Main::Arguments arguments) VERIFY(fd_passing_socket >= 0); - Web::set_error_page_url(TRY(String::formatted("file://{}/res/ladybird/error.html", s_serenity_resource_root))); - Web::set_directory_page_url(TRY(String::formatted("file://{}/res/ladybird/directory.html", s_serenity_resource_root))); - TRY(Web::Bindings::initialize_main_thread_vm()); auto client = TRY(IPC::take_over_accepted_client_from_system_server()); diff --git a/Userland/Libraries/LibWeb/Loader/GeneratedPagesLoader.cpp b/Userland/Libraries/LibWeb/Loader/GeneratedPagesLoader.cpp index 7f3d1bd304..e6f8706fdd 100644 --- a/Userland/Libraries/LibWeb/Loader/GeneratedPagesLoader.cpp +++ b/Userland/Libraries/LibWeb/Loader/GeneratedPagesLoader.cpp @@ -9,40 +9,17 @@ #include #include #include +#include #include #include namespace Web { -static String s_error_page_url = "file:///res/ladybird/error.html"_string; - -String error_page_url() -{ - return s_error_page_url; -} - -void set_error_page_url(String error_page_url) -{ - s_error_page_url = error_page_url; -} - -static String s_directory_page_url = "file:///res/ladybird/directory.html"_string; - -String directory_page_url() -{ - return s_directory_page_url; -} - -void set_directory_page_url(String directory_page_url) -{ - s_directory_page_url = directory_page_url; -} - ErrorOr load_error_page(AK::URL const& url) { // Generate HTML error page from error template file // FIXME: Use an actual templating engine (our own one when it's built, preferably with a way to check these usages at compile time) - auto template_path = AK::URL::create_with_url_or_path(error_page_url().to_byte_string()).serialize_path(); + auto template_path = TRY(Core::Resource::load_from_uri("resource://ladybird/error.html"sv))->filesystem_path(); auto template_file = TRY(Core::File::open(template_path, Core::File::OpenMode::Read)); auto template_contents = TRY(template_file->read_until_eof()); StringBuilder builder; @@ -83,7 +60,7 @@ ErrorOr load_file_directory_page(AK::URL const& url) // Generate HTML directory page from directory template file // FIXME: Use an actual templating engine (our own one when it's built, preferably with a way to check these usages at compile time) - auto template_path = AK::URL::create_with_url_or_path(directory_page_url().to_byte_string()).serialize_path(); + auto template_path = TRY(Core::Resource::load_from_uri("resource://ladybird/directory.html"sv))->filesystem_path(); auto template_file = TRY(Core::File::open(template_path, Core::File::OpenMode::Read)); auto template_contents = TRY(template_file->read_until_eof()); StringBuilder builder; diff --git a/Userland/Libraries/LibWeb/Loader/GeneratedPagesLoader.h b/Userland/Libraries/LibWeb/Loader/GeneratedPagesLoader.h index 93492a569b..631d9fb73c 100644 --- a/Userland/Libraries/LibWeb/Loader/GeneratedPagesLoader.h +++ b/Userland/Libraries/LibWeb/Loader/GeneratedPagesLoader.h @@ -11,11 +11,6 @@ namespace Web { -String error_page_url(); -void set_error_page_url(String); -String directory_page_url(); -void set_directory_page_url(String); - ErrorOr load_error_page(AK::URL const&); ErrorOr load_file_directory_page(AK::URL const&);