Primary eng (and PM) emails
Deprecate getElementsByClassName(), getElementsByTagName() and getElementsByTagNameNS() on ShadowRoot.
Note: getElementById() is not involved in any way.
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.
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.
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.
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.