Open Bug 1423168 Opened 3 years ago Updated 5 months ago
Extension page resets / blanks out upon initiating a navigation to a non-extension URL
(This seems to be the root cause of bug 1420419.) When an attempt is made to load a non-extension page in a moz-extension:-page, then the page blanks out and switches to that next page before the server has responded to that request. To see this, simply open an extension page and visit https://204.robwu.nl , which responds with HTTP status code 204 (No Content). In response to HTTP status code 204, the document is not expected to switch views. Therefore a navigation to HTTP 204 should ultimately result in the user staying on the previous page, a moz-extension:-page in this case. To see that the page blanks out before any reply is received, you can use netcat to manually write the HTTP response, and navigate Firefox from a moz-extension:-URL to http://localhost:8080 . After sending that navigation request, Firefox will immediately switch to a new document. $ nc -l -p 8080 GET / HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Connection: keep-alive Upgrade-Insecure-Requests: 1 HTTP/1.1 204 No Content (before writing the above line, Firefox already switches to a new document) The expected behavior is to not switch the document until the server response has been received and it has been determined that the document should really be unloaded.
STR: 1. Enable e10s and disable out-of-process WebExtensions. 2. Load extension. 3. Click on any of the "blob-URL" or "data-URL" links. Expected: - Download dialog with a sensible file name. - Page does not blank out. Actual: - Download dialog, the file name is lost (bug 1379960). - Page becomes blank. This bug does not occur if either e10s is off, or OOP WebExtensions are enabled: web-ext run --pref=extensions.webextensions.remote=true web-ext run --pref=browser.tabs.remote.autostart=false
You need to log in before you can comment on or make changes to this bug.