From e00c0c176e186eec01c043bf0b9ea0ca01f6b569 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Sat, 15 Mar 2025 16:56:52 -0400 Subject: [PATCH] LibWebView+UI: Rename ChromeOptions to BrowserOptions --- Libraries/LibWebView/Application.cpp | 12 ++++++------ Libraries/LibWebView/Application.h | 6 +++--- Libraries/LibWebView/ChromeProcess.cpp | 4 ++-- Libraries/LibWebView/HelperProcess.cpp | 14 +++++++------- Libraries/LibWebView/Options.h | 2 +- Libraries/LibWebView/ViewImplementation.cpp | 4 ++-- UI/AppKit/Application/ApplicationDelegate.mm | 4 ++-- UI/AppKit/Interface/TabController.mm | 6 +++--- UI/AppKit/main.mm | 4 ++-- UI/Headless/Application.cpp | 4 ++-- UI/Headless/Application.h | 2 +- UI/Headless/main.cpp | 6 +++--- UI/Qt/Application.cpp | 2 +- UI/Qt/Application.h | 2 +- UI/Qt/BrowserWindow.cpp | 6 +++--- UI/Qt/main.cpp | 6 +++--- 16 files changed, 42 insertions(+), 42 deletions(-) diff --git a/Libraries/LibWebView/Application.cpp b/Libraries/LibWebView/Application.cpp index 33ec90966df..1fa56f317bb 100644 --- a/Libraries/LibWebView/Application.cpp +++ b/Libraries/LibWebView/Application.cpp @@ -149,7 +149,7 @@ void Application::initialize(Main::Arguments const& arguments, URL::URL new_tab_ if (debug_process_type == ProcessType::WebContent) disable_site_isolation = true; - m_chrome_options = { + m_browser_options = { .urls = sanitize_urls(raw_urls, new_tab_page_url), .raw_urls = move(raw_urls), .new_tab_page_url = move(new_tab_page_url), @@ -170,7 +170,7 @@ void Application::initialize(Main::Arguments const& arguments, URL::URL new_tab_ }; if (webdriver_content_ipc_path.has_value()) - m_chrome_options.webdriver_content_ipc_path = *webdriver_content_ipc_path; + m_browser_options.webdriver_content_ipc_path = *webdriver_content_ipc_path; m_web_content_options = { .command_line = MUST(String::join(' ', arguments.strings)), @@ -188,9 +188,9 @@ void Application::initialize(Main::Arguments const& arguments, URL::URL new_tab_ .paint_viewport_scrollbars = disable_scrollbar_painting ? PaintViewportScrollbars::No : PaintViewportScrollbars::Yes, }; - create_platform_options(m_chrome_options, m_web_content_options); + create_platform_options(m_browser_options, m_web_content_options); - if (m_chrome_options.disable_sql_database == DisableSQLDatabase::No) { + if (m_browser_options.disable_sql_database == DisableSQLDatabase::No) { m_database = Database::create().release_value_but_fixme_should_propagate_errors(); m_cookie_jar = CookieJar::create(*m_database).release_value_but_fixme_should_propagate_errors(); } else { @@ -225,7 +225,7 @@ ErrorOr> Application::launch_web_content_process void Application::launch_spare_web_content_process() { // Disable spare processes when debugging WebContent. Otherwise, it breaks running `gdb attach -p $(pidof WebContent)`. - if (chrome_options().debug_helper_process == ProcessType::WebContent) + if (browser_options().debug_helper_process == ProcessType::WebContent) return; if (m_has_queued_task_to_launch_spare_web_content_process) @@ -293,7 +293,7 @@ ErrorOr Application::launch_image_decoder_server() ErrorOr Application::launch_devtools_server() { VERIFY(!m_devtools); - m_devtools = TRY(DevTools::DevToolsServer::create(*this, m_chrome_options.devtools_port)); + m_devtools = TRY(DevTools::DevToolsServer::create(*this, m_browser_options.devtools_port)); return {}; } diff --git a/Libraries/LibWebView/Application.h b/Libraries/LibWebView/Application.h index 41bf07e276b..ce5becec20d 100644 --- a/Libraries/LibWebView/Application.h +++ b/Libraries/LibWebView/Application.h @@ -35,7 +35,7 @@ public: static Application& the() { return *s_the; } - static ChromeOptions const& chrome_options() { return the().m_chrome_options; } + static BrowserOptions const& browser_options() { return the().m_browser_options; } static WebContentOptions& web_content_options() { return the().m_web_content_options; } static Requests::RequestClient& request_server_client() { return *the().m_request_server_client; } @@ -84,7 +84,7 @@ protected: virtual void process_did_exit(Process&&); virtual void create_platform_arguments(Core::ArgsParser&) { } - virtual void create_platform_options(ChromeOptions&, WebContentOptions&) { } + virtual void create_platform_options(BrowserOptions&, WebContentOptions&) { } virtual Optional ask_user_for_download_folder() const { return {}; } @@ -127,7 +127,7 @@ private: static Application* s_the; - ChromeOptions m_chrome_options; + BrowserOptions m_browser_options; WebContentOptions m_web_content_options; RefPtr m_request_server_client; diff --git a/Libraries/LibWebView/ChromeProcess.cpp b/Libraries/LibWebView/ChromeProcess.cpp index dac05a9dfdd..2a64f7203e6 100644 --- a/Libraries/LibWebView/ChromeProcess.cpp +++ b/Libraries/LibWebView/ChromeProcess.cpp @@ -118,13 +118,13 @@ void UIProcessConnectionFromClient::die() void UIProcessConnectionFromClient::create_new_tab(Vector urls) { if (on_new_tab) - on_new_tab(sanitize_urls(urls, Application::chrome_options().new_tab_page_url)); + on_new_tab(sanitize_urls(urls, Application::browser_options().new_tab_page_url)); } void UIProcessConnectionFromClient::create_new_window(Vector urls) { if (on_new_window) - on_new_window(sanitize_urls(urls, Application::chrome_options().new_tab_page_url)); + on_new_window(sanitize_urls(urls, Application::browser_options().new_tab_page_url)); } } diff --git a/Libraries/LibWebView/HelperProcess.cpp b/Libraries/LibWebView/HelperProcess.cpp index 5e4ea9b1a8b..330440d558d 100644 --- a/Libraries/LibWebView/HelperProcess.cpp +++ b/Libraries/LibWebView/HelperProcess.cpp @@ -19,11 +19,11 @@ static ErrorOr> launch_server_process( ClientArguments&&... client_arguments) { auto process_type = WebView::process_type_from_name(server_name); - auto const& chrome_options = WebView::Application::chrome_options(); + auto const& browser_options = WebView::Application::browser_options(); auto candidate_server_paths = TRY(get_paths_for_helper_process(server_name)); - if (chrome_options.profile_helper_process == process_type) { + if (browser_options.profile_helper_process == process_type) { arguments.prepend({ "--tool=callgrind"sv, "--instr-atstart=no"sv, @@ -31,13 +31,13 @@ static ErrorOr> launch_server_process( }); } - if (chrome_options.debug_helper_process == process_type) + if (browser_options.debug_helper_process == process_type) arguments.append("--wait-for-debugger"sv); for (auto [i, path] : enumerate(candidate_server_paths)) { Core::ProcessSpawnOptions options { .name = server_name, .arguments = arguments }; - if (chrome_options.profile_helper_process == process_type) { + if (browser_options.profile_helper_process == process_type) { options.executable = "valgrind"sv; options.search_for_executable_in_path = true; arguments[2] = path; @@ -60,7 +60,7 @@ static ErrorOr> launch_server_process( WebView::Application::the().add_child_process(move(process)); - if (chrome_options.profile_helper_process == process_type) { + if (browser_options.profile_helper_process == process_type) { dbgln(); dbgln("\033[1;45mLaunched {} process under callgrind!\033[0m", server_name); dbgln("\033[100mRun `\033[4mcallgrind_control -i on\033[24m` to start instrumentation and `\033[4mcallgrind_control -i off\033[24m` stop it again.\033[0m"); @@ -187,7 +187,7 @@ ErrorOr> launch_request_server_process() arguments.append(s_ladybird_resource_root); } - for (auto const& certificate : WebView::Application::chrome_options().certificates) + for (auto const& certificate : WebView::Application::browser_options().certificates) arguments.append(ByteString::formatted("--certificate={}", certificate)); if (auto server = mach_server_name(); server.has_value()) { @@ -196,7 +196,7 @@ ErrorOr> launch_request_server_process() } auto client = TRY(launch_server_process("RequestServer"sv, move(arguments))); - WebView::Application::chrome_options().dns_settings.visit( + WebView::Application::browser_options().dns_settings.visit( [](WebView::SystemDNS) {}, [&](WebView::DNSOverTLS const& dns_over_tls) { dbgln("Setting DNS server to {}:{} with TLS", dns_over_tls.server_address, dns_over_tls.port); diff --git a/Libraries/LibWebView/Options.h b/Libraries/LibWebView/Options.h index a011ce415a7..18f8527d7cc 100644 --- a/Libraries/LibWebView/Options.h +++ b/Libraries/LibWebView/Options.h @@ -59,7 +59,7 @@ using DNSSettings = Variant; constexpr inline u16 default_devtools_port = 6000; -struct ChromeOptions { +struct BrowserOptions { Vector urls; Vector raw_urls; URL::URL new_tab_page_url; diff --git a/Libraries/LibWebView/ViewImplementation.cpp b/Libraries/LibWebView/ViewImplementation.cpp index d16bc92ff33..0d5be3c5086 100644 --- a/Libraries/LibWebView/ViewImplementation.cpp +++ b/Libraries/LibWebView/ViewImplementation.cpp @@ -604,10 +604,10 @@ void ViewImplementation::initialize_client(CreateNewClient create_new_client) client().async_set_device_pixels_per_css_pixel(m_client_state.page_index, m_device_pixel_ratio); client().async_set_system_visibility_state(m_client_state.page_index, m_system_visibility_state); - if (auto webdriver_content_ipc_path = Application::chrome_options().webdriver_content_ipc_path; webdriver_content_ipc_path.has_value()) + if (auto webdriver_content_ipc_path = Application::browser_options().webdriver_content_ipc_path; webdriver_content_ipc_path.has_value()) client().async_connect_to_webdriver(m_client_state.page_index, *webdriver_content_ipc_path); - if (Application::chrome_options().allow_popups == AllowPopups::Yes) + if (Application::browser_options().allow_popups == AllowPopups::Yes) client().async_debug_request(m_client_state.page_index, "block-pop-ups"sv, "off"sv); if (auto const& user_agent_preset = Application::web_content_options().user_agent_preset; user_agent_preset.has_value()) diff --git a/UI/AppKit/Application/ApplicationDelegate.mm b/UI/AppKit/Application/ApplicationDelegate.mm index cc1a21518b0..3260bd0b34a 100644 --- a/UI/AppKit/Application/ApplicationDelegate.mm +++ b/UI/AppKit/Application/ApplicationDelegate.mm @@ -286,7 +286,7 @@ self.info_bar = [[InfoBar alloc] init]; } - auto message = MUST(String::formatted("DevTools is enabled on port {}", WebView::Application::chrome_options().devtools_port)); + auto message = MUST(String::formatted("DevTools is enabled on port {}", WebView::Application::browser_options().devtools_port)); [self.info_bar showWithMessage:Ladybird::string_to_ns_string(message) dismissButtonTooltip:@"Disable DevTools" @@ -814,7 +814,7 @@ { Tab* tab = nil; - for (auto const& url : WebView::Application::chrome_options().urls) { + for (auto const& url : WebView::Application::browser_options().urls) { auto activate_tab = tab == nil ? Web::HTML::ActivateTab::Yes : Web::HTML::ActivateTab::No; auto* controller = [self createNewTab:url diff --git a/UI/AppKit/Interface/TabController.mm b/UI/AppKit/Interface/TabController.mm index 88020bc93aa..3895687cb58 100644 --- a/UI/AppKit/Interface/TabController.mm +++ b/UI/AppKit/Interface/TabController.mm @@ -100,8 +100,8 @@ static NSString* const TOOLBAR_TAB_OVERVIEW_IDENTIFIER = @"ToolbarTabOverviewIde m_page_index = 0; m_settings = { - .scripting_enabled = WebView::Application::chrome_options().disable_scripting == WebView::DisableScripting::Yes ? NO : YES, - .block_popups = WebView::Application::chrome_options().allow_popups == WebView::AllowPopups::Yes ? NO : YES, + .scripting_enabled = WebView::Application::browser_options().disable_scripting == WebView::DisableScripting::Yes ? NO : YES, + .block_popups = WebView::Application::browser_options().allow_popups == WebView::AllowPopups::Yes ? NO : YES, .autoplay_enabled = WebView::Application::web_content_options().enable_autoplay == WebView::EnableAutoplay::Yes ? YES : NO, }; @@ -234,7 +234,7 @@ static NSString* const TOOLBAR_TAB_OVERVIEW_IDENTIFIER = @"ToolbarTabOverviewIde self.tab.titlebarAppearsTransparent = NO; - [delegate createNewTab:WebView::Application::chrome_options().new_tab_page_url + [delegate createNewTab:WebView::Application::browser_options().new_tab_page_url fromTab:[self tab] activateTab:Web::HTML::ActivateTab::Yes]; diff --git a/UI/AppKit/main.mm b/UI/AppKit/main.mm index d5523fea2e6..d9226e31e1b 100644 --- a/UI/AppKit/main.mm +++ b/UI/AppKit/main.mm @@ -58,8 +58,8 @@ ErrorOr serenity_main(Main::Arguments arguments) WebView::ChromeProcess chrome_process; - if (auto const& chrome_options = WebView::Application::chrome_options(); chrome_options.force_new_process == WebView::ForceNewProcess::No) { - auto disposition = TRY(chrome_process.connect(chrome_options.raw_urls, chrome_options.new_window)); + if (auto const& browser_options = WebView::Application::browser_options(); browser_options.force_new_process == WebView::ForceNewProcess::No) { + auto disposition = TRY(chrome_process.connect(browser_options.raw_urls, browser_options.new_window)); if (disposition == WebView::ChromeProcess::ProcessDisposition::ExitProcess) { outln("Opening in existing process"); diff --git a/UI/Headless/Application.cpp b/UI/Headless/Application.cpp index a6382867475..9a376ac0fc8 100644 --- a/UI/Headless/Application.cpp +++ b/UI/Headless/Application.cpp @@ -64,7 +64,7 @@ void Application::create_platform_arguments(Core::ArgsParser& args_parser) }); } -void Application::create_platform_options(WebView::ChromeOptions& chrome_options, WebView::WebContentOptions& web_content_options) +void Application::create_platform_options(WebView::BrowserOptions& browser_options, WebView::WebContentOptions& web_content_options) { if (!test_root_path.is_empty()) { // --run-tests implies --layout-test-mode. @@ -73,7 +73,7 @@ void Application::create_platform_options(WebView::ChromeOptions& chrome_options if (is_layout_test_mode) { // Allow window.open() to succeed for tests. - chrome_options.allow_popups = WebView::AllowPopups::Yes; + browser_options.allow_popups = WebView::AllowPopups::Yes; // Ensure consistent font rendering between operating systems. web_content_options.force_fontconfig = WebView::ForceFontconfig::Yes; diff --git a/UI/Headless/Application.h b/UI/Headless/Application.h index 9640235a715..51745f8af78 100644 --- a/UI/Headless/Application.h +++ b/UI/Headless/Application.h @@ -29,7 +29,7 @@ public: } virtual void create_platform_arguments(Core::ArgsParser&) override; - virtual void create_platform_options(WebView::ChromeOptions&, WebView::WebContentOptions&) override; + virtual void create_platform_options(WebView::BrowserOptions&, WebView::WebContentOptions&) override; ErrorOr launch_test_fixtures(); diff --git a/UI/Headless/main.cpp b/UI/Headless/main.cpp index f651651182f..b32846d755b 100644 --- a/UI/Headless/main.cpp +++ b/UI/Headless/main.cpp @@ -83,8 +83,8 @@ ErrorOr serenity_main(Main::Arguments arguments) auto& view = app->create_web_view(move(theme), window_size); - VERIFY(!WebView::Application::chrome_options().urls.is_empty()); - auto const& url = WebView::Application::chrome_options().urls.first(); + VERIFY(!WebView::Application::browser_options().urls.is_empty()); + auto const& url = WebView::Application::browser_options().urls.first(); if (!url.is_valid()) { warnln("Invalid URL: \"{}\"", url); return Error::from_string_literal("Invalid URL"); @@ -99,7 +99,7 @@ ErrorOr serenity_main(Main::Arguments arguments) } RefPtr timer; - if (!WebView::Application::chrome_options().webdriver_content_ipc_path.has_value()) + if (!WebView::Application::browser_options().webdriver_content_ipc_path.has_value()) timer = TRY(load_page_for_screenshot_and_exit(Core::EventLoop::current(), view, url, app->screenshot_timeout)); return app->execute(); diff --git a/UI/Qt/Application.cpp b/UI/Qt/Application.cpp index ad4360b17a3..740c57551b9 100644 --- a/UI/Qt/Application.cpp +++ b/UI/Qt/Application.cpp @@ -21,7 +21,7 @@ Application::Application(Badge, Main::Arguments& arguments { } -void Application::create_platform_options(WebView::ChromeOptions&, WebView::WebContentOptions& web_content_options) +void Application::create_platform_options(WebView::BrowserOptions&, WebView::WebContentOptions& web_content_options) { web_content_options.config_path = Settings::the()->directory(); } diff --git a/UI/Qt/Application.h b/UI/Qt/Application.h index 4bf346f1938..48c5bb6ac91 100644 --- a/UI/Qt/Application.h +++ b/UI/Qt/Application.h @@ -37,7 +37,7 @@ public: void set_active_window(BrowserWindow& w) { m_active_window = &w; } private: - virtual void create_platform_options(WebView::ChromeOptions&, WebView::WebContentOptions&) override; + virtual void create_platform_options(WebView::BrowserOptions&, WebView::WebContentOptions&) override; virtual Optional ask_user_for_download_folder() const override; diff --git a/UI/Qt/BrowserWindow.cpp b/UI/Qt/BrowserWindow.cpp index 3cf86cf7485..a83f25761d0 100644 --- a/UI/Qt/BrowserWindow.cpp +++ b/UI/Qt/BrowserWindow.cpp @@ -574,7 +574,7 @@ BrowserWindow::BrowserWindow(Vector const& initial_urls, IsPopupWindow m_enable_scripting_action = new QAction("Enable Scripting", this); m_enable_scripting_action->setCheckable(true); - m_enable_scripting_action->setChecked(WebView::Application::chrome_options().disable_scripting == WebView::DisableScripting::No); + m_enable_scripting_action->setChecked(WebView::Application::browser_options().disable_scripting == WebView::DisableScripting::No); debug_menu->addAction(m_enable_scripting_action); QObject::connect(m_enable_scripting_action, &QAction::triggered, this, [this] { bool state = m_enable_scripting_action->isChecked(); @@ -596,7 +596,7 @@ BrowserWindow::BrowserWindow(Vector const& initial_urls, IsPopupWindow m_block_pop_ups_action = new QAction("Block Pop-ups", this); m_block_pop_ups_action->setCheckable(true); - m_block_pop_ups_action->setChecked(WebView::Application::chrome_options().allow_popups == WebView::AllowPopups::No); + m_block_pop_ups_action->setChecked(WebView::Application::browser_options().allow_popups == WebView::AllowPopups::No); debug_menu->addAction(m_block_pop_ups_action); QObject::connect(m_block_pop_ups_action, &QAction::triggered, this, [this] { bool state = m_block_pop_ups_action->isChecked(); @@ -738,7 +738,7 @@ void BrowserWindow::devtools_enabled() m_enable_devtools_action->setText("Disable &DevTools"); statusBar()->addPermanentWidget(disable_button); - auto message = MUST(String::formatted("DevTools is enabled on port {}", WebView::Application::chrome_options().devtools_port)); + auto message = MUST(String::formatted("DevTools is enabled on port {}", WebView::Application::browser_options().devtools_port)); statusBar()->showMessage(qstring_from_ak_string(message)); } diff --git a/UI/Qt/main.cpp b/UI/Qt/main.cpp index 940b2c7fbf7..00feac5909e 100644 --- a/UI/Qt/main.cpp +++ b/UI/Qt/main.cpp @@ -84,8 +84,8 @@ ErrorOr serenity_main(Main::Arguments arguments) WebView::ChromeProcess chrome_process; - if (app->chrome_options().force_new_process == WebView::ForceNewProcess::No) { - auto disposition = TRY(chrome_process.connect(app->chrome_options().raw_urls, app->chrome_options().new_window)); + if (app->browser_options().force_new_process == WebView::ForceNewProcess::No) { + auto disposition = TRY(chrome_process.connect(app->browser_options().raw_urls, app->browser_options().new_window)); if (disposition == WebView::ChromeProcess::ProcessDisposition::ExitProcess) { outln("Opening in existing process"); @@ -129,7 +129,7 @@ ErrorOr serenity_main(Main::Arguments arguments) app->new_window(urls); }; - auto& window = app->new_window(app->chrome_options().urls); + auto& window = app->new_window(app->browser_options().urls); window.setWindowTitle("Ladybird"); if (Ladybird::Settings::the()->is_maximized()) {