Open Bug 1649350 Opened 4 years ago Updated 3 years ago

Don't clear BrowsingContext::CurrentLoadIdentifier until the load fully completes

Categories

(Core :: DOM: Navigation, task, P3)

task

Tracking

()

Fission Milestone Future

People

(Reporter: mattwoodrow, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

CurrentLoadIdentifier on BrowsingContext currently gets cleared when DocumentLoadListener switches out for the 'real' transport channel (which happens once we get a response).

For the purposes of preventing form double submissions, it might be better to have the value preserved until we finish loading the resulting Document.

I think this also could be useful for synthesizing nsIWebProgressListener events (bug 1647554) from the parent process, since we also want the onStateChange(STATE_STOP) event to be fired once the Document is loaded.

I'll attach a WIP that does this, and tightly associates the mCurrentLoad (DocumentLoadListener*) in the CanonicalBrowsingContext with the CurrentLoadIdentifier.
We should be able to use a DidSet implementation to emit web progress events, using the current load object to provide the nsIRequest state.

Severity: -- → S3
Type: defect → task
Priority: -- → P3
Assignee: nobody → matt.woodrow
Status: NEW → ASSIGNED
Fission Milestone: --- → Future
Assignee: matt.woodrow → nobody
Status: ASSIGNED → NEW
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: