chore: bump chromium to 117.0.5892.0 (main) (#39118)
* chore: bump chromium in DEPS to 117.0.5892.0 * 4670267: Don't send javascript: or empty URLs to browser in CreateNewWindow.4670267
* 4662090: Add metrics for WebGPU support4662090
* 4672599: Use set_defaults for mac_app_bundle4672599
* 4663771: usb: Add connection count tracking methods for UsbDelegate4663771
* 4664578: Remove unused parameter from ExtensionsGuestViewManagerDelegate ctor4664578
* 4622253: usb: Create classes for usb system tray icon4622253
* 4678263: Remove ARC support from scoped_nsobject4678263
* chore: follow-up ARC changes and missing guard corrections * chore: don't mark 0-param ctor explicit Follow up to4664578
* chore: fixup patch indices * 4670865: Merge ObjectProxy::CallMethodAndBlock{,WithErrorDetails}.4670865
* chore: follow-up ARC changes and missing guard corrections * fixup: retain ElectronApplicationDelegate * fix: correct rustc binary --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
parent
ee4460ac68
commit
bbdd037219
77 changed files with 389 additions and 353 deletions
|
@ -11,7 +11,9 @@
|
|||
|
||||
#import "shell/browser/ui/cocoa/electron_menu_controller.h"
|
||||
|
||||
using base::scoped_nsobject;
|
||||
#if !defined(__has_feature) || !__has_feature(objc_arc)
|
||||
#error "This file requires ARC support."
|
||||
#endif
|
||||
|
||||
namespace electron::api {
|
||||
|
||||
|
@ -41,10 +43,10 @@ class MenuMac : public Menu {
|
|||
void ClosePopupOnUI(int32_t window_id);
|
||||
void OnClosed(int32_t window_id, base::OnceClosure callback);
|
||||
|
||||
scoped_nsobject<ElectronMenuController> menu_controller_;
|
||||
ElectronMenuController* __strong menu_controller_;
|
||||
|
||||
// window ID -> open context menu
|
||||
std::map<int32_t, scoped_nsobject<ElectronMenuController>> popup_controllers_;
|
||||
std::map<int32_t, ElectronMenuController*> popup_controllers_;
|
||||
|
||||
base::WeakPtrFactory<MenuMac> weak_factory_{this};
|
||||
};
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
namespace {
|
||||
|
||||
static scoped_nsobject<NSMenu> applicationMenu_;
|
||||
static NSMenu* __strong applicationMenu_;
|
||||
|
||||
ui::Accelerator GetAcceleratorFromKeyEquivalentAndModifierMask(
|
||||
NSString* key_equivalent,
|
||||
|
@ -75,16 +75,15 @@ v8::Local<v8::Value> Menu::GetUserAcceleratorAt(int command_id) const {
|
|||
if (![NSMenuItem usesUserKeyEquivalents])
|
||||
return v8::Null(isolate);
|
||||
|
||||
auto controller = base::scoped_nsobject<ElectronMenuController>(
|
||||
[[ElectronMenuController alloc] initWithModel:model()
|
||||
useDefaultAccelerator:NO]);
|
||||
auto controller = [[ElectronMenuController alloc] initWithModel:model()
|
||||
useDefaultAccelerator:NO];
|
||||
|
||||
int command_index = GetIndexOfCommandId(command_id);
|
||||
if (command_index == -1)
|
||||
return v8::Null(isolate);
|
||||
|
||||
base::scoped_nsobject<NSMenuItem> item =
|
||||
[controller makeMenuItemForIndex:command_index fromModel:model()];
|
||||
NSMenuItem* item = [controller makeMenuItemForIndex:command_index
|
||||
fromModel:model()];
|
||||
if ([[item userKeyEquivalent] length] == 0)
|
||||
return v8::Null(isolate);
|
||||
|
||||
|
@ -109,9 +108,9 @@ void MenuMac::PopupOnUI(const base::WeakPtr<NativeWindow>& native_window,
|
|||
base::OnceClosure close_callback =
|
||||
base::BindOnce(&MenuMac::OnClosed, weak_factory_.GetWeakPtr(), window_id,
|
||||
std::move(callback));
|
||||
popup_controllers_[window_id] = base::scoped_nsobject<ElectronMenuController>(
|
||||
popup_controllers_[window_id] =
|
||||
[[ElectronMenuController alloc] initWithModel:model()
|
||||
useDefaultAccelerator:NO]);
|
||||
useDefaultAccelerator:NO];
|
||||
NSMenu* menu = [popup_controllers_[window_id] menu];
|
||||
NSView* view = [nswindow contentView];
|
||||
|
||||
|
@ -171,9 +170,9 @@ void MenuMac::ClosePopupAt(int32_t window_id) {
|
|||
std::u16string MenuMac::GetAcceleratorTextAtForTesting(int index) const {
|
||||
// A least effort to get the real shortcut text of NSMenuItem, the code does
|
||||
// not need to be perfect since it is test only.
|
||||
base::scoped_nsobject<ElectronMenuController> controller(
|
||||
ElectronMenuController* controller =
|
||||
[[ElectronMenuController alloc] initWithModel:model()
|
||||
useDefaultAccelerator:NO]);
|
||||
useDefaultAccelerator:NO];
|
||||
NSMenuItem* item = [[controller menu] itemAtIndex:index];
|
||||
std::u16string text;
|
||||
NSEventModifierFlags modifiers = [item keyEquivalentModifierMask];
|
||||
|
@ -227,15 +226,15 @@ void MenuMac::OnClosed(int32_t window_id, base::OnceClosure callback) {
|
|||
// static
|
||||
void Menu::SetApplicationMenu(Menu* base_menu) {
|
||||
MenuMac* menu = static_cast<MenuMac*>(base_menu);
|
||||
base::scoped_nsobject<ElectronMenuController> menu_controller(
|
||||
ElectronMenuController* menu_controller =
|
||||
[[ElectronMenuController alloc] initWithModel:menu->model_.get()
|
||||
useDefaultAccelerator:YES]);
|
||||
useDefaultAccelerator:YES];
|
||||
|
||||
NSRunLoop* currentRunLoop = [NSRunLoop currentRunLoop];
|
||||
[currentRunLoop cancelPerformSelector:@selector(setMainMenu:)
|
||||
target:NSApp
|
||||
argument:applicationMenu_];
|
||||
applicationMenu_.reset([[menu_controller menu] retain]);
|
||||
applicationMenu_ = [menu_controller menu];
|
||||
[[NSRunLoop currentRunLoop]
|
||||
performSelector:@selector(setMainMenu:)
|
||||
target:NSApp
|
||||
|
@ -243,8 +242,7 @@ void Menu::SetApplicationMenu(Menu* base_menu) {
|
|||
order:0
|
||||
modes:[NSArray arrayWithObject:NSDefaultRunLoopMode]];
|
||||
|
||||
// Ensure the menu_controller_ is destroyed after main menu is set.
|
||||
menu_controller.swap(menu->menu_controller_);
|
||||
menu->menu_controller_ = menu_controller;
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
|
@ -6,6 +6,10 @@
|
|||
|
||||
#include "shell/browser/mac/electron_application.h"
|
||||
|
||||
#if !defined(__has_feature) || !__has_feature(objc_arc)
|
||||
#error "This file requires ARC support."
|
||||
#endif
|
||||
|
||||
namespace electron::api {
|
||||
|
||||
void NativeTheme::UpdateMacOSAppearanceForOverrideValue(
|
||||
|
|
|
@ -12,6 +12,10 @@
|
|||
#include "shell/common/gin_converters/value_converter.h"
|
||||
#include "shell/common/gin_helper/promise.h"
|
||||
|
||||
#if !defined(__has_feature) || !__has_feature(objc_arc)
|
||||
#error "This file requires ARC support."
|
||||
#endif
|
||||
|
||||
namespace electron::api {
|
||||
|
||||
v8::Local<v8::Promise> PushNotifications::RegisterForAPNSNotifications(
|
||||
|
|
|
@ -30,13 +30,17 @@
|
|||
#include "skia/ext/skia_utils_mac.h"
|
||||
#include "ui/native_theme/native_theme.h"
|
||||
|
||||
#if !defined(__has_feature) || !__has_feature(objc_arc)
|
||||
#error "This file requires ARC support."
|
||||
#endif
|
||||
|
||||
namespace gin {
|
||||
|
||||
template <>
|
||||
struct Converter<NSAppearance*> {
|
||||
static bool FromV8(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> val,
|
||||
NSAppearance** out) {
|
||||
NSAppearance* __strong* out) {
|
||||
if (val->IsNull()) {
|
||||
*out = nil;
|
||||
return true;
|
||||
|
@ -409,7 +413,7 @@ std::string SystemPreferences::GetSystemColor(gin_helper::ErrorThrower thrower,
|
|||
}
|
||||
|
||||
bool SystemPreferences::CanPromptTouchID() {
|
||||
base::scoped_nsobject<LAContext> context([[LAContext alloc] init]);
|
||||
LAContext* context = [[LAContext alloc] init];
|
||||
LAPolicy auth_policy = LAPolicyDeviceOwnerAuthenticationWithBiometricsOrWatch;
|
||||
if (![context canEvaluatePolicy:auth_policy error:nil])
|
||||
return false;
|
||||
|
@ -422,7 +426,7 @@ v8::Local<v8::Promise> SystemPreferences::PromptTouchID(
|
|||
gin_helper::Promise<void> promise(isolate);
|
||||
v8::Local<v8::Promise> handle = promise.GetHandle();
|
||||
|
||||
base::scoped_nsobject<LAContext> context([[LAContext alloc] init]);
|
||||
LAContext* context = [[LAContext alloc] init];
|
||||
base::ScopedCFTypeRef<SecAccessControlRef> access_control =
|
||||
base::ScopedCFTypeRef<SecAccessControlRef>(
|
||||
SecAccessControlCreateWithFlags(
|
||||
|
@ -463,7 +467,8 @@ v8::Local<v8::Promise> SystemPreferences::PromptTouchID(
|
|||
|
||||
// static
|
||||
bool SystemPreferences::IsTrustedAccessibilityClient(bool prompt) {
|
||||
NSDictionary* options = @{(id)kAXTrustedCheckOptionPrompt : @(prompt)};
|
||||
NSDictionary* options =
|
||||
@{(__bridge id)kAXTrustedCheckOptionPrompt : @(prompt)};
|
||||
return AXIsProcessTrustedWithOptions((CFDictionaryRef)options);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue