/* * 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 Core::EventLoop& create_platform_event_loop() override; virtual Optional active_web_view() const override; virtual Optional open_blank_new_tab(Web::HTML::ActivateTab) const override; virtual void open_url_in_new_window(URL::URL const& url) 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(ClipboardType) const override; virtual Vector clipboard_entries() const override; virtual void insert_clipboard_entry(Web::Clipboard::SystemClipboardRepresentation) override; virtual void rebuild_bookmarks_menu() const override; virtual void show_bookmark_context_menu(Gfx::IntPoint, Optional, Optional target_folder_id) override; virtual Optional bookmark_item_id_for_context_menu() const override; virtual NonnullRefPtr display_add_bookmark_dialog() const override; virtual NonnullRefPtr display_edit_bookmark_dialog(WebView::BookmarkItem::Bookmark const& current_bookmark) const override; virtual NonnullRefPtr display_add_bookmark_folder_dialog() const override; virtual NonnullRefPtr display_edit_bookmark_folder_dialog(WebView::BookmarkItem::Folder const& current_folder) const override; virtual void on_devtools_enabled() const override; virtual void on_devtools_disabled() const override; }; } @interface Application : NSApplication @end