| // 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/custom-elements.html#customelementregistry |
| |
| interface CustomElementRegistry { |
| [CallWith=ScriptState, CEReactions, CustomElementCallbacks, 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 CustomElementDisabledStateChangedCallback = void (boolean disabled); |
| |