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:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user