[webcomponents] deepPath should return an empty array if it's no longer being dispatched (#373)

`deepPath()` should return an empty array if it's no longer being dispatched instead of returning the last node's event path since any code can keep a reference to `Event` object and later get access to nodes besides [unclosed nodes](http://w3c.github.io/webcomponents/spec/shadow/#dfn-unclosed-node) (i.e. closed nodes that they shouldn't have access to).

In addition, retaining the entire event path will force UAs to keep all nodes in the event path alive as long as `Event` object is alive, which is expensive.

Also, the definition of step 2.4: "Let PATH contain only a node which is an unclosed node of CURRENT-TARGET" seems rather vague.  I think it's better to say "remove any node that is not an unclosed node from PATH" instead so that the ordering of nodes inside the path is preserved (without having to say so explicitly).

The definition should also prefer to the concept of [dispatch](https://dom.spec.whatwg.org/#dispatching-events) in DOM4 as well as the [dispatch flag](https://dom.spec.whatwg.org/#dispatch-flag).

---
Reply to this email directly or view it on GitHub:
https://github.com/w3c/webcomponents/issues/373

Received on Thursday, 28 January 2016 21:37:47 UTC