| Index: ext/background.js |
| =================================================================== |
| --- a/ext/background.js |
| +++ b/ext/background.js |
| @@ -617,7 +617,9 @@ |
| { |
| sender.page = new Page(rawSender.tab); |
| sender.frame = { |
| - url: new URL(rawSender.url), |
| + // In Edge requests from internal extension pages |
| + // (protocol ms-browser-extension://) do no have a sender URL. |
| + url: rawSender.url ? new URL(rawSender.url) : null, |
| get parent() |
| { |
| let frames = framesOfTabs.get(rawSender.tab.id); |
| @@ -699,7 +701,10 @@ |
| { |
| chrome.windows.getLastFocused(win => |
| { |
| - let optionsUrl = chrome.extension.getURL("options.html"); |
| + // NOTE: we expect this else branch to run only on Edge. |
| + // We are not using extension.getURL here because of the Edge issue: |
| + // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10276332/ |
| + let optionsUrl = "options.html"; |
| let queryInfo = {url: optionsUrl}; |
| // extension pages can't be accessed in incognito windows. In order to |