diff --git a/Sources/BrowserServicesKit/ContentScopeScript/SpecialPagesUserScript.swift b/Sources/BrowserServicesKit/ContentScopeScript/SpecialPagesUserScript.swift index 77d94745a..455f177de 100644 --- a/Sources/BrowserServicesKit/ContentScopeScript/SpecialPagesUserScript.swift +++ b/Sources/BrowserServicesKit/ContentScopeScript/SpecialPagesUserScript.swift @@ -48,6 +48,19 @@ extension SpecialPagesUserScript: WKScriptMessageHandlerWithReply { // MARK: - Fallback for macOS 10.15 extension SpecialPagesUserScript: WKScriptMessageHandler { public func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { - // insecure messaging not required in special pages + let action = broker.messageHandlerFor(message); + + // we only accept messages where we can encrypt the response + guard case .respondEncrypted(_, _, let params) = action else { + return + } + + do { + try broker.execute(action: action, original: message) { [weak broker] json in + broker?.encryptMessageResponse(response: json, params: params, message: message) + } + } catch let error { + // there's no way of communicating this + } } }