1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:08:12 +00:00
serenity/Ladybird/AppKit/UI/LadybirdWebView.h
Timothy Flynn 4483204c9c Ladybird: Implement a basic Inspector window for the AppKit chrome
This commit includes only fetching the DOM tree from the WebContent
process and displaying it in an NSOutlineView. The displayed tree
includes some basic styling (e.g. colors).
2023-09-18 11:11:23 -06:00

59 lines
1.5 KiB
Objective-C

/*
* Copyright (c) 2023, Tim Flynn <trflynn89@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Forward.h>
#include <LibGfx/Forward.h>
#include <LibWeb/CSS/PreferredColorScheme.h>
#include <LibWeb/HTML/ActivateTab.h>
#include <LibWebView/Forward.h>
#import <System/Cocoa.h>
@protocol LadybirdWebViewObserver <NSObject>
- (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:(DeprecatedString const&)title;
- (void)onFaviconChange:(Gfx::Bitmap const&)bitmap;
- (void)onNavigateBack;
- (void)onNavigateForward;
- (void)onReload;
@end
@interface LadybirdWebView : NSClipView
- (instancetype)init:(id<LadybirdWebViewObserver>)observer;
- (void)loadURL:(URL const&)url;
- (void)loadHTML:(StringView)html;
- (WebView::ViewImplementation&)view;
- (String const&)handle;
- (void)handleResize;
- (void)handleScroll;
- (void)handleVisibility:(BOOL)is_visible;
- (void)setPreferredColorScheme:(Web::CSS::PreferredColorScheme)color_scheme;
- (void)debugRequest:(DeprecatedString const&)request argument:(DeprecatedString const&)argument;
- (void)viewSource;
@end