Reduce complexity of session restore with SHIP
Categories
(Core :: DOM: Navigation, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox87 | --- | fixed |
People
(Reporter: neha, Assigned: jesup)
References
(Blocks 2 open bugs)
Details
Attachments
(3 files, 5 obsolete files)
Mainly cleanup required for session restore to work correctly with SHIP, which will fix some session restore test failures.
Reporter | ||
Updated•4 years ago
|
This reverts some of the work from bug 1507287. It tries to clean-up how
restores work when SHiP is enabled by splitting up the process into explicit
phases that both content and parent attempt to follow.
WIP: There's a few TODOs through the code, and probably a number of corner cases
that haven't been tested yet.
Updated•4 years ago
|
Updated•4 years ago
|
Comment 5•4 years ago
|
||
Based on :kashav's most recent try run (https://treeherder.mozilla.org/jobs?repo=try&revision=365c54434cf41e6a8e31ae3a89ad9de79388a774, based on comments from https://phabricator.services.mozilla.com/D94900#3103893), I took a quick look at the failures which were occuring. The first failure in the log was TEST-UNEXPECTED-FAIL | browser/components/sessionstore/test/browser_615394-SSWindowState_events_duplicateTab.js | undefined assertion name - Got +0, expected 1
.
This assertion is being fired here: https://searchfox.org/mozilla-central/rev/277ab3925eae21b419167a34624ec0ab518d0c94/browser/components/sessionstore/test/browser_615394-SSWindowState_events_duplicateTab.js#46, which is caused by the SSWindowStateReady
event not having fired before the SSTabRestoring
event is fired. This makes sense with the changes in the revision, as SSWindowStateReady
is fired from https://searchfox.org/mozilla-central/rev/277ab3925eae21b419167a34624ec0ab518d0c94/browser/components/sessionstore/SessionStore.jsm#4758.
Previously, this would have fired before the SSTabRestoring
event, as that event would be fired from the receiveMessage
callback from the content process after restoring session history is complete here: https://searchfox.org/mozilla-central/rev/277ab3925eae21b419167a34624ec0ab518d0c94/browser/components/sessionstore/SessionStore.jsm#1421, which wouldn't be called until at least one spin of the event loop after the history restore had been requested here: https://searchfox.org/mozilla-central/rev/277ab3925eae21b419167a34624ec0ab518d0c94/browser/components/sessionstore/SessionStore.jsm#4701-4706.
With kashav's changes, this now flipped around, as we can restore history synchronously, due to the history object being in the parent process. This means in turn that SSTabRestoring
will fire before SSWindowStateReady
, due to _sendRestoreHistory
being called before _setWindowStateReady
.
It may be enough to delay the call to SSTabRestoring
by dispatching the call to _restoreHistoryComplete
to the event loop.
I am uncertain whether this will fix any of the other test failures after the first one in that try push, and haven't looked into them at all.
ni? :jesup as requested by :neha
Assignee | ||
Comment 6•4 years ago
|
||
Assignee | ||
Updated•4 years ago
|
Reporter | ||
Updated•4 years ago
|
Reporter | ||
Comment 7•4 years ago
|
||
Randell is fixing the remaining test failures in Kashav's patches to get them ready for review and landing.
Assignee | ||
Comment 8•4 years ago
|
||
Assignee | ||
Comment 9•4 years ago
|
||
With mods from kashav's last Try run
Assignee | ||
Comment 10•4 years ago
|
||
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 11•4 years ago
|
||
Depends on D95227
Assignee | ||
Updated•4 years ago
|
Comment 12•4 years ago
|
||
Comment 13•4 years ago
|
||
Comment 14•4 years ago
|
||
Backed out 3 changesets (bug 1673617) for Browser-chrome failures in docshell/test/browser/browser_bug1347823.js. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer?job_id=327176204&repo=autoland&lineNumber=2306
https://treeherder.mozilla.org/logviewer?job_id=327179045&repo=autoland&lineNumber=2837
Push with failures:
https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&revision=533092a71225cf694d48b2c5059ec7bdc2441187
Backout:
https://hg.mozilla.org/integration/autoland/rev/695669a8f1c6897ed0dc70a5f080487f8885df21
Comment 15•4 years ago
|
||
Comment 16•4 years ago
|
||
Backed out 3 changesetsfor causing failure on browser_child_resource.js.
Backout link: https://hg.mozilla.org/integration/autoland/rev/beccb3a1a3c4944d793975be9512145e4960666c
Failure log: https://treeherder.mozilla.org/logviewer?job_id=327553673&repo=autoland&lineNumber=4588
https://treeherder.mozilla.org/logviewer?job_id=327530999&repo=autoland&lineNumber=5693
Updated•4 years ago
|
Comment 17•4 years ago
|
||
Comment 18•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/56962291638a
https://hg.mozilla.org/mozilla-central/rev/ca97eba8c7c3
https://hg.mozilla.org/mozilla-central/rev/7c8497aa7523
Reporter | ||
Updated•4 years ago
|
Reporter | ||
Updated•4 years ago
|
Description
•