From 03735cf11da9a6bdf938f4fbe8070f80c7db243d Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Fri, 14 Mar 2025 16:18:36 -0400 Subject: [PATCH] UI/AppKit: Remove the built-in Inspector widget --- UI/AppKit/Application/ApplicationDelegate.mm | 3 - UI/AppKit/CMakeLists.txt | 2 - UI/AppKit/Interface/Inspector.h | 24 -- UI/AppKit/Interface/Inspector.mm | 372 ------------------- UI/AppKit/Interface/InspectorController.h | 17 - UI/AppKit/Interface/InspectorController.mm | 66 ---- UI/AppKit/Interface/LadybirdWebView.mm | 23 -- UI/AppKit/Interface/Tab.h | 5 - UI/AppKit/Interface/Tab.mm | 44 --- UI/AppKit/Interface/TabController.mm | 2 - 10 files changed, 558 deletions(-) delete mode 100644 UI/AppKit/Interface/Inspector.h delete mode 100644 UI/AppKit/Interface/Inspector.mm delete mode 100644 UI/AppKit/Interface/InspectorController.h delete mode 100644 UI/AppKit/Interface/InspectorController.mm diff --git a/UI/AppKit/Application/ApplicationDelegate.mm b/UI/AppKit/Application/ApplicationDelegate.mm index 2b2332889ec..f4ddc5e7566 100644 --- a/UI/AppKit/Application/ApplicationDelegate.mm +++ b/UI/AppKit/Application/ApplicationDelegate.mm @@ -608,9 +608,6 @@ [submenu addItem:[[NSMenuItem alloc] initWithTitle:@"View Source" action:@selector(viewSource:) keyEquivalent:@""]]; - [submenu addItem:[[NSMenuItem alloc] initWithTitle:@"Open Inspector" - action:@selector(openInspector:) - keyEquivalent:@"I"]]; [submenu addItem:[[NSMenuItem alloc] initWithTitle:@"Open Task Manager" action:@selector(openTaskManager:) keyEquivalent:@"M"]]; diff --git a/UI/AppKit/CMakeLists.txt b/UI/AppKit/CMakeLists.txt index 690c1a56fde..5e6fc6ee94b 100644 --- a/UI/AppKit/CMakeLists.txt +++ b/UI/AppKit/CMakeLists.txt @@ -3,8 +3,6 @@ add_library(ladybird_impl STATIC Application/Application.mm Application/ApplicationDelegate.mm Interface/Event.mm - Interface/Inspector.mm - Interface/InspectorController.mm Interface/LadybirdWebView.mm Interface/LadybirdWebViewBridge.cpp Interface/LadybirdWebViewWindow.mm diff --git a/UI/AppKit/Interface/Inspector.h b/UI/AppKit/Interface/Inspector.h deleted file mode 100644 index 43fadc55dc0..00000000000 --- a/UI/AppKit/Interface/Inspector.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2023-2024, Tim Flynn - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#pragma once - -#import -#import - -@class LadybirdWebView; -@class Tab; - -@interface Inspector : LadybirdWebViewWindow - -- (instancetype)init:(Tab*)tab; - -- (void)inspect; -- (void)reset; - -- (void)selectHoveredElement; - -@end diff --git a/UI/AppKit/Interface/Inspector.mm b/UI/AppKit/Interface/Inspector.mm deleted file mode 100644 index 6a560786f1b..00000000000 --- a/UI/AppKit/Interface/Inspector.mm +++ /dev/null @@ -1,372 +0,0 @@ -/* - * Copyright (c) 2023-2024, Tim Flynn - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#include -#include -#include -#include - -#import -#import -#import -#import -#import - -#if !__has_feature(objc_arc) -# error "This project requires ARC" -#endif - -static constexpr CGFloat const WINDOW_WIDTH = 875; -static constexpr CGFloat const WINDOW_HEIGHT = 825; - -static constexpr NSInteger CONTEXT_MENU_EDIT_NODE_TAG = 1; -static constexpr NSInteger CONTEXT_MENU_REMOVE_ATTRIBUTE_TAG = 2; -static constexpr NSInteger CONTEXT_MENU_COPY_ATTRIBUTE_VALUE_TAG = 3; -static constexpr NSInteger CONTEXT_MENU_DELETE_COOKIE_TAG = 4; - -@interface Inspector () -{ - OwnPtr m_inspector_client; -} - -@property (nonatomic, strong) Tab* tab; - -@property (nonatomic, strong) NSMenu* dom_node_text_context_menu; -@property (nonatomic, strong) NSMenu* dom_node_tag_context_menu; -@property (nonatomic, strong) NSMenu* dom_node_attribute_context_menu; -@property (nonatomic, strong) NSMenu* cookie_context_menu; - -@end - -@implementation Inspector - -@synthesize tab = _tab; -@synthesize dom_node_text_context_menu = _dom_node_text_context_menu; -@synthesize dom_node_tag_context_menu = _dom_node_tag_context_menu; -@synthesize dom_node_attribute_context_menu = _dom_node_attribute_context_menu; -@synthesize cookie_context_menu = _cookie_context_menu; - -- (instancetype)init:(Tab*)tab -{ - auto tab_rect = [tab frame]; - auto position_x = tab_rect.origin.x + (tab_rect.size.width - WINDOW_WIDTH) / 2; - auto position_y = tab_rect.origin.y + (tab_rect.size.height - WINDOW_HEIGHT) / 2; - auto window_rect = NSMakeRect(position_x, position_y, WINDOW_WIDTH, WINDOW_HEIGHT); - - if (self = [super initWithWebView:nil windowRect:window_rect]) { - self.tab = tab; - - m_inspector_client = make([[tab web_view] view], [[self web_view] view]); - __weak Inspector* weak_self = self; - - m_inspector_client->on_requested_dom_node_text_context_menu = [weak_self](auto position) { - Inspector* strong_self = weak_self; - if (strong_self == nil) { - return; - } - - auto* event = Ladybird::create_context_menu_mouse_event(strong_self.web_view, position); - [NSMenu popUpContextMenu:strong_self.dom_node_text_context_menu withEvent:event forView:strong_self.web_view]; - }; - - m_inspector_client->on_requested_dom_node_tag_context_menu = [weak_self](auto position, auto const& tag) { - Inspector* strong_self = weak_self; - if (strong_self == nil) { - return; - } - - auto edit_node_text = MUST(String::formatted("Edit \"{}\"", tag)); - - auto* edit_node_menu_item = [strong_self.dom_node_tag_context_menu itemWithTag:CONTEXT_MENU_EDIT_NODE_TAG]; - [edit_node_menu_item setTitle:Ladybird::string_to_ns_string(edit_node_text)]; - - auto* event = Ladybird::create_context_menu_mouse_event(strong_self.web_view, position); - [NSMenu popUpContextMenu:strong_self.dom_node_tag_context_menu withEvent:event forView:strong_self.web_view]; - }; - - m_inspector_client->on_requested_dom_node_attribute_context_menu = [weak_self](auto position, auto const&, auto const& attribute) { - Inspector* strong_self = weak_self; - if (strong_self == nil) { - return; - } - - static constexpr size_t MAX_ATTRIBUTE_VALUE_LENGTH = 32; - - auto edit_attribute_text = MUST(String::formatted("Edit attribute \"{}\"", attribute.name)); - auto remove_attribute_text = MUST(String::formatted("Remove attribute \"{}\"", attribute.name)); - auto copy_attribute_value_text = MUST(String::formatted("Copy attribute value \"{:.{}}{}\"", - attribute.value, MAX_ATTRIBUTE_VALUE_LENGTH, - attribute.value.bytes_as_string_view().length() > MAX_ATTRIBUTE_VALUE_LENGTH ? "..."sv : ""sv)); - - auto* edit_node_menu_item = [strong_self.dom_node_attribute_context_menu itemWithTag:CONTEXT_MENU_EDIT_NODE_TAG]; - [edit_node_menu_item setTitle:Ladybird::string_to_ns_string(edit_attribute_text)]; - - auto* remove_attribute_menu_item = [strong_self.dom_node_attribute_context_menu itemWithTag:CONTEXT_MENU_REMOVE_ATTRIBUTE_TAG]; - [remove_attribute_menu_item setTitle:Ladybird::string_to_ns_string(remove_attribute_text)]; - - auto* copy_attribute_value_menu_item = [strong_self.dom_node_attribute_context_menu itemWithTag:CONTEXT_MENU_COPY_ATTRIBUTE_VALUE_TAG]; - [copy_attribute_value_menu_item setTitle:Ladybird::string_to_ns_string(copy_attribute_value_text)]; - - auto* event = Ladybird::create_context_menu_mouse_event(strong_self.web_view, position); - [NSMenu popUpContextMenu:strong_self.dom_node_attribute_context_menu withEvent:event forView:strong_self.web_view]; - }; - - m_inspector_client->on_requested_cookie_context_menu = [weak_self](auto position, auto const& cookie) { - Inspector* strong_self = weak_self; - if (strong_self == nil) { - return; - } - - auto delete_cookie_text = MUST(String::formatted("Delete \"{}\"", cookie.name)); - - auto* delete_cookie_item = [strong_self.cookie_context_menu itemWithTag:CONTEXT_MENU_DELETE_COOKIE_TAG]; - [delete_cookie_item setTitle:Ladybird::string_to_ns_string(delete_cookie_text)]; - - auto* event = Ladybird::create_context_menu_mouse_event(strong_self.web_view, position); - [NSMenu popUpContextMenu:strong_self.cookie_context_menu withEvent:event forView:strong_self.web_view]; - }; - - [self setContentView:self.web_view]; - [self setTitle:@"Inspector"]; - [self setIsVisible:YES]; - } - - return self; -} - -- (void)dealloc -{ - auto& web_view = [[self.tab web_view] view]; - web_view.clear_inspected_dom_node(); -} - -#pragma mark - Public methods - -- (void)inspect -{ - m_inspector_client->inspect(); -} - -- (void)reset -{ - m_inspector_client->reset(); -} - -- (void)selectHoveredElement -{ - m_inspector_client->select_hovered_node(); -} - -#pragma mark - Private methods - -- (void)editDOMNode:(id)sender -{ - m_inspector_client->context_menu_edit_dom_node(); -} - -- (void)copyDOMNode:(id)sender -{ - m_inspector_client->context_menu_copy_dom_node(); -} - -- (void)screenshotDOMNode:(id)sender -{ - m_inspector_client->context_menu_screenshot_dom_node(); -} - -- (void)createChildElement:(id)sender -{ - m_inspector_client->context_menu_create_child_element(); -} - -- (void)createChildTextNode:(id)sender -{ - m_inspector_client->context_menu_create_child_text_node(); -} - -- (void)cloneDOMNode:(id)sender -{ - m_inspector_client->context_menu_clone_dom_node(); -} - -- (void)deleteDOMNode:(id)sender -{ - m_inspector_client->context_menu_remove_dom_node(); -} - -- (void)addDOMAttribute:(id)sender -{ - m_inspector_client->context_menu_add_dom_node_attribute(); -} - -- (void)removeDOMAttribute:(id)sender -{ - m_inspector_client->context_menu_remove_dom_node_attribute(); -} - -- (void)copyDOMAttributeValue:(id)sender -{ - m_inspector_client->context_menu_copy_dom_node_attribute_value(); -} - -- (void)deleteCookie:(id)sender -{ - m_inspector_client->context_menu_delete_cookie(); -} - -- (void)deleteAllCookies:(id)sender -{ - m_inspector_client->context_menu_delete_all_cookies(); -} - -#pragma mark - Properties - -+ (NSMenuItem*)make_create_child_menu -{ - auto* create_child_menu = [[NSMenu alloc] init]; - [create_child_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Create child element" - action:@selector(createChildElement:) - keyEquivalent:@""]]; - [create_child_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Create child text node" - action:@selector(createChildTextNode:) - keyEquivalent:@""]]; - - auto* create_child_menu_item = [[NSMenuItem alloc] initWithTitle:@"Create child" - action:nil - keyEquivalent:@""]; - [create_child_menu_item setSubmenu:create_child_menu]; - - return create_child_menu_item; -} - -- (NSMenu*)dom_node_text_context_menu -{ - if (!_dom_node_text_context_menu) { - _dom_node_text_context_menu = [[NSMenu alloc] initWithTitle:@"DOM Text Context Menu"]; - - [_dom_node_text_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Edit text" - action:@selector(editDOMNode:) - keyEquivalent:@""]]; - [_dom_node_text_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Copy text" - action:@selector(copyDOMNode:) - keyEquivalent:@""]]; - - [_dom_node_text_context_menu addItem:[NSMenuItem separatorItem]]; - - [_dom_node_text_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Delete node" - action:@selector(deleteDOMNode:) - keyEquivalent:@""]]; - } - - return _dom_node_text_context_menu; -} - -- (NSMenu*)dom_node_tag_context_menu -{ - if (!_dom_node_tag_context_menu) { - _dom_node_tag_context_menu = [[NSMenu alloc] initWithTitle:@"DOM Tag Context Menu"]; - - auto* edit_node_menu_item = [[NSMenuItem alloc] initWithTitle:@"Edit tag" - action:@selector(editDOMNode:) - keyEquivalent:@""]; - [edit_node_menu_item setTag:CONTEXT_MENU_EDIT_NODE_TAG]; - [_dom_node_tag_context_menu addItem:edit_node_menu_item]; - - [_dom_node_tag_context_menu addItem:[NSMenuItem separatorItem]]; - - [_dom_node_tag_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Add attribute" - action:@selector(addDOMAttribute:) - keyEquivalent:@""]]; - [_dom_node_tag_context_menu addItem:[Inspector make_create_child_menu]]; - [_dom_node_tag_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Clone node" - action:@selector(cloneDOMNode:) - keyEquivalent:@""]]; - [_dom_node_tag_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Delete node" - action:@selector(deleteDOMNode:) - keyEquivalent:@""]]; - - [_dom_node_tag_context_menu addItem:[NSMenuItem separatorItem]]; - - [_dom_node_tag_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Copy HTML" - action:@selector(copyDOMNode:) - keyEquivalent:@""]]; - [_dom_node_tag_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Take node screenshot" - action:@selector(screenshotDOMNode:) - keyEquivalent:@""]]; - } - - return _dom_node_tag_context_menu; -} - -- (NSMenu*)dom_node_attribute_context_menu -{ - if (!_dom_node_attribute_context_menu) { - _dom_node_attribute_context_menu = [[NSMenu alloc] initWithTitle:@"DOM Attribute Context Menu"]; - - auto* edit_node_menu_item = [[NSMenuItem alloc] initWithTitle:@"Edit attribute" - action:@selector(editDOMNode:) - keyEquivalent:@""]; - [edit_node_menu_item setTag:CONTEXT_MENU_EDIT_NODE_TAG]; - [_dom_node_attribute_context_menu addItem:edit_node_menu_item]; - - auto* remove_attribute_menu_item = [[NSMenuItem alloc] initWithTitle:@"Remove attribute" - action:@selector(removeDOMAttribute:) - keyEquivalent:@""]; - [remove_attribute_menu_item setTag:CONTEXT_MENU_REMOVE_ATTRIBUTE_TAG]; - [_dom_node_attribute_context_menu addItem:remove_attribute_menu_item]; - - auto* copy_attribute_value_menu_item = [[NSMenuItem alloc] initWithTitle:@"Copy attribute value" - action:@selector(copyDOMAttributeValue:) - keyEquivalent:@""]; - [copy_attribute_value_menu_item setTag:CONTEXT_MENU_COPY_ATTRIBUTE_VALUE_TAG]; - [_dom_node_attribute_context_menu addItem:copy_attribute_value_menu_item]; - - [_dom_node_attribute_context_menu addItem:[NSMenuItem separatorItem]]; - - [_dom_node_attribute_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Add attribute" - action:@selector(addDOMAttribute:) - keyEquivalent:@""]]; - [_dom_node_attribute_context_menu addItem:[Inspector make_create_child_menu]]; - [_dom_node_attribute_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Clone node" - action:@selector(cloneDOMNode:) - keyEquivalent:@""]]; - [_dom_node_attribute_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Delete node" - action:@selector(deleteDOMNode:) - keyEquivalent:@""]]; - - [_dom_node_attribute_context_menu addItem:[NSMenuItem separatorItem]]; - - [_dom_node_attribute_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Copy HTML" - action:@selector(copyDOMNode:) - keyEquivalent:@""]]; - [_dom_node_attribute_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Take node screenshot" - action:@selector(screenshotDOMNode:) - keyEquivalent:@""]]; - } - - return _dom_node_attribute_context_menu; -} - -- (NSMenu*)cookie_context_menu -{ - if (!_cookie_context_menu) { - _cookie_context_menu = [[NSMenu alloc] initWithTitle:@"Cookie Context Menu"]; - - auto* delete_cookie_item = [[NSMenuItem alloc] initWithTitle:@"Delete cookie" - action:@selector(deleteCookie:) - keyEquivalent:@""]; - [delete_cookie_item setTag:CONTEXT_MENU_DELETE_COOKIE_TAG]; - [_cookie_context_menu addItem:delete_cookie_item]; - - [_cookie_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Delete all cookies" - action:@selector(deleteAllCookies:) - keyEquivalent:@""]]; - } - - return _cookie_context_menu; -} - -@end diff --git a/UI/AppKit/Interface/InspectorController.h b/UI/AppKit/Interface/InspectorController.h deleted file mode 100644 index ef35cf254e4..00000000000 --- a/UI/AppKit/Interface/InspectorController.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2023, Tim Flynn - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#pragma once - -#import - -@class Tab; - -@interface InspectorController : NSWindowController - -- (instancetype)init:(Tab*)tab; - -@end diff --git a/UI/AppKit/Interface/InspectorController.mm b/UI/AppKit/Interface/InspectorController.mm deleted file mode 100644 index f0bb82c6ae4..00000000000 --- a/UI/AppKit/Interface/InspectorController.mm +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2023, Tim Flynn - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#import -#import -#import -#import - -#if !__has_feature(objc_arc) -# error "This project requires ARC" -#endif - -@interface InspectorController () - -@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]; -} - -#pragma mark - NSWindowDelegate - -- (void)windowWillClose:(NSNotification*)notification -{ - [self.tab onInspectorClosed]; -} - -- (void)windowDidResize:(NSNotification*)notification -{ - [[[self inspector] web_view] handleResize]; -} - -- (void)windowDidChangeBackingProperties:(NSNotification*)notification -{ - [[[self inspector] web_view] handleDevicePixelRatioChange]; -} - -@end diff --git a/UI/AppKit/Interface/LadybirdWebView.mm b/UI/AppKit/Interface/LadybirdWebView.mm index 95aefa95ba7..db2a3808a4c 100644 --- a/UI/AppKit/Interface/LadybirdWebView.mm +++ b/UI/AppKit/Interface/LadybirdWebView.mm @@ -1294,9 +1294,6 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_ [_page_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"View Source" action:@selector(viewSource:) keyEquivalent:@""]]; - [_page_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Inspect Element" - action:@selector(inspectElement:) - keyEquivalent:@""]]; } return _page_context_menu; @@ -1320,11 +1317,6 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_ keyEquivalent:@""]; [copy_link_menu_item setTag:CONTEXT_MENU_COPY_LINK_TAG]; [_link_context_menu addItem:copy_link_menu_item]; - [_link_context_menu addItem:[NSMenuItem separatorItem]]; - - [_link_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Inspect Element" - action:@selector(inspectElement:) - keyEquivalent:@""]]; } return _link_context_menu; @@ -1353,11 +1345,6 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_ [_image_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Copy Image URL" action:@selector(copyLink:) keyEquivalent:@""]]; - [_image_context_menu addItem:[NSMenuItem separatorItem]]; - - [_image_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Inspect Element" - action:@selector(inspectElement:) - keyEquivalent:@""]]; } return _image_context_menu; @@ -1405,11 +1392,6 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_ [_audio_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Copy Audio URL" action:@selector(copyLink:) keyEquivalent:@""]]; - [_audio_context_menu addItem:[NSMenuItem separatorItem]]; - - [_audio_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Inspect Element" - action:@selector(inspectElement:) - keyEquivalent:@""]]; } return _audio_context_menu; @@ -1457,11 +1439,6 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_ [_video_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Copy Video URL" action:@selector(copyLink:) keyEquivalent:@""]]; - [_video_context_menu addItem:[NSMenuItem separatorItem]]; - - [_video_context_menu addItem:[[NSMenuItem alloc] initWithTitle:@"Inspect Element" - action:@selector(inspectElement:) - keyEquivalent:@""]]; } return _video_context_menu; diff --git a/UI/AppKit/Interface/Tab.h b/UI/AppKit/Interface/Tab.h index 99728c91997..cd048e0cdc4 100644 --- a/UI/AppKit/Interface/Tab.h +++ b/UI/AppKit/Interface/Tab.h @@ -19,9 +19,4 @@ - (instancetype)initAsChild:(Tab*)parent pageIndex:(u64)page_index; -- (void)tabWillClose; - -- (void)openInspector:(id)sender; -- (void)onInspectorClosed; - @end diff --git a/UI/AppKit/Interface/Tab.mm b/UI/AppKit/Interface/Tab.mm index d2a875d2b64..15d5ccccbab 100644 --- a/UI/AppKit/Interface/Tab.mm +++ b/UI/AppKit/Interface/Tab.mm @@ -12,8 +12,6 @@ #include #import -#import -#import #import #import #import @@ -34,8 +32,6 @@ static constexpr CGFloat const WINDOW_HEIGHT = 800; @property (nonatomic, strong) SearchPanel* search_panel; -@property (nonatomic, strong) InspectorController* inspector_controller; - @end @implementation Tab @@ -129,37 +125,6 @@ static constexpr CGFloat const WINDOW_HEIGHT = 800; [self.search_panel useSelectionForFind:sender]; } -- (void)tabWillClose -{ - if (self.inspector_controller != nil) { - [self.inspector_controller.window close]; - } -} - -- (void)openInspector:(id)sender -{ - if (self.inspector_controller != nil) { - [self.inspector_controller.window makeKeyAndOrderFront:sender]; - return; - } - - self.inspector_controller = [[InspectorController alloc] init:self]; - [self.inspector_controller showWindow:nil]; -} - -- (void)onInspectorClosed -{ - self.inspector_controller = nil; -} - -- (void)inspectElement:(id)sender -{ - [self openInspector:sender]; - - auto* inspector = (Inspector*)[self.inspector_controller window]; - [inspector selectHoveredElement]; -} - #pragma mark - Private methods - (TabController*)tabController @@ -310,19 +275,10 @@ static constexpr CGFloat const WINDOW_HEIGHT = 800; [self updateTabTitleAndFavicon]; [[self tabController] onLoadStart:url isRedirect:is_redirect]; - - if (self.inspector_controller != nil) { - auto* inspector = (Inspector*)[self.inspector_controller window]; - [inspector reset]; - } } - (void)onLoadFinish:(URL::URL const&)url { - if (self.inspector_controller != nil) { - auto* inspector = (Inspector*)[self.inspector_controller window]; - [inspector inspect]; - } } - (void)onURLChange:(URL::URL const&)url diff --git a/UI/AppKit/Interface/TabController.mm b/UI/AppKit/Interface/TabController.mm index 74f81459832..88020bc93aa 100644 --- a/UI/AppKit/Interface/TabController.mm +++ b/UI/AppKit/Interface/TabController.mm @@ -604,8 +604,6 @@ static NSString* const TOOLBAR_TAB_OVERVIEW_IDENTIFIER = @"ToolbarTabOverviewIde - (void)windowWillClose:(NSNotification*)notification { - [[self tab] tabWillClose]; - auto* delegate = (ApplicationDelegate*)[NSApp delegate]; [delegate removeTab:self]; }