blob: bb79bb06c8ed58b4af2ff84072f183230378c288 [file] [log] [blame]
// 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);