
* chore: bump chromium in DEPS to 91.0.4435.3 * build: add 'use_rts' definition Refs:2694187
* chore: update patches * chore: media_internal_resources becomes resources Refs:2699022
* chore: update patches * refactor: extensions::ViewType moved to mojom Refs:2710351
* chore: might_have_observers has been removed Refs:2667839
* refactor: CertVerifier is not in the network namespace anymore Refs:2689805
* refactor: ExtensionUserScriptManager is now UserScriptManager Refs:2657617
* refactor: content::SiteInstance::GetSiteForURL was removed Refs:2680274
* refactor: MenuItemType was moved to mojom Refs:2071443
* refactor: extensions::ViewType was moved to mojom Refs:2710351
* refacotr: grit::ResourceMap replaced with webui::ResourcePath Refs:2685601
* refactor: blink::MenuItem::Type was moved to mojom Refs:2071443
* refactor: CreateDataPipe deprecated form was removed Refs:2698090
* refactor: DesktopMediaList::Type replaces content::DesktopMediaType_* Refs:2700637
* chore: wire up activation_time in OSR Refs:2638372
* chore: remove deleted file from chromium_src list * chore: fix lint * update patches * chore: bump chromium in DEPS to 91.0.4438.0 * chore: bump chromium in DEPS to 91.0.4439.0 * chore: bump chromium in DEPS to 91.0.4440.0 * chore: bump chromium in DEPS to 91.0.4441.0 * chore: bump chromium in DEPS to 91.0.4442.0 * chore: bump chromium in DEPS to 91.0.4443.0 * chore: bump chromium in DEPS to 91.0.4445.0 * chore: bump chromium in DEPS to 91.0.4446.0 * chore: update patches * fixup gn check * Merge branch 'master' into roller/chromium/master * update to xcode 12.4.0 Needed because of8008deb41c
* 2752406: [LSC] Replace base::string16 with std::u16string in //ui2752406
* 2752406: [LSC] Replace base::string16 with std::u16string in //ui2752406
* 2752932: Associate each AwProxyingURLLoaderFactory with a frame tree node id.2752932
* 2651385: Moving Profile::shared_cors_origin_access_list_ into //content layer.2651385
* 2734095: Introduce StoragePartitionId type to wrap current string representation.2734095
* chore: bump chromium in DEPS to 91.0.4448.0 * Update patches * 2743594: Remove WebSize from blink.2743594
* 2725403: Add URLLoaderClient::OnReceiveEarlyHints()2725403
* 2651385: Moving Profile::shared_cors_origin_access_list_ into //content layer.2651385
* 2721718: Move HostID to extensions::mojom::HostID2721718
* 2733070: Rename observer to URLLoaderNetworkServiceObserver2733070
* Use nogncheck for content/browser/site_instance_impl.h This is needed because //content/browser:browser is not a visible target * 2648046: Introduce alert notification helper .app2648046
* 2752406: [LSC] Replace base::string16 with std::u16string in //ui2752406
* only include mac notifications on mac * add additional skipping of atk toolchain check * 2757472: Reland "Reland "[LSC] Remove base::string16 alias""2757472
* 2757472: Reland "Reland "[LSC] Remove base::string16 alias""2757472
* 2720306: [api] Remove deprecated [Shared]ArrayBuffer API2720306
* Fixup 2721718: Move HostID to extensions::mojom::HostID * fixup 2651385: Moving Profile::shared_cors_origin_access_list_ into //content layer * Fixup 2752406: [LSC] Replace base::string16 with std::u16string in //ui * Fixup 2725403: Add URLLoaderClient::OnReceiveEarlyHints() * update node headers * chore: bump chromium in DEPS to 91.0.4449.0 * Revert "chore: bump chromium in DEPS to 91.0.4449.0" This reverts commitbccafa0289
. * 2693008: Fix loading non-system cursors on Windows on browser_tests2693008
* 2757472: Reland "Reland "[LSC] Remove base::string16 alias""2757472
* undo changes to WebContentsPreferences::GetPreloadPath to fix mac build * fix StrCat issue * incantations for WebContentsPreferences::GetPreloadPath wide strings * bump nan * fix GetAsString maybe? * windows build fixes * more windows build fix * SetAppUserModelID -> wstring * upgrade nan dep in tests * lint * wstrings are cross-platform * linter * only bind setAppUserModelId on windows * fix a messed up merge * well that was an odyssey * backport fcdf35e from v8 to fix nan crash * disable typedarrays-test.js * don't defer in NSWindow creation2707696
* use PartitionAllocator for ArrayBuffers in the main process * fix patches * chore: omit some unnecessary conversions * refactor: make LoginItemSettings::path a wstring * refactor: make ShowTaskDialog take a wstr * Revert "refactor: make LoginItemSettings::path a wstring" This reverts commit9127cff58b
. Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: John Kleinschmidt <jkleinsc@github.com> Co-authored-by: Jeremy Rose <nornagon@nornagon.net> Co-authored-by: Jeremy Rose <jeremya@chromium.org> Co-authored-by: Charles Kerr <charles@charleskerr.com>
65 lines
2.2 KiB
Objective-C
65 lines
2.2 KiB
Objective-C
// Copyright (c) 2013 GitHub, Inc.
|
|
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by the MIT license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef SHELL_BROWSER_UI_COCOA_ELECTRON_MENU_CONTROLLER_H_
|
|
#define SHELL_BROWSER_UI_COCOA_ELECTRON_MENU_CONTROLLER_H_
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
#include "base/callback.h"
|
|
#include "base/mac/scoped_nsobject.h"
|
|
#include "base/memory/weak_ptr.h"
|
|
|
|
namespace electron {
|
|
class ElectronMenuModel;
|
|
}
|
|
|
|
// A controller for the cross-platform menu model. The menu that's created
|
|
// has the tag and represented object set for each menu item. The object is a
|
|
// NSValue holding a pointer to the model for that level of the menu (to
|
|
// allow for hierarchical menus). The tag is the index into that model for
|
|
// that particular item. It is important that the model outlives this object
|
|
// as it only maintains weak references.
|
|
@interface ElectronMenuController
|
|
: NSObject <NSMenuDelegate, NSSharingServiceDelegate> {
|
|
@protected
|
|
base::WeakPtr<electron::ElectronMenuModel> model_;
|
|
base::scoped_nsobject<NSMenu> menu_;
|
|
BOOL isMenuOpen_;
|
|
BOOL useDefaultAccelerator_;
|
|
base::OnceClosure closeCallback;
|
|
}
|
|
|
|
// Builds a NSMenu from the pre-built model (must not be nil). Changes made
|
|
// to the contents of the model after calling this will not be noticed.
|
|
- (id)initWithModel:(electron::ElectronMenuModel*)model
|
|
useDefaultAccelerator:(BOOL)use;
|
|
|
|
- (void)setCloseCallback:(base::OnceClosure)callback;
|
|
|
|
// Populate current NSMenu with |model|.
|
|
- (void)populateWithModel:(electron::ElectronMenuModel*)model;
|
|
|
|
// Programmatically close the constructed menu.
|
|
- (void)cancel;
|
|
|
|
- (electron::ElectronMenuModel*)model;
|
|
- (void)setModel:(electron::ElectronMenuModel*)model;
|
|
|
|
// Access to the constructed menu if the complex initializer was used. If the
|
|
// default initializer was used, then this will create the menu on first call.
|
|
- (NSMenu*)menu;
|
|
|
|
// Whether the menu is currently open.
|
|
- (BOOL)isMenuOpen;
|
|
|
|
// NSMenuDelegate methods this class implements. Subclasses should call super
|
|
// if extending the behavior.
|
|
- (void)menuWillOpen:(NSMenu*)menu;
|
|
- (void)menuDidClose:(NSMenu*)menu;
|
|
|
|
@end
|
|
|
|
#endif // SHELL_BROWSER_UI_COCOA_ELECTRON_MENU_CONTROLLER_H_
|