Form-associated custom elements: customElements.define() retrieves information for form-associated custom elements.

customElements.define() retrieves 'formAssociated',
'formAssociatedCallback', and 'disabledStateChangedCallback' from the
specified constructor and its prototype.

ScriptCustomElementDefinitionBuilder is responsible for the retrieval,
and ScriptCustomElementDefinition and CustomElementDefinition store the
information.

Introduce a new runtime flag 'FormAssociatedCustomElements', and
'ElementInternals' flag is enabled by it.

The new behavior is behind the runtime flag.

Bug: 905922
Bug: https://github.com/w3c/webcomponents/issues/187
Change-Id: Ibb4fef33a278a24a58af658983eb2387fb8efcdd
Reviewed-on: https://chromium-review.googlesource.com/c/1343468
Commit-Queue: Kent Tamura <tkent@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610361}
11 files changed