mirror of
https://github.com/servo/servo.git
synced 2025-10-11 05:50:19 +01:00
* Implement slot-related algorithms Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Hook up slot elements to DOM creation logic Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Set a slot assignment mode for servo-internal shadow roots Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Assign slots when a slottable's slot attribute changes Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Properly compute slot name Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * ./mach test-tidy Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Update <slot> name when name attribute changes Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Implement fast path for Node::assign_slottables_for_a_tree assign_slottables_for_a_tree traverses all descendants of the node and is potentially very expensive. If the node is not a shadow root then assigning slottables to it won't have any effect, so we take a fast path out. Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Move slottable data into ElementRareData This shrinks all element descendants back to their original size. Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Address review comments Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Update WPT expectations Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
33 lines
1.2 KiB
Text
33 lines
1.2 KiB
Text
/* 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 https://mozilla.org/MPL/2.0/. */
|
|
/*
|
|
* The origin of this IDL file is:
|
|
* https://dom.spec.whatwg.org/#interface-shadowroot
|
|
*/
|
|
|
|
[Exposed=Window]
|
|
interface ShadowRoot : DocumentFragment {
|
|
readonly attribute ShadowRootMode mode;
|
|
// readonly attribute boolean delegatesFocus;
|
|
readonly attribute SlotAssignmentMode slotAssignment;
|
|
readonly attribute boolean clonable;
|
|
// readonly attribute boolean serializable;
|
|
readonly attribute Element host;
|
|
// attribute EventHandler onslotchange;
|
|
};
|
|
|
|
|
|
enum ShadowRootMode { "open", "closed"};
|
|
enum SlotAssignmentMode { "manual", "named" };
|
|
|
|
ShadowRoot includes DocumentOrShadowRoot;
|
|
|
|
// https://html.spec.whatwg.org/multipage/#dom-parsing-and-serialization
|
|
partial interface ShadowRoot {
|
|
// [CEReactions] undefined setHTMLUnsafe((TrustedHTML or DOMString) html);
|
|
// DOMString getHTML(optional GetHTMLOptions options = {});
|
|
|
|
// [CEReactions] attribute (TrustedHTML or [LegacyNullToEmptyString] DOMString) innerHTML;
|
|
[CEReactions] attribute [LegacyNullToEmptyString] DOMString innerHTML;
|
|
};
|