Implemented the NodeIterator interface for WorkerDOM #1187
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I implemented the NodeIterator interface from DOM API for WorkerDOM.
This opens up the possibility for computationally expensive DOM traversal algorithms to be ran in a web worker to avoid any unresponsive user experiences.
Example use-case: Mark.js is a fully-featured highlighter that works by finding target texts within DOM elements, splitting those DOM elements, and applying a highlighter class for the new target text DOM element: https://github.com/julkue/mark.js.
In the worst-case, it can crash the tab. This PR within WorkerDOM would prevent that (although it would double the actual time to complete which also isn't a great real-world solution).
Nonetheless, the possibilities of being able to run complex DOM traversal algorithms seems interesting.