The initial proxy api created a pseudo-pac script since the proxy filter system was synchronous at that stage. It never implemented the PAC APIs (partly due to a requirement for synchronous DNS in them), so normal in-the-wild PAC scripts will not work with this. Now that an asynchronous api has landed, we should deprecate the old stuff and get it removed eventually.
FYI: bug 1456786 contains one note that is relevant to the proxy.register API: > The only reason for subscribing to messages on the parent process manager is: > - ProxyScriptContext > * context.messageManager = cpmm: > https://searchfox.org/mozilla-central/rev/36dec78aecc40539ecc8d78e91612e38810f963c/toolkit/components/extensions/ProxyScriptContext.jsm#361 > * Messenger: > https://searchfox.org/mozilla-central/rev/36dec78aecc40539ecc8d78e91612e38810f963c/toolkit/components/extensions/ProxyScriptContext.jsm#508 If this old proxy API is removed, then the proxy script context disappears too, and then the main process does not have recipients for extension messages, except for native messaging and embedded WebExtensions (which are currently already handled separately). This may change when the internals of extension messaging is refactored by Kris.
Ok, a comment for the see also would have been helpful.
FYI one option is to get this to work in its own thread. Then we could actually implement the full PAC api, including synchronous dns. In that case, we wouldn't deprecate this api. Supporting multiple PAC scripts would be useful for organizations that rely on them. I haven't really looked into it, not sure how much effort it is.
Summary: deprecate proxy.register/unregister → Remove proxy.register/unregister
Target Milestone: --- → Future
You need to log in before you can comment on or make changes to this bug.