| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // https://html.spec.whatwg.org/C/#customelementregistry |
| |
| [Exposed=Window] |
| interface CustomElementRegistry { |
| [CallWith=ScriptState, CEReactions, RaisesException, MeasureAs=CustomElementRegistryDefine] void define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions options = {}); |
| any get(DOMString name); |
| [CallWith=ScriptState,RaisesException] Promise<void> whenDefined(DOMString name); |
| [CEReactions] void upgrade(Node root); |
| }; |
| |
| callback CustomElementConstructor = any (); |
| |
| // Blink specific types. HTML standard does not explicitly define these types. |
| callback CustomElementAdoptedCallback = void (Document oldOwner, Document newOwner); |
| callback CustomElementAttributeChangedCallback = void (DOMString localName, DOMString? oldValue, DOMString? newValue, USVString? attrNamespace); |
| callback CustomElementFormAssociatedCallback = void (HTMLFormElement? form); |
| callback CustomElementFormDisabledCallback = void (boolean disabled); |
| enum FormStateRestoreMode { "restore", "autocomplete" }; |
| callback CustomElementFormStateRestoreCallback = void (ControlValue value, FormStateRestoreMode mode); |