/* * Copyright (c) 2023, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include #include #import @class Tab; @class TabController; @interface ApplicationDelegate : NSObject - (nullable instancetype)init:(Vector)initial_urls newTabPageURL:(URL)new_tab_page_url withCookieJar:(WebView::CookieJar)cookie_jar webdriverContentIPCPath:(StringView)webdriver_content_ipc_path; - (nonnull TabController*)createNewTab:(Optional const&)url fromTab:(nullable Tab*)tab activateTab:(Web::HTML::ActivateTab)activate_tab; - (nonnull TabController*)createNewTab:(StringView)html url:(URL const&)url fromTab:(nullable Tab*)tab activateTab:(Web::HTML::ActivateTab)activate_tab; - (void)removeTab:(nonnull TabController*)controller; - (WebView::CookieJar&)cookieJar; - (Optional const&)webdriverContentIPCPath; - (Web::CSS::PreferredColorScheme)preferredColorScheme; @end