update safari sub-repo to latest extension manifest

This commit is contained in:
SethBurkart123
2023-12-03 11:39:50 +11:00
parent c940cdf106
commit 9abc4dab53
10 changed files with 350 additions and 373 deletions
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -2,23 +2,23 @@ function show(platform, enabled, useSettingsInsteadOfPreferences) {
document.body.classList.add(`platform-${platform}`); document.body.classList.add(`platform-${platform}`);
if (useSettingsInsteadOfPreferences) { if (useSettingsInsteadOfPreferences) {
document.getElementsByClassName('platform-mac state-on')[0].innerText = 'BetterSEQTA+s extension is currently on. You can turn it off in the Extensions section of Safari Settings.'; document.getElementsByClassName('platform-mac state-on')[0].innerText = "BetterSEQTA+s extension is currently on. You can turn it off in the Extensions section of Safari Settings.";
document.getElementsByClassName('platform-mac state-off')[0].innerText = 'BetterSEQTA+s extension is currently off. You can turn it on in the Extensions section of Safari Settings.'; document.getElementsByClassName('platform-mac state-off')[0].innerText = "BetterSEQTA+s extension is currently off. You can turn it on in the Extensions section of Safari Settings.";
document.getElementsByClassName('platform-mac state-unknown')[0].innerText = 'You can turn on BetterSEQTA+s extension in the Extensions section of Safari Settings.'; document.getElementsByClassName('platform-mac state-unknown')[0].innerText = "You can turn on BetterSEQTA+s extension in the Extensions section of Safari Settings.";
document.getElementsByClassName('platform-mac open-preferences')[0].innerText = 'Quit and Open Safari Settings…'; document.getElementsByClassName('platform-mac open-preferences')[0].innerText = "Quit and Open Safari Settings…";
} }
if (typeof enabled === 'boolean') { if (typeof enabled === "boolean") {
document.body.classList.toggle('state-on', enabled); document.body.classList.toggle(`state-on`, enabled);
document.body.classList.toggle('state-off', !enabled); document.body.classList.toggle(`state-off`, !enabled);
} else { } else {
document.body.classList.remove('state-on'); document.body.classList.remove(`state-on`);
document.body.classList.remove('state-off'); document.body.classList.remove(`state-off`);
} }
} }
function openPreferences() { function openPreferences() {
webkit.messageHandlers.controller.postMessage('open-preferences'); webkit.messageHandlers.controller.postMessage("open-preferences");
} }
document.querySelector('button.open-preferences').addEventListener('click', openPreferences); document.querySelector("button.open-preferences").addEventListener("click", openPreferences);
+3 -3
View File
@@ -2,7 +2,7 @@
// ViewController.swift // ViewController.swift
// Shared (App) // Shared (App)
// //
// Created by Seth Burkart on 10/9/2023. // Created by Seth Burkart on 3/12/2023.
// //
import WebKit import WebKit
@@ -62,7 +62,7 @@ class ViewController: PlatformViewController, WKNavigationDelegate, WKScriptMess
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
#if os(macOS) #if os(macOS)
if (message.body as! String != "open-preferences") { if (message.body as! String != "open-preferences") {
return; return
} }
SFSafariApplication.showPreferencesForExtension(withIdentifier: extensionBundleIdentifier) { error in SFSafariApplication.showPreferencesForExtension(withIdentifier: extensionBundleIdentifier) { error in
@@ -72,7 +72,7 @@ class ViewController: PlatformViewController, WKNavigationDelegate, WKScriptMess
} }
DispatchQueue.main.async { DispatchQueue.main.async {
NSApplication.shared.terminate(nil) NSApp.terminate(self)
} }
} }
#endif #endif
@@ -2,25 +2,37 @@
// SafariWebExtensionHandler.swift // SafariWebExtensionHandler.swift
// Shared (Extension) // Shared (Extension)
// //
// Created by Seth Burkart on 10/9/2023. // Created by Seth Burkart on 3/12/2023.
// //
import SafariServices import SafariServices
import os.log import os.log
let SFExtensionMessageKey = "message"
class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling { class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling {
func beginRequest(with context: NSExtensionContext) { func beginRequest(with context: NSExtensionContext) {
let item = context.inputItems[0] as! NSExtensionItem let request = context.inputItems.first as? NSExtensionItem
let message = item.userInfo?[SFExtensionMessageKey]
os_log(.default, "Received message from browser.runtime.sendNativeMessage: %@", message as! CVarArg) let profile: UUID?
if #available(iOS 17.0, macOS 14.0, *) {
profile = request?.userInfo?[SFExtensionProfileKey] as? UUID
} else {
profile = request?.userInfo?["profile"] as? UUID
}
let message: Any?
if #available(iOS 17.0, macOS 14.0, *) {
message = request?.userInfo?[SFExtensionMessageKey]
} else {
message = request?.userInfo?["message"]
}
os_log(.default, "Received message from browser.runtime.sendNativeMessage: %@ (profile: %@)", String(describing: message), profile?.uuidString ?? "none")
let response = NSExtensionItem() let response = NSExtensionItem()
response.userInfo = [ SFExtensionMessageKey: [ "Response to": message ] ] response.userInfo = [ SFExtensionMessageKey: [ "echo": message ] ]
context.completeRequest(returningItems: [response], completionHandler: nil) context.completeRequest(returningItems: [ response ], completionHandler: nil)
} }
} }
+1 -1
View File
@@ -2,7 +2,7 @@
// AppDelegate.swift // AppDelegate.swift
// iOS (App) // iOS (App)
// //
// Created by Seth Burkart on 10/9/2023. // Created by Seth Burkart on 3/12/2023.
// //
import UIKit import UIKit
+1 -1
View File
@@ -3,7 +3,7 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>SFSafariWebExtensionConverterVersion</key> <key>SFSafariWebExtensionConverterVersion</key>
<string>14.3.1</string> <string>15.0</string>
<key>UIApplicationSceneManifest</key> <key>UIApplicationSceneManifest</key>
<dict> <dict>
<key>UIApplicationSupportsMultipleScenes</key> <key>UIApplicationSupportsMultipleScenes</key>
+1 -1
View File
@@ -2,7 +2,7 @@
// SceneDelegate.swift // SceneDelegate.swift
// iOS (App) // iOS (App)
// //
// Created by Seth Burkart on 10/9/2023. // Created by Seth Burkart on 3/12/2023.
// //
import UIKit import UIKit
+1 -1
View File
@@ -2,7 +2,7 @@
// AppDelegate.swift // AppDelegate.swift
// macOS (App) // macOS (App)
// //
// Created by Seth Burkart on 10/9/2023. // Created by Seth Burkart on 3/12/2023.
// //
import Cocoa import Cocoa
+1 -1
View File
@@ -3,6 +3,6 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>SFSafariWebExtensionConverterVersion</key> <key>SFSafariWebExtensionConverterVersion</key>
<string>14.3.1</string> <string>15.0</string>
</dict> </dict>
</plist> </plist>