| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- //
- // SafariWebExtensionHandler.swift
- // Light Theme for YouTube Music Extension
- //
- // Created by Murad Jabir on 2026-09-17.
- //
- import SafariServices
- import os.log
- class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling {
- func beginRequest(with context: NSExtensionContext) {
- let request = context.inputItems.first as? NSExtensionItem
- 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 15.0, macOS 11.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()
- if #available(iOS 15.0, macOS 11.0, *) {
- response.userInfo = [ SFExtensionMessageKey: [ "echo": message ] ]
- } else {
- response.userInfo = [ "message": [ "echo": message ] ]
- }
- context.completeRequest(returningItems: [ response ], completionHandler: nil)
- }
- }
|