Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upImprove/reconsider Spec compliance of history-traversal task-source and task-queue #21815
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It appears that the Spec contains two related concepts:
The queue under 1 appears to be a concept to be run "in parallel", and currently Servo appears to implement it via
Historysending messages directly to the constellation, which appears correct if only a little implicit in it's implementation. SeeHistory.traverse_historyand Step 1 of#traverse-the-history-by-a-delta.This queue doesn't seem to have an explicit task source associated with it, like the other script task queues does.
Therefore, the "history-traversal" task source isn't actually used to queue tasks on that parallel history-traversal queue, instead the task-source is used to queue task on a script event-loop, for example see the document unload steps in Step 5 of #traverse-the-history-by-a-delta.
Currently, while we do have a
HistoryTraversalTaskSource, it doesn't seem like we're using it to enqueue the task mentioned at Step 5, and also the task source doesn't actually implementTaskSourceand appears un-used.We could consider implementing TaskSource for it, and use it in Step 5 of #traverse-the-history-by-a-delta
cc @cbrewster @AgustinCB