1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-11 22:03:36 +00:00

[PM-1608] Changed safari extension save dialog (#5127)

* PS-1608 - Changed safari extension save dialog

* PM-1608 moved setActivationPolicy to constructor
This commit is contained in:
aj-rosado
2023-04-13 14:30:45 +01:00
committed by GitHub
parent 3300a4cc15
commit e08dafcf5f

View File

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