diff --git a/omega-target-chromium-extension/src/options.coffee b/omega-target-chromium-extension/src/options.coffee index d7b4310..42e8a90 100644 --- a/omega-target-chromium-extension/src/options.coffee +++ b/omega-target-chromium-extension/src/options.coffee @@ -189,8 +189,13 @@ class ChromeOptions extends OmegaTarget.Options if profile.profileType == 'SystemProfile' # MOZ: SystemProfile cannot be done now due to lack of "PASS" support. # https://bugzilla.mozilla.org/show_bug.cgi?id=1319634 - # In the mean time, let's just set an invalid script to unregister it. - browser.proxy.registerProxyScript('js/omega_invalid_proxy_script.min.js') + # In the mean time, let's just unregister the script. + if browser.proxy.unregister? + browser.proxy.unregister() + else + # Some older browers may not ship with .unregister API. + # In that case, let's just set an invalid script to unregister it. + browser.proxy.registerProxyScript('js/omega_invalid_proxy_script.js') @_proxyScriptDisabled = true else @_proxyScriptState = state @@ -206,8 +211,8 @@ class ChromeOptions extends OmegaTarget.Options if not @_proxyScriptInitialized browser.proxy.onProxyError.addListener (err) => if err and err.message.indexOf('Invalid Proxy Rule: DIRECT') >= 0 - # MOZ: DIRECT cannot be correctly parsed due to a bug. Even though it - # throws, it actually falls back to direct connection so it works. + # DIRECT cannot be parsed in Mozilla earlier due to a bug. Even though + # it throws, it actually falls back to direct connection so it works. # https://bugzilla.mozilla.org/show_bug.cgi?id=1355198 return @log.error(err) @@ -228,7 +233,11 @@ class ChromeOptions extends OmegaTarget.Options browser.runtime.onMessage.removeListener onMessage return browser.runtime.onMessage.addListener onMessage - browser.proxy.registerProxyScript(@_proxyScriptUrl) + # The API has been renamed to .register but for some old browsers' sake: + if browser.proxy.register? + browser.proxy.register(@_proxyScriptUrl) + else + browser.proxy.registerProxyScript(@_proxyScriptUrl) @_proxyScriptDisabled = false else promise = Promise.resolve()