Bug 1830884 Comment 14 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Thanks for the patches!

Before answering in details, I am having an issue with our current approach for the seenNodes map. We made this a parent process map per navigable, but I am no longer sure this is needed.

My assumptions:
- the seenNodes map in the parent process is only useful to check if an element is stale or not
- "stale" means either that the element is not connected or that it's document is not the "current" document

If that is correct, then for the parent process it doesn't matter if a given node id was seen for the navigable where we tried to find it or not. As long as it was seen "anywhere" it should result in a stale exception. Which means we should be able to make the seenNodes information in the parent process a simple set of ids?

I am probably overlooking something, so if someone can clarify the scenario or use cases where this doesn't hold, it would be helpful.

We can probably have another discussion at this point.
Thanks for the patches!

Before answering in details, I am having an issue with our current approach for the seenNodes map. We made this a parent process map per navigable, but I am no longer sure this is needed.

My assumptions:
- the seenNodes map in the parent process is only useful to check if an element is stale or not
- "stale" means either that the element is not connected or that it's document is not the "current" document

If that is correct, then for the parent process it doesn't matter if a given node id was seen for the navigable where we tried to find it or not. As long as it was seen "anywhere" it should result in a stale exception. Which means we should be able to make the seenNodes information in the parent process a simple set of ids?

I am probably overlooking something, so if someone can clarify the scenario or use cases where this doesn't hold, it would be helpful.

Edit: Henrik clarified that having it per navigable was important for cleaning up the map when navigables are destroyed, which makes sense as we don't  want to indefinitely grow this map.

We can probably have another discussion at this point.

Back to Bug 1830884 Comment 14