We currently use LibWebView's Application as the entry point to learn about the bookmarks bar being shown/hidden, and propagate that through virtual methods. At the time this was added, AppKit's Tab window and Qt's BrowserWindow did not have a settings observer. They do now, so let's skip a couple of middle-men. For AppKit, we change the settings observer to just (weakly) store the Tab instance so that we don't have to add callback functions for each setting.
45 lines
1.2 KiB
Objective-C
45 lines
1.2 KiB
Objective-C
/*
|
|
* Copyright (c) 2023-2026, Tim Flynn <trflynn89@ladybird.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/Optional.h>
|
|
#include <AK/StringView.h>
|
|
#include <LibURL/URL.h>
|
|
#include <LibWeb/HTML/ActivateTab.h>
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
@class Tab;
|
|
@class TabController;
|
|
|
|
@interface ApplicationDelegate : NSObject <NSApplicationDelegate>
|
|
|
|
- (nullable instancetype)init;
|
|
|
|
- (nonnull TabController*)createNewTab:(Web::HTML::ActivateTab)activate_tab
|
|
fromTab:(nullable Tab*)tab;
|
|
|
|
- (nonnull TabController*)createNewTab:(Optional<URL::URL> const&)url
|
|
fromTab:(nullable Tab*)tab
|
|
activateTab:(Web::HTML::ActivateTab)activate_tab;
|
|
|
|
- (nonnull TabController*)createChildTab:(Optional<URL::URL> const&)url
|
|
fromTab:(nonnull Tab*)tab
|
|
activateTab:(Web::HTML::ActivateTab)activate_tab
|
|
pageIndex:(u64)page_index;
|
|
|
|
- (void)setActiveTab:(nonnull Tab*)tab;
|
|
- (nullable Tab*)activeTab;
|
|
|
|
- (void)removeTab:(nonnull TabController*)controller;
|
|
|
|
- (void)rebuildBookmarksMenu;
|
|
|
|
- (void)onDevtoolsEnabled;
|
|
- (void)onDevtoolsDisabled;
|
|
|
|
@end
|