diff --git a/extension/background.js b/extension/background.js index e6fba2b..f38f29e 100644 --- a/extension/background.js +++ b/extension/background.js @@ -713,19 +713,24 @@ async function onMessage(req) { }; function tryConnect() { + console.log('start tryConnect'); port = chrome.runtime.connectNative('com.rsnous.tabfs'); + console.log('start tryConnect - did connectNative'); port.onMessage.addListener(onMessage); port.onDisconnect.addListener(p => {console.log('disconnect', p)}); + console.log('tryConnect - about to sNM'); // Safari is very weird -- it has this native app that we have to talk to, // so we poke that app to wake it up, get it to start the TabFS process, // and get it to start calling us whenever TabFS wants to do an FS call. // Is there a better way to do this? if (chrome.runtime.getURL('/').startsWith('safari-web-extension://')) { // Safari-only chrome.runtime.sendNativeMessage('com.rsnous.tabfs', {op: 'safari_did_connect'}, function(resp) { + console.log('didConnect resp'); console.log(resp); }); } + console.log('tryConnect - did sNM'); } if (!TESTING) { diff --git a/extension/safari/TabFS/TabFS Extension/FSProcessManager.swift b/extension/safari/TabFS/TabFS Extension/FSProcessManager.swift index d17d934..ecfea87 100644 --- a/extension/safari/TabFS/TabFS Extension/FSProcessManager.swift +++ b/extension/safari/TabFS/TabFS Extension/FSProcessManager.swift @@ -8,6 +8,7 @@ import Foundation import SafariServices.SFSafariApplication +import os.log let extensionBundleIdentifier = "com.rsnous.TabFS-Extension" @@ -24,6 +25,9 @@ class FSProcessManager { func start() { fs = Process() fs.executableURL = URL(fileURLWithPath: "/Users/osnr/Code/tabfs/fs/tabfs") + + os_log(.default, "url: %{public}@", fs.executableURL as! NSURL) + fs.arguments = [] let inputPipe = Pipe(), outputPipe = Pipe() @@ -34,7 +38,7 @@ class FSProcessManager { fsInput = inputPipe.fileHandleForWriting fsOutput = outputPipe.fileHandleForReading -// +// // SFSafariApplication.dispatchMessage( // withName: "ToSafari", // toExtensionWithIdentifier: extensionBundleIdentifier, diff --git a/extension/safari/TabFS/TabFS Extension/SafariWebExtensionHandler.swift b/extension/safari/TabFS/TabFS Extension/SafariWebExtensionHandler.swift index 6ae1aae..e582e96 100644 --- a/extension/safari/TabFS/TabFS Extension/SafariWebExtensionHandler.swift +++ b/extension/safari/TabFS/TabFS Extension/SafariWebExtensionHandler.swift @@ -20,10 +20,10 @@ class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling { if message["op"] as! String == "safari_did_connect" { FSProcessManager.shared.start() - - let response = NSExtensionItem() - response.userInfo = [ "message": [ "aResponse to": "moop" ] ] - context.completeRequest(returningItems: [response], completionHandler: nil) +// +// let response = NSExtensionItem() +// response.userInfo = [ "message": [ "aResponse to": "moop" ] ] +// context.completeRequest(returningItems: [response], completionHandler: nil) return } diff --git a/extension/safari/TabFS/TabFS Extension/TabFS_Extension.entitlements b/extension/safari/TabFS/TabFS Extension/TabFS_Extension.entitlements index f2ef3ae..3ebfe4c 100644 --- a/extension/safari/TabFS/TabFS Extension/TabFS_Extension.entitlements +++ b/extension/safari/TabFS/TabFS Extension/TabFS_Extension.entitlements @@ -2,9 +2,9 @@ - com.apple.security.app-sandbox - - com.apple.security.files.user-selected.read-only - + com.apple.security.app-sandbox + + com.apple.security.files.all + diff --git a/extension/safari/TabFS/TabFS.xcodeproj/project.xcworkspace/xcuserdata/osnr.xcuserdatad/UserInterfaceState.xcuserstate b/extension/safari/TabFS/TabFS.xcodeproj/project.xcworkspace/xcuserdata/osnr.xcuserdatad/UserInterfaceState.xcuserstate index 231f2f7..90dd5fe 100644 Binary files a/extension/safari/TabFS/TabFS.xcodeproj/project.xcworkspace/xcuserdata/osnr.xcuserdatad/UserInterfaceState.xcuserstate and b/extension/safari/TabFS/TabFS.xcodeproj/project.xcworkspace/xcuserdata/osnr.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/extension/safari/TabFS/TabFS.xcodeproj/xcuserdata/osnr.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/extension/safari/TabFS/TabFS.xcodeproj/xcuserdata/osnr.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 3f0b7de..4af142b 100644 --- a/extension/safari/TabFS/TabFS.xcodeproj/xcuserdata/osnr.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/extension/safari/TabFS/TabFS.xcodeproj/xcuserdata/osnr.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -30,8 +30,8 @@ filePath = "TabFS Extension/FSProcessManager.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "25" - endingLineNumber = "25" + startingLineNumber = "26" + endingLineNumber = "26" landmarkName = "start()" landmarkType = "7"> @@ -56,7 +56,7 @@ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">