Merge remote-tracking branch 'origin/master' into custom

This commit is contained in:
Roy Tam 2020-04-18 07:25:50 +08:00
commit 924da4a2cc
559 changed files with 9029 additions and 12082 deletions

View file

@ -77,4 +77,12 @@ interface AnonymousContent {
[Throws]
void setCutoutRectsForElement(DOMString elementId,
sequence<DOMRect> rects);
/**
* Get the computed value of a property on an element inside this custom
* anonymous content.
*/
[Throws]
DOMString? getComputedStylePropertyValue(DOMString elementId,
DOMString propertyName);
};

View file

@ -17,6 +17,9 @@ enum VisibilityState { "hidden", "visible", "prerender" };
/* https://dom.spec.whatwg.org/#dictdef-elementcreationoptions */
dictionary ElementCreationOptions {
DOMString is;
[ChromeOnly]
DOMString pseudo;
};
/* http://dom.spec.whatwg.org/#interface-document */
@ -268,13 +271,6 @@ partial interface Document {
attribute EventHandler onpointerlockerror;
};
//http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-document-register
partial interface Document {
// this is deprecated from CustomElements v0
[Throws, Func="CustomElementRegistry::IsCustomElementEnabled"]
object registerElement(DOMString name, optional ElementRegistrationOptions options);
};
// https://w3c.github.io/page-visibility/#extensions-to-the-document-interface
partial interface Document {
[Pref="dom.visibilityAPI.enabled"]

View file

@ -228,14 +228,26 @@ partial interface Element {
NodeList querySelectorAll(DOMString selectors);
};
// http://w3c.github.io/webcomponents/spec/shadow/#extensions-to-element-interface
// https://dom.spec.whatwg.org/#dictdef-shadowrootinit
dictionary ShadowRootInit {
required ShadowRootMode mode;
};
// https://dom.spec.whatwg.org/#element
partial interface Element {
[Throws,Func="nsDocument::IsWebComponentsEnabled"]
ShadowRoot createShadowRoot();
[Func="nsDocument::IsWebComponentsEnabled"]
NodeList getDestinationInsertionPoints();
[Func="nsDocument::IsWebComponentsEnabled"]
// Shadow DOM v1
[Throws, Func="nsDocument::IsWebComponentsEnabled"]
ShadowRoot attachShadow(ShadowRootInit shadowRootInitDict);
[BinaryName="shadowRootByMode", Func="nsDocument::IsWebComponentsEnabled"]
readonly attribute ShadowRoot? shadowRoot;
[BinaryName="assignedSlotByMode", Func="nsDocument::IsWebComponentsEnabled"]
readonly attribute HTMLSlotElement? assignedSlot;
[CEReactions, Unscopable, SetterThrows, Func="nsDocument::IsWebComponentsEnabled"]
attribute DOMString slot;
// [deprecated] Shadow DOM v0
[Throws, Func="nsDocument::IsWebComponentsEnabled"]
ShadowRoot createShadowRoot();
};
Element implements ChildNode;

View file

@ -22,6 +22,8 @@ interface Event {
[Pure]
readonly attribute EventTarget? currentTarget;
sequence<EventTarget> composedPath();
const unsigned short NONE = 0;
const unsigned short CAPTURING_PHASE = 1;
const unsigned short AT_TARGET = 2;

View file

@ -1,19 +0,0 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
*
* © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
* Opera Software ASA. You are granted a license to use, reproduce
* and create derivative works of this document.
*/
[Func="nsDocument::IsWebComponentsEnabled"]
interface HTMLShadowElement : HTMLElement
{
readonly attribute ShadowRoot? olderShadowRoot;
};

View file

@ -4,17 +4,19 @@
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
* https://html.spec.whatwg.org/multipage/forms.html#the-dialog-element
*
* © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
* Opera Software ASA. You are granted a license to use, reproduce
* and create derivative works of this document.
*/
[Func="nsDocument::IsWebComponentsEnabled"]
interface HTMLContentElement : HTMLElement
{
attribute DOMString select;
NodeList getDistributedNodes();
[Func="nsDocument::IsWebComponentsEnabled", Exposed=Window, HTMLConstructor]
interface HTMLSlotElement : HTMLElement {
[CEReactions, SetterThrows] attribute DOMString name;
sequence<Node> assignedNodes(optional AssignedNodesOptions options);
};
dictionary AssignedNodesOptions {
boolean flatten = false;
};

View file

@ -10,17 +10,27 @@
* liability, trademark and document use rules apply.
*/
// https://dom.spec.whatwg.org/#enumdef-shadowrootmode
enum ShadowRootMode {
"open",
"closed"
};
// https://dom.spec.whatwg.org/#shadowroot
[Func="nsDocument::IsWebComponentsEnabled"]
interface ShadowRoot : DocumentFragment
{
// Shadow DOM v1
readonly attribute ShadowRootMode mode;
readonly attribute Element host;
// [deprecated] Shadow DOM v0
Element? getElementById(DOMString elementId);
HTMLCollection getElementsByTagName(DOMString localName);
HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
HTMLCollection getElementsByClassName(DOMString classNames);
[CEReactions, SetterThrows, TreatNullAs=EmptyString]
attribute DOMString innerHTML;
readonly attribute Element host;
readonly attribute ShadowRoot? olderShadowRoot;
attribute boolean applyAuthorStyles;
readonly attribute StyleSheetList styleSheets;
};

View file

@ -18,4 +18,9 @@ interface Text : CharacterData {
readonly attribute DOMString wholeText;
};
partial interface Text {
[BinaryName="assignedSlotByMode", Func="nsTextNode::IsWebComponentsEnabled"]
readonly attribute HTMLSlotElement? assignedSlot;
};
Text implements GeometryUtils;

View file

@ -25,8 +25,3 @@ dictionary LifecycleCallbacks {
LifecycleAdoptedCallback? adoptedCallback;
LifecycleAttributeChangedCallback? attributeChangedCallback;
};
dictionary ElementRegistrationOptions {
object? prototype = null;
DOMString? extends = null;
};

View file

@ -177,7 +177,6 @@ WEBIDL_FILES = [
'HTMLButtonElement.webidl',
'HTMLCanvasElement.webidl',
'HTMLCollection.webidl',
'HTMLContentElement.webidl',
'HTMLDataElement.webidl',
'HTMLDataListElement.webidl',
'HTMLDetailsElement.webidl',
@ -226,7 +225,7 @@ WEBIDL_FILES = [
'HTMLQuoteElement.webidl',
'HTMLScriptElement.webidl',
'HTMLSelectElement.webidl',
'HTMLShadowElement.webidl',
'HTMLSlotElement.webidl',
'HTMLSourceElement.webidl',
'HTMLSpanElement.webidl',
'HTMLStyleElement.webidl',