UNPKG

2.93 kBJavaScriptView Raw
1/**
2 * @externs
3 * @license
4 * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
5 * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
6 * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
7 * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
8 * Code distributed by Google as part of the polymer project is also
9 * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
10 */
11
12/** @type {boolean|undefined} */
13CustomElementRegistry.prototype.forcePolyfill;
14
15/** @type {boolean|undefined} */
16CustomElementRegistry.prototype.noDocumentConstructionObserver;
17
18/** @type {boolean|undefined} */
19CustomElementRegistry.prototype.shadyDomFastWalk;
20
21/** @type {!Function|undefined} */
22CustomElementRegistry.prototype.polyfillWrapFlushCallback;
23
24class AlreadyConstructedMarkerType {}
25
26/**
27 * @typedef {{
28 * localName: string,
29 * constructorFunction: !Function,
30 * connectedCallback: Function,
31 * disconnectedCallback: Function,
32 * adoptedCallback: Function,
33 * attributeChangedCallback: Function,
34 * observedAttributes: !Array<string>,
35 * constructionStack: !Array<!HTMLElement|!AlreadyConstructedMarkerType>,
36 * }}
37 */
38let CustomElementDefinition;
39
40// These properties are defined in the closure externs so that they will not be
41// renamed during minification.
42
43// Used for both Documents and Nodes which represent documents in the HTML
44// Imports polyfill.
45
46/** @type {!CustomElementRegistry|undefined} */
47Node.prototype.__CE_registry;
48
49/** @type {boolean|undefined} */
50Node.prototype.__CE_isImportDocument;
51
52/** @type {boolean|undefined} */
53Node.prototype.__CE_documentLoadHandled;
54
55// Apply generally to Node.
56
57/** @type {boolean|undefined} */
58Node.prototype.__CE_patched;
59
60/** @type {string} */
61Node.prototype.readyState;
62
63// Apply generally to Element.
64
65/** @type {number|undefined} */
66Element.prototype.__CE_state;
67
68/** @type {!CustomElementDefinition|undefined} */
69Element.prototype.__CE_definition;
70
71/** @type {!DocumentFragment|undefined} */
72Element.prototype.__CE_shadowRoot;
73
74// Note, the closure type is incorrect here.
75/** @type {!HTMLCollection} */
76DocumentFragment.prototype.children;
77
78/**
79 * Non-standard Safari property.
80 * @type {string|undefined}
81 */
82Error.prototype.sourceURL;
83
84/**
85 * Non-standard Safari property.
86 * @type {number|undefined}
87 */
88Error.prototype.line;
89
90/**
91 * Non-standard Safari property.
92 * @type {number|undefined}
93 */
94Error.prototype.column;
95
96/**
97 * Non-standard Firefox property.
98 * @type {number|undefined}
99 */
100Error.prototype.columnNumber;
101
102/**
103 * Used by IE to configure ErrorEvents.
104 * @see https://docs.microsoft.com/en-us/openspecs/ie_standards/ms-html5e/30b18240-7be6-4379-9e0a-262c99ed9529
105 * @type {undefined|!function(string, boolean, boolean, string, string, number)}
106 */
107ErrorEvent.prototype.initErrorEvent;