Closed Bug 1599006 Opened 5 years ago Closed 5 years ago

[fission] Redirect page history and frecency data not passed around when process switching

Categories

(Core :: DOM: Content Processes, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla72
Fission Milestone M4.1
Tracking Status
firefox72 --- fixed

People

(Reporter: jya, Assigned: jya)

References

Details

Attachments

(4 files)

Work to fix this issue started with bug 1596665/

If cross-origin redirects occur, the page history and frecency data will not be passed to the new content process.

This can be verified by tweaking the tests in toolkit/components/places/tests/browser/ so that a cross-origin redirect occurs.

By making the final redirect use a cross-origin destination we can exercise the fission code and expose issues.

Fission Milestone: --- → M4.1

Depends on D54454

A typo prevented for moves to actually occur. Fix other IPDL entry points while at it that could benefit from move semantics.

Depends on D54907

This allows test toolkit/components/places/tests/browser/browser_multi_redirect_frecency.js and others to pass when fission is enabled.

The content process expects to know the chain of redirects encountered while opening a URI. The DocumentChannelParent gather that information and sends it to the new ContentChild which can then propagate the information to the new nsDocShell.

The data used to only be passed around during same-origin redirects when fission mode was enabled.

In order to allow for move semantics and preventing unnecessary copy of the DocumentChannelRedirect array, we make the nsIChildProcessChannelListener::onChannelReady property C++ only (noscript).
As we have only one concrete nsIChildProcessChannelListener class (ChildProcessListener) and that the unique OnChannelReady implementation is infallible; we really don't need for the method to return nsresult (so we declare it nostdcall). This helps simplify that call.

Depends on D54908

See Also: → 1599968
Pushed by jyavenard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9b115cb4fce6 P1. Use cross-origin redirects to exercise fission code. r=mak https://hg.mozilla.org/integration/autoland/rev/578557e3b952 P2. Fix namespace comment. r=mattwoodrow https://hg.mozilla.org/integration/autoland/rev/7531b31fc05a P3. Fix move semantics. r=mattwoodrow https://hg.mozilla.org/integration/autoland/rev/b87b36262b01 P4. Properly carry history and frecency data when switching process. r=kmag,mayhemer.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: