mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-02 05:46:20 +00:00
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).
59 lines
1.0 KiB
Plaintext
59 lines
1.0 KiB
Plaintext
/*
|
|
* Copyright (c) 2023, Tim Flynn <trflynn89@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#import <UI/Inspector.h>
|
|
#import <UI/InspectorController.h>
|
|
#import <UI/LadybirdWebView.h>
|
|
#import <UI/Tab.h>
|
|
|
|
#if !__has_feature(objc_arc)
|
|
# error "This project requires ARC"
|
|
#endif
|
|
|
|
@interface InspectorController () <NSWindowDelegate>
|
|
|
|
@property (nonatomic, strong) Tab* tab;
|
|
|
|
@end
|
|
|
|
@implementation InspectorController
|
|
|
|
- (instancetype)init:(Tab*)tab
|
|
{
|
|
if (self = [super init]) {
|
|
self.tab = tab;
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
#pragma mark - Private methods
|
|
|
|
- (Inspector*)inspector
|
|
{
|
|
return (Inspector*)[self window];
|
|
}
|
|
|
|
#pragma mark - NSWindowController
|
|
|
|
- (IBAction)showWindow:(id)sender
|
|
{
|
|
self.window = [[Inspector alloc] init:self.tab];
|
|
[self.window setDelegate:self];
|
|
[self.window makeKeyAndOrderFront:sender];
|
|
|
|
[[self inspector] inspect];
|
|
}
|
|
|
|
#pragma mark - NSWindowDelegate
|
|
|
|
- (void)windowWillClose:(NSNotification*)notification
|
|
{
|
|
[self.tab onInspectorClosed];
|
|
}
|
|
|
|
@end
|