/* * Copyright (c) 2023-2026, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #import namespace Ladybird { class Application final : public WebView::Application { WEB_VIEW_APPLICATION(Application) private: explicit Application(); virtual void create_platform_arguments(Core::ArgsParser&) override; virtual void create_platform_options(WebView::BrowserOptions&, WebView::RequestServerOptions&, WebView::WebContentOptions&) override; virtual NonnullOwnPtr create_platform_event_loop() override; virtual Optional active_web_view() const override; virtual Optional open_blank_new_tab(Web::HTML::ActivateTab) const override; virtual Optional ask_user_for_download_path(StringView file) const override; virtual void display_download_confirmation_dialog(StringView download_name, LexicalPath const& path) const override; virtual void display_error_dialog(StringView error_message) const override; virtual Utf16String clipboard_text() const override; virtual Vector clipboard_entries() const override; virtual void insert_clipboard_entry(Web::Clipboard::SystemClipboardRepresentation) override; virtual void on_devtools_enabled() const override; virtual void on_devtools_disabled() const override; bool m_file_scheme_urls_have_tuple_origins { false }; }; } @interface Application : NSApplication @end