Primary eng (and PM) emails
Summary
Deprecate getElementsByClassName(), getElementsByTagName() and getElementsByTagNameNS() on ShadowRoot.
Note: getElementById() is not involved in any way.
Motivation
https://www.w3.org/Bugs/Public/show_bug.cgi?id=23620
Follow the links for more context. In summary, this was agreed upon a year ago, and it came up again when I suggested moving these functions to ParentNode, the common interface of Document, DocumentFragment and Element. That probably won't happen, but the fate of these on ShadowRoot is a mostly separate concern.
The spec is http://w3c.github.io/webcomponents/spec/shadow/#idl-def-ShadowRoot and I trust Dimitri or Hayato will update it some time before these are eventually removed, if that's the outcome.
Compatibility Risk
Any content using these methods will throw exceptions.
Alternative implementation suggestion for web developers
getElementsByClassName('foo') becomes querySelectorAll('.foo')
getElementsByTagName('foo') becomes querySelectorAll('foo')
getElementsByTagNameNS(...) becomes querySelectorAll('...|...')
Usage information from UseCounter
There are none. I suggest adding the use counters with DeprecateAs= directly because usage is likely low enough to not amount to console spam and this saves a release cycle of waiting.
Entry on chromestatus.com, crbug.com, or MDN
https://www.chromestatus.com/feature/4507242028072960
Requesting approval to remove too?
No, wait until the deprecation and thus the use counters have reached stable and evaluate the compat risk at that time.
LGTM.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Hayato, if you want to take care of the use counters and deprecation, please go ahead. Deprecation does not require LGTMs, but here's a third one: LGTM.