diff --git a/Base/res/html/error.html b/Base/res/html/error.html index c7fb60897f..280378e43d 100644 --- a/Base/res/html/error.html +++ b/Base/res/html/error.html @@ -9,11 +9,14 @@ header { margin-bottom: 10px; } + img { + margin-right: 5px; + }
- Warning + Warning

Failed to load @failed_url@

Error: @error@

diff --git a/Ladybird/WebContent/main.cpp b/Ladybird/WebContent/main.cpp index cdc7e03a4a..3126963aa5 100644 --- a/Ladybird/WebContent/main.cpp +++ b/Ladybird/WebContent/main.cpp @@ -98,6 +98,7 @@ ErrorOr serenity_main(Main::Arguments arguments) Web::Platform::FontPlugin::install(*new Ladybird::FontPlugin(is_layout_test_mode)); + Web::FrameLoader::set_resource_directory_url(DeprecatedString::formatted("file://{}/res", s_serenity_resource_root)); Web::FrameLoader::set_error_page_url(DeprecatedString::formatted("file://{}/res/html/error.html", s_serenity_resource_root)); TRY(Web::Bindings::initialize_main_thread_vm()); diff --git a/Userland/Libraries/LibWeb/Loader/FrameLoader.cpp b/Userland/Libraries/LibWeb/Loader/FrameLoader.cpp index 9c5a1de94c..8fc575d090 100644 --- a/Userland/Libraries/LibWeb/Loader/FrameLoader.cpp +++ b/Userland/Libraries/LibWeb/Loader/FrameLoader.cpp @@ -169,8 +169,25 @@ void FrameLoader::load_html(StringView html, const AK::URL& url) parser->run(url); } +static DeprecatedString s_resource_directory_url = "file:///res"; + +DeprecatedString FrameLoader::resource_directory_url() +{ + return s_resource_directory_url; +} + +void FrameLoader::set_resource_directory_url(DeprecatedString resource_directory_url) +{ + s_resource_directory_url = resource_directory_url; +} + static DeprecatedString s_error_page_url = "file:///res/html/error.html"; +DeprecatedString FrameLoader::error_page_url() +{ + return s_error_page_url; +} + void FrameLoader::set_error_page_url(DeprecatedString error_page_url) { s_error_page_url = error_page_url; @@ -189,6 +206,7 @@ void FrameLoader::load_error_page(const AK::URL& failed_url, DeprecatedString co VERIFY(!data.is_null()); StringBuilder builder; SourceGenerator generator { builder }; + generator.set("resource_directory_url", resource_directory_url()); generator.set("failed_url", escape_html_entities(failed_url.to_deprecated_string())); generator.set("error", escape_html_entities(error)); generator.append(data); diff --git a/Userland/Libraries/LibWeb/Loader/FrameLoader.h b/Userland/Libraries/LibWeb/Loader/FrameLoader.h index e9fd575905..e941566ded 100644 --- a/Userland/Libraries/LibWeb/Loader/FrameLoader.h +++ b/Userland/Libraries/LibWeb/Loader/FrameLoader.h @@ -25,6 +25,9 @@ public: }; static void set_default_favicon_path(DeprecatedString); + static DeprecatedString resource_directory_url(); + static void set_resource_directory_url(DeprecatedString); + static DeprecatedString error_page_url(); static void set_error_page_url(DeprecatedString); explicit FrameLoader(HTML::BrowsingContext&);