Open Bug 1672589 Opened 4 years ago Updated 2 years ago

Implement CanonicalBrowsingContext::Reload using SHIP

Categories

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

task

Tracking

()

ASSIGNED

People

(Reporter: mattwoodrow, Assigned: farre)

References

(Blocks 1 open bug)

Details

Current CBC::Reload sends a reload message to the content process docshell, which then immediately sends NotifyOnHistoryReload back to the CBC.

We should instead be able to run NotifyOnHistoryReload immediately, compute an nsDocShellLoadState, and then call CanonicalBrowsingContext::LoadURI to start loading it immediately in the parent process.

Some other corner cases:

nsDocShell::LoadHistoryEntry can show a 'confirm repost' prompt if the history entry had form data. We'd want to make sure we can do this from the parent as well, which it looks like we can.

nsDocShell::LoadHistoryEntry has special handling for javascript: URIs.

nsDocShell::ReloadDocument handles the case where we have no history, but want to just reload the current document. It computes an nsDocShellLoadState from the current Document. I think we can reimplement this easily using the current WindowGlobalParent.

We should be able to do something similar for Forward/Back/GoToIndex etc, but I haven't looked at those.

Severity: -- → N/A
Type: defect → task
Fission Milestone: --- → MVP

Olli confirmed that this is not a Fission blocker so moving to Future.

Fission Milestone: MVP → Future

This is tracked through bug 1647550.

Fission Milestone: Future → ---
Priority: -- → P3
Assignee: nobody → afarre
Status: NEW → ASSIGNED
You need to log in before you can comment on or make changes to this bug.