Skip to content

Commit

Permalink
headless-browser: Massage URLs a bit before loading
Browse files Browse the repository at this point in the history
This is to mimic what Ladybird and Browser do before trying to load the
URL.
  • Loading branch information
trflynn89 authored and linusg committed Mar 13, 2023
1 parent 4420e48 commit 31bdd8a
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion Userland/Utilities/headless-browser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include <AK/DeprecatedString.h>
#include <AK/LexicalPath.h>
#include <AK/NonnullOwnPtr.h>
#include <AK/String.h>
#include <AK/URL.h>
#include <AK/Vector.h>
#include <LibCore/ArgsParser.h>
Expand Down Expand Up @@ -159,6 +160,15 @@ static ErrorOr<NonnullRefPtr<Core::Timer>> load_page_for_screenshot_and_exit(Cor
return timer;
}

static ErrorOr<URL> format_url(StringView url)
{
URL formatted_url { url };
if (!formatted_url.is_valid())
formatted_url = TRY(String::formatted("http:https://{}", url));

return formatted_url;
}

ErrorOr<int> serenity_main(Main::Arguments arguments)
{
#if !defined(AK_OS_SERENITY)
Expand Down Expand Up @@ -193,7 +203,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
static constexpr Gfx::IntSize window_size { 800, 600 };

auto view = TRY(HeadlessWebContentView::create(move(theme), window_size, web_driver_ipc_path));
view->load(URL { url });
view->load(TRY(format_url(url)));

RefPtr<Core::Timer> timer;
if (web_driver_ipc_path.is_empty())
Expand Down

0 comments on commit 31bdd8a

Please sign in to comment.