Support for reporting DOM changes. This method can be called when a node has been deleted, and it will send the appropriate DomChangeEvent to any registered DomChangeListeners. Note that this method recursively calls this node's parent's #fireNodeDeleted(DomNode, DomNode)
(final DomNode parentNode, final DomNode deletedNode)
| 2015 | * @param deletedNode the node that has been deleted |
| 2016 | */ |
| 2017 | protected void fireNodeDeleted(final DomNode parentNode, final DomNode deletedNode) { |
| 2018 | DomChangeEvent event = null; |
| 2019 | |
| 2020 | DomNode toInform = this; |
| 2021 | while (toInform != null) { |
| 2022 | if (toInform.domListeners_ != null) { |
| 2023 | final List<DomChangeListener> listeners; |
| 2024 | synchronized (toInform) { |
| 2025 | listeners = new ArrayList<>(toInform.domListeners_); |
| 2026 | } |
| 2027 | |
| 2028 | if (event == null) { |
| 2029 | event = new DomChangeEvent(parentNode, deletedNode); |
| 2030 | } |
| 2031 | for (final DomChangeListener domChangeListener : listeners) { |
| 2032 | domChangeListener.nodeDeleted(event); |
| 2033 | } |
| 2034 | } |
| 2035 | |
| 2036 | toInform = toInform.getParentNode(); |
| 2037 | } |
| 2038 | } |
| 2039 | |
| 2040 | /** |
| 2041 | * Retrieves all element nodes from descendants of the starting element node that match any selector |
no test coverage detected