Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HTML API: Add method to report depth of currently-matched node.
The HTML Processor maintains a stack of open elements, where every element, every `#text` node, every HTML comment, and other node is pushed and popped while traversing the document. The "depth" of each of these nodes represents how deep that stack is where the node appears. Unfortunately this information isn't exposed to calling code, which has led different projects to attempt to calculate this value externally. This isn't always trivial, but the HTML Processor could make it so by exposing the internal knowledge in a new method. In this patch the `get_current_depth()` method returns just that. Since the processor always exists within a context, the depth includes nesting from the always-present html element and also the body, since currently the HTML Processor only supports parsing in the IN BODY context. This means that the depth reported for the `DIV` in `<div>` is 3, not 1, because its breadcrumbs path is `HTML > BODY > DIV`. Developed in WordPress/wordpress-develop#6589 Discussed in https://core.trac.wordpress.org/ticket/61255 Fixes #61255. Props dmsnell, jonsurrell. Built from https://develop.svn.wordpress.org/trunk@58191 git-svn-id: https://core.svn.wordpress.org/trunk@57654 1a063a9b-81f0-0310-95a4-ce76da25c4cd
- Loading branch information