/* * Copyright (c) 2023, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #import @protocol LadybirdWebViewObserver - (String const&)onCreateNewTab:(URL const&)url activateTab:(Web::HTML::ActivateTab)activate_tab; - (String const&)onCreateNewTab:(StringView)html url:(URL const&)url activateTab:(Web::HTML::ActivateTab)activate_tab; - (void)loadURL:(URL const&)url; - (void)onLoadStart:(URL const&)url isRedirect:(BOOL)is_redirect; - (void)onLoadFinish:(URL const&)url; - (void)onTitleChange:(ByteString const&)title; - (void)onFaviconChange:(Gfx::Bitmap const&)bitmap; - (void)onNavigateBack; - (void)onNavigateForward; - (void)onReload; @end @interface LadybirdWebView : NSClipView - (instancetype)init:(id)observer; - (void)loadURL:(URL const&)url; - (void)loadHTML:(StringView)html; - (WebView::ViewImplementation&)view; - (String const&)handle; - (void)handleResize; - (void)handleDevicePixelRatioChange; - (void)handleScroll; - (void)handleVisibility:(BOOL)is_visible; - (void)setPreferredColorScheme:(Web::CSS::PreferredColorScheme)color_scheme; - (void)zoomIn; - (void)zoomOut; - (void)resetZoom; - (float)zoomLevel; - (void)debugRequest:(ByteString const&)request argument:(ByteString const&)argument; - (void)viewSource; @end