fix: properly register custom url evt handling (#20523)

This commit is contained in:
trop[bot]
2019-10-10 23:15:53 +02:00
committed by Shelley Vohr
parent f6894da715
commit 4463715714
5 changed files with 9 additions and 1 deletions

View File

@@ -535,6 +535,7 @@ void AtomBrowserMainParts::PreMainMessageLoopStart() {
void AtomBrowserMainParts::PreMainMessageLoopStartCommon() {
#if defined(OS_MACOSX)
InitializeEmptyApplicationMenu();
RegisterURLHandler();
#endif
media::SetLocalizedStringProvider(MediaStringProvider);
}

View File

@@ -105,6 +105,7 @@ class AtomBrowserMainParts : public content::BrowserMainParts {
#if defined(OS_MACOSX)
void FreeAppDelegate();
void RegisterURLHandler();
void InitializeEmptyApplicationMenu();
#endif

View File

@@ -5,6 +5,7 @@
#include "shell/browser/atom_browser_main_parts.h"
#include "shell/browser/atom_paths.h"
#import "shell/browser/mac/atom_application.h"
#include "shell/browser/mac/atom_application_delegate.h"
namespace electron {
@@ -72,6 +73,10 @@ void AtomBrowserMainParts::FreeAppDelegate() {
[NSApp setDelegate:nil];
}
void AtomBrowserMainParts::RegisterURLHandler() {
[[AtomApplication sharedApplication] registerURLHandler];
}
void AtomBrowserMainParts::InitializeEmptyApplicationMenu() {
base::scoped_nsobject<NSMenu> main_menu = BuildEmptyMainMenu();
[[NSApplication sharedApplication] setMainMenu:main_menu];

View File

@@ -97,6 +97,7 @@ typedef NS_ENUM(NSInteger, AVAuthorizationStatusMac) {
+ (AtomApplication*)sharedApplication;
- (void)setShutdownHandler:(base::Callback<bool()>)handler;
- (void)registerURLHandler;
// CrAppProtocol:
- (BOOL)isHandlingSendEvent;

View File

@@ -153,7 +153,7 @@ inline void dispatch_sync_main(dispatch_block_t block) {
[userActivity setNeedsSave:YES];
}
- (void)awakeFromNib {
- (void)registerURLHandler {
[[NSAppleEventManager sharedAppleEventManager]
setEventHandler:self
andSelector:@selector(handleURLEvent:withReplyEvent:)