Re: [whatwg/dom] May return the same HTMLCollection object (#706)

> Where exactly?

```blink::Node``` has a strong reference to ```blink::NodeRareData```.
[The code](https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/dom/node.h?type=cs&sq=package:chromium&g=0&l=1040).  It looks a raw pointer, however it is treated as a strong reference in ```Node::Trace()```.

```blink::NodeRareData``` has a strong reference to ```blink::NodeListsNodeData```.
[The code](https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/dom/node_rare_data.h?type=cs&sq=package:chromium&g=0&l=198)

```blink::NodeListsNodeData``` has a strong reference to ```TagCollectionNSCache```, which is ```HeapHashMap<QualifiedName, TraceWrapperMember<TagCollectionNS>```.  ```TagCollectionNS``` inherits from ```HTMLCollection```.
[The code ](https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/dom/node_lists_node_data.h?type=cs&sq=package:chromium&g=0&l=181)
Note that ```TraceWrapperMember<>``` means strong references to both of a C++ object and a JavaScript object wrapping it.


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/706#issuecomment-433325502

Received on Friday, 26 October 2018 08:12:14 UTC