Open Bug 1423168 Opened 7 years ago Updated 2 months ago

Extension page resets / blanks out upon initiating a navigation to a non-extension URL

Categories

(WebExtensions :: General, defect, P3)

56 Branch
defect

Tracking

(Not tracked)

People

(Reporter: robwu, Unassigned)

References

(Depends on 1 open bug)

Details

Attachments

(1 file)

(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.
Priority: -- → P3
Product: Toolkit → WebExtensions
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

On the following configurations:

  • Firefox 76.0.1 with extensions.webextensions.remote=false
  • Firefox 78.0a1 buildID 20200516093457 with extensions.webextensions.remote=false
  • Fenix Nightly 200508 build #21290607 (default settings)

I see the following in the global JS console (or remote debugging for Fenix):

Security Error: Content at moz-extension://b4e62b96-b8c6-4757-bbd2-e1557b8969d2/tab.html may not load data from blob:moz-extension://b4e62b96-b8c6-4757-bbd2-e1557b8969d2/9bd755b1-8346-47b7-9e46-c7e04104ca15.

OOP WebExtensions are enabled by default on desktop.
OOP WebExtensions are not yet enabled by default on mobile (bug 1535365).

Blocks: 1535365

Tracking this bug for Android Fission milestone M2 (pass tests with Fission enabled).

Whiteboard: [fission:android:m2]

I don't think this is related to Fission or should block it.

Whiteboard: [fission:android:m2]
Severity: normal → S3
Whiteboard: [addons-jira]
No longer blocks: 1535365
Depends on: 1535365

We do not need to track that for GA.

Whiteboard: [addons-jira]
Depends on: 1880856
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: