|
|
|
|
@ -8,6 +8,11 @@ let ServiceNameBiometric = ServiceName + "_biometric"
@@ -8,6 +8,11 @@ let ServiceNameBiometric = ServiceName + "_biometric"
|
|
|
|
|
|
|
|
|
|
class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling { |
|
|
|
|
|
|
|
|
|
override init() { |
|
|
|
|
super.init(); |
|
|
|
|
NSApplication.shared.setActivationPolicy(.accessory) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func beginRequest(with context: NSExtensionContext) { |
|
|
|
|
let item = context.inputItems[0] as! NSExtensionItem |
|
|
|
|
let message = item.userInfo?[SFExtensionMessageKey] as AnyObject? |
|
|
|
|
@ -54,11 +59,12 @@ class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling {
@@ -54,11 +59,12 @@ class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling {
|
|
|
|
|
guard let data = blobData else { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
let panel = NSSavePanel() |
|
|
|
|
panel.isFloatingPanel = true |
|
|
|
|
panel.canCreateDirectories = true |
|
|
|
|
panel.nameFieldStringValue = dlMsg.fileName |
|
|
|
|
panel.begin { response in |
|
|
|
|
let response = panel.runModal(); |
|
|
|
|
|
|
|
|
|
if response == NSApplication.ModalResponse.OK { |
|
|
|
|
if let url = panel.url { |
|
|
|
|
do { |
|
|
|
|
@ -74,7 +80,6 @@ class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling {
@@ -74,7 +80,6 @@ class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break |
|
|
|
|
case "sleep": |
|
|
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 10) { |
|
|
|
|
|