Fix nsSHEntry::AddChild assertion after local->remote->local process switch in parser-created iframe
Categories
(Core :: DOM: Navigation, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | fixed |
People
(Reporter: kmag, Assigned: kmag)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
When we have a parser-created iframe which starts out in-process, transitions to remote, and then transitions back to in-process, we create separate DocShells for the first and last in-process loads. Since both are network-created, and have the same child index, they both try to add themselves as children to their parent's SHistory at the same index. And since the entry for the first DocShell already exists at that index when we try to add the second, that triggers an assertion.
This isn't really ideal, but it is expected given the current state of session history under Fission. It should hopefully be solved more gracefully when the Fission-aware session history rewrite is done, but in the mean time, I think we should just ignore the conflict, since it's expected.
Assignee | ||
Comment 1•5 years ago
|
||
When we have a parser-created iframe which starts out in-process, transitions
to remote, and then transitions back to in-process, we create separate
DocShells for the first and last in-process loads. Since both are
network-created, and have the same child index, they both try to add
themselves as children to their parent's SHistory at the same index. And since
the entry for the first DocShell already exists at that index when we try to
add the second, that triggers an assertion.
This isn't really ideal, but it is expected given the current state of session
history under Fission. It should hopefully be solved more gracefully when the
Fission-aware session history rewrite is done, but in the mean time, I think
we should just ignore the conflict, since it's expected.
Updated•5 years ago
|
Comment 3•5 years ago
|
||
bugherder |
Description
•