// 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 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);