summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/html/custom/custom_element_registry.idl
blob: 986991b796869a5d7295c6b3acce61b56b58c619 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 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

[Exposed=Window]
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 CustomElementFormDisabledCallback = void (boolean disabled);
enum FormStateRestoreMode { "restore", "autocomplete" };
callback CustomElementFormStateRestoreCallback = void (ControlValue value, FormStateRestoreMode mode);