Auto merge of #17761 - cbrewster:ce_reactions, r=jdm

Add [CEReactions] to webidls

<!-- Please describe your changes on the following line: -->
Relies on #17614

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17761)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-07-18 12:37:46 -07:00 committed by GitHub
commit a6739cb17f
112 changed files with 1119 additions and 1282 deletions

View file

@ -3152,7 +3152,7 @@ class CGCallGenerator(CGThing):
""" """
def __init__(self, errorResult, arguments, argsPre, returnType, def __init__(self, errorResult, arguments, argsPre, returnType,
extendedAttributes, descriptor, nativeMethodName, extendedAttributes, descriptor, nativeMethodName,
static, object="this"): static, object="this", hasCEReactions=False):
CGThing.__init__(self) CGThing.__init__(self)
assert errorResult is None or isinstance(errorResult, str) assert errorResult is None or isinstance(errorResult, str)
@ -3185,6 +3185,9 @@ class CGCallGenerator(CGThing):
call = CGWrapper(call, pre="%s." % object) call = CGWrapper(call, pre="%s." % object)
call = CGList([call, CGWrapper(args, pre="(", post=")")]) call = CGList([call, CGWrapper(args, pre="(", post=")")])
if hasCEReactions:
self.cgRoot.append(CGGeneric("push_new_element_queue();\n"))
self.cgRoot.append(CGList([ self.cgRoot.append(CGList([
CGGeneric("let result: "), CGGeneric("let result: "),
result, result,
@ -3193,6 +3196,9 @@ class CGCallGenerator(CGThing):
CGGeneric(";"), CGGeneric(";"),
])) ]))
if hasCEReactions:
self.cgRoot.append(CGGeneric("pop_current_element_queue();\n"))
if isFallible: if isFallible:
if static: if static:
glob = "global.upcast::<GlobalScope>()" glob = "global.upcast::<GlobalScope>()"
@ -3267,11 +3273,12 @@ class CGPerSignatureCall(CGThing):
idlNode.maplikeOrSetlikeOrIterable, idlNode.maplikeOrSetlikeOrIterable,
idlNode.identifier.name)) idlNode.identifier.name))
else: else:
hasCEReactions = idlNode.getExtendedAttribute("CEReactions")
cgThings.append(CGCallGenerator( cgThings.append(CGCallGenerator(
errorResult, errorResult,
self.getArguments(), self.argsPre, returnType, self.getArguments(), self.argsPre, returnType,
self.extendedAttributes, descriptor, nativeMethodName, self.extendedAttributes, descriptor, nativeMethodName,
static)) static, hasCEReactions=hasCEReactions))
self.cgRoot = CGList(cgThings, "\n") self.cgRoot = CGList(cgThings, "\n")
@ -5642,6 +5649,8 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries
'dom::bindings::interface::define_guarded_properties', 'dom::bindings::interface::define_guarded_properties',
'dom::bindings::interface::html_constructor', 'dom::bindings::interface::html_constructor',
'dom::bindings::interface::is_exposed_in', 'dom::bindings::interface::is_exposed_in',
'dom::bindings::interface::pop_current_element_queue',
'dom::bindings::interface::push_new_element_queue',
'dom::bindings::iterable::Iterable', 'dom::bindings::iterable::Iterable',
'dom::bindings::iterable::IteratorType', 'dom::bindings::iterable::IteratorType',
'dom::bindings::js::JS', 'dom::bindings::js::JS',

View file

@ -103,6 +103,7 @@ use js::jsapi::{TrueHandleValue, Value};
use js::jsval::{JSVal, PrivateValue}; use js::jsval::{JSVal, PrivateValue};
use js::rust::{define_methods, define_properties, get_object_class}; use js::rust::{define_methods, define_properties, get_object_class};
use libc; use libc;
use script_thread::ScriptThread;
use std::ptr; use std::ptr;
/// The class of a non-callback interface object. /// The class of a non-callback interface object.
@ -300,6 +301,14 @@ pub unsafe fn html_constructor<T>(window: &Window, call_args: &CallArgs) -> Fall
// Custom element upgrades are not implemented yet, so these steps are unnecessary. // Custom element upgrades are not implemented yet, so these steps are unnecessary.
} }
pub fn push_new_element_queue() {
ScriptThread::push_new_element_queue();
}
pub fn pop_current_element_queue() {
ScriptThread::pop_current_element_queue();
}
/// Create and define the interface object of a callback interface. /// Create and define the interface object of a callback interface.
pub unsafe fn create_callback_interface_object( pub unsafe fn create_callback_interface_object(
cx: *mut JSContext, cx: *mut JSContext,

View file

@ -33,6 +33,7 @@ use microtask::Microtask;
use script_thread::ScriptThread; use script_thread::ScriptThread;
use std::cell::Cell; use std::cell::Cell;
use std::collections::{HashMap, VecDeque}; use std::collections::{HashMap, VecDeque};
use std::mem;
use std::ops::Deref; use std::ops::Deref;
use std::ptr; use std::ptr;
use std::rc::Rc; use std::rc::Rc;
@ -495,6 +496,7 @@ enum BackupElementQueueFlag {
#[derive(HeapSizeOf, JSTraceable)] #[derive(HeapSizeOf, JSTraceable)]
#[must_root] #[must_root]
pub struct CustomElementReactionStack { pub struct CustomElementReactionStack {
stack: DOMRefCell<Vec<ElementQueue>>,
backup_queue: ElementQueue, backup_queue: ElementQueue,
processing_backup_element_queue: Cell<BackupElementQueueFlag>, processing_backup_element_queue: Cell<BackupElementQueueFlag>,
} }
@ -502,11 +504,29 @@ pub struct CustomElementReactionStack {
impl CustomElementReactionStack { impl CustomElementReactionStack {
pub fn new() -> CustomElementReactionStack { pub fn new() -> CustomElementReactionStack {
CustomElementReactionStack { CustomElementReactionStack {
stack: DOMRefCell::new(Vec::new()),
backup_queue: ElementQueue::new(), backup_queue: ElementQueue::new(),
processing_backup_element_queue: Cell::new(BackupElementQueueFlag::NotProcessing), processing_backup_element_queue: Cell::new(BackupElementQueueFlag::NotProcessing),
} }
} }
pub fn push_new_element_queue(&self) {
self.stack.borrow_mut().push(ElementQueue::new());
}
pub fn pop_current_element_queue(&self) {
rooted_vec!(let mut stack);
mem::swap(&mut *stack, &mut *self.stack.borrow_mut());
if let Some(current_queue) = stack.last() {
current_queue.invoke_reactions();
}
stack.pop();
mem::swap(&mut *self.stack.borrow_mut(), &mut *stack);
self.stack.borrow_mut().append(&mut *stack);
}
/// https://html.spec.whatwg.org/multipage/#enqueue-an-element-on-the-appropriate-element-queue /// https://html.spec.whatwg.org/multipage/#enqueue-an-element-on-the-appropriate-element-queue
/// Step 4 /// Step 4
pub fn invoke_backup_element_queue(&self) { pub fn invoke_backup_element_queue(&self) {
@ -519,22 +539,24 @@ impl CustomElementReactionStack {
/// https://html.spec.whatwg.org/multipage/#enqueue-an-element-on-the-appropriate-element-queue /// https://html.spec.whatwg.org/multipage/#enqueue-an-element-on-the-appropriate-element-queue
pub fn enqueue_element(&self, element: &Element) { pub fn enqueue_element(&self, element: &Element) {
// TODO: Steps 1 - 2 if let Some(current_queue) = self.stack.borrow().last() {
// Support multiple queues // Step 2
current_queue.append_element(element);
} else {
// Step 1.1
self.backup_queue.append_element(element);
// Step 1.1 // Step 1.2
self.backup_queue.append_element(element); if self.processing_backup_element_queue.get() == BackupElementQueueFlag::Processing {
return;
}
// Step 1.2 // Step 1.3
if self.processing_backup_element_queue.get() == BackupElementQueueFlag::Processing { self.processing_backup_element_queue.set(BackupElementQueueFlag::Processing);
return;
// Step 4
ScriptThread::enqueue_microtask(Microtask::CustomElementReaction);
} }
// Step 1.3
self.processing_backup_element_queue.set(BackupElementQueueFlag::Processing);
// Step 4
ScriptThread::enqueue_microtask(Microtask::CustomElementReaction);
} }
/// https://html.spec.whatwg.org/multipage/#enqueue-a-custom-element-callback-reaction /// https://html.spec.whatwg.org/multipage/#enqueue-a-custom-element-callback-reaction
@ -578,9 +600,11 @@ impl CustomElementReactionStack {
unsafe { val.to_jsval(cx, value.handle_mut()); } unsafe { val.to_jsval(cx, value.handle_mut()); }
} }
let namespace = DOMString::from(&*namespace); rooted!(in(cx) let mut namespace_value = NullValue());
rooted!(in(cx) let mut namespace_value = UndefinedValue()); if namespace != ns!() {
unsafe { namespace.to_jsval(cx, namespace_value.handle_mut()); } let namespace = DOMString::from(&*namespace);
unsafe { namespace.to_jsval(cx, namespace_value.handle_mut()); }
}
let args = vec![Heap::default(), Heap::default(), Heap::default(), Heap::default()]; let args = vec![Heap::default(), Heap::default(), Heap::default(), Heap::default()];
args[0].set(name_value.get()); args[0].set(name_value.get());

View file

@ -1422,13 +1422,12 @@ impl Node {
for descendant in node.traverse_preorder() { for descendant in node.traverse_preorder() {
descendant.set_owner_doc(document); descendant.set_owner_doc(document);
} }
for descendant in node.traverse_preorder() { for descendant in node.traverse_preorder().filter_map(|d| d.as_custom_element()) {
// Step 3.2. // Step 3.2.
if let Some(element) = node.as_custom_element() { ScriptThread::enqueue_callback_reaction(&*descendant,
ScriptThread::enqueue_callback_reaction(&*element, CallbackReaction::Adopted(old_doc.clone(), Root::from_ref(document)));
CallbackReaction::Adopted(old_doc.clone(), Root::from_ref(document))); }
} for descendant in node.traverse_preorder() {
// Step 3.3. // Step 3.3.
vtable_for(&descendant).adopting_steps(&old_doc); vtable_for(&descendant).adopting_steps(&old_doc);
} }
@ -1636,9 +1635,17 @@ impl Node {
for kid in new_nodes { for kid in new_nodes {
// Step 7.1. // Step 7.1.
parent.add_child(*kid, child); parent.add_child(*kid, child);
// Step 7.2: insertion steps. // Step 7.7.
if let Some(element) = kid.as_custom_element() { for descendant in kid.traverse_preorder().filter_map(Root::downcast::<Element>) {
ScriptThread::enqueue_callback_reaction(&*element, CallbackReaction::Connected); // Step 7.7.2.
if descendant.is_connected() {
// Step 7.7.2.1.
if descendant.get_custom_element_definition().is_some() {
ScriptThread::enqueue_callback_reaction(&*descendant, CallbackReaction::Connected);
}
// TODO: Step 7.7.2.2.
// Try to upgrade descendant.
}
} }
} }
if let SuppressObserver::Unsuppressed = suppress_observers { if let SuppressObserver::Unsuppressed = suppress_observers {

View file

@ -18,11 +18,11 @@ interface Attr {
readonly attribute DOMString name; readonly attribute DOMString name;
[Constant] [Constant]
readonly attribute DOMString nodeName; // historical alias of .name readonly attribute DOMString nodeName; // historical alias of .name
[Pure] [CEReactions, Pure]
attribute DOMString value; attribute DOMString value;
[Pure] [CEReactions, Pure]
attribute DOMString textContent; // historical alias of .value attribute DOMString textContent; // historical alias of .value
[Pure] [CEReactions, Pure]
attribute DOMString nodeValue; // historical alias of .value attribute DOMString nodeValue; // historical alias of .value
[Pure] [Pure]

View file

@ -10,434 +10,434 @@
[Exposed=Window] [Exposed=Window]
interface CSSStyleDeclaration { interface CSSStyleDeclaration {
[SetterThrows] [CEReactions, SetterThrows]
attribute DOMString cssText; attribute DOMString cssText;
readonly attribute unsigned long length; readonly attribute unsigned long length;
getter DOMString item(unsigned long index); getter DOMString item(unsigned long index);
DOMString getPropertyValue(DOMString property); DOMString getPropertyValue(DOMString property);
DOMString getPropertyPriority(DOMString property); DOMString getPropertyPriority(DOMString property);
[Throws] [CEReactions, Throws]
void setProperty(DOMString property, [TreatNullAs=EmptyString] DOMString value, void setProperty(DOMString property, [TreatNullAs=EmptyString] DOMString value,
[TreatNullAs=EmptyString] optional DOMString priority = ""); [TreatNullAs=EmptyString] optional DOMString priority = "");
[Throws] [CEReactions, Throws]
void setPropertyValue(DOMString property, [TreatNullAs=EmptyString] DOMString value); void setPropertyValue(DOMString property, [TreatNullAs=EmptyString] DOMString value);
[Throws] [CEReactions, Throws]
void setPropertyPriority(DOMString property, [TreatNullAs=EmptyString] DOMString priority); void setPropertyPriority(DOMString property, [TreatNullAs=EmptyString] DOMString priority);
[Throws] [CEReactions, Throws]
DOMString removeProperty(DOMString property); DOMString removeProperty(DOMString property);
//readonly attribute CSSRule? parentRule; // readonly attribute CSSRule? parentRule;
[SetterThrows] [CEReactions, SetterThrows]
attribute DOMString cssFloat; attribute DOMString cssFloat;
}; };
partial interface CSSStyleDeclaration { partial interface CSSStyleDeclaration {
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString all; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString all;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPosition; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPosition;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-position; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-position;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPositionX; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPositionX;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-position-x; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-position-x;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPositionY; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundPositionY;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-position-y; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-position-y;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundRepeat; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundRepeat;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-repeat; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-repeat;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundImage; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundImage;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-image; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-image;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundAttachment; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundAttachment;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-attachment; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-attachment;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundSize; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundSize;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-size; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-size;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundOrigin; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundOrigin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-origin; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-origin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundClip; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backgroundClip;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-clip; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString background-clip;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRadius; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRadius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-radius; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-radius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderSpacing; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderSpacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-spacing; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-spacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottom; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomLeftRadius; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomLeftRadius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-left-radius; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-left-radius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomRightRadius; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomRightRadius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-right-radius; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-right-radius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBottomWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-bottom-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeft; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeft;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderLeftWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-left-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRight; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderRightWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-right-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTop; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTop;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopLeftRadius; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopLeftRadius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-left-radius; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-left-radius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopRightRadius; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopRightRadius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-right-radius; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-right-radius;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderTopWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-top-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-source; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-source;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageSource; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageSource;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-slice; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-slice;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageSlice; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageSlice;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-repeat; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-repeat;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageRepeat; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageRepeat;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-outset; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-outset;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageOutset; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageOutset;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImageWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-image;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImage; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderImage;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStartColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStartColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStartWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStartWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStartStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStartStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEndColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEndColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEndWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEndWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEndStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEndStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStartColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStartColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStartWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStartWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStartStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStartStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEndColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEndColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEndWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEndWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEndStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEndStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-start;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStart; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockStart;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-block-end;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEnd; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderBlockEnd;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-start;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStart; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineStart;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-inline-end;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEnd; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderInlineEnd;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString content; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString content;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString display; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString display;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString opacity; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString opacity;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString visibility; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString visibility;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString cursor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString cursor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString boxSizing; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString boxSizing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString box-sizing; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString box-sizing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString boxShadow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString boxShadow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString box-shadow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString box-shadow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textShadow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textShadow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-shadow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-shadow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString _float; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString _float;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString clear; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString clear;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString clip; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString clip;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transformOrigin; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transformOrigin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform-origin; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform-origin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspective; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspective;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspectiveOrigin; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspectiveOrigin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspective-origin; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString perspective-origin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transformStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transformStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transform-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backfaceVisibility; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backfaceVisibility;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString backface-visibility; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString backface-visibility;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString direction; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString direction;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString unicodeBidi; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString unicodeBidi;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString unicode-bidi; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString unicode-bidi;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString filter; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString filter;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString lineHeight; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString lineHeight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString line-height; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString line-height;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString mixBlendMode; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString mixBlendMode;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString mix-blend-mode; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString mix-blend-mode;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString verticalAlign; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString verticalAlign;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString vertical-align; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString vertical-align;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStylePosition; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStylePosition;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-position; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-position;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyleType; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyleType;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-type; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-type;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyleImage; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString listStyleImage;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-image; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString list-style-image;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString quotes; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString quotes;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString counterIncrement; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString counterIncrement;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString counter-increment; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString counter-increment;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString counterReset; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString counterReset;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString counter-reset; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString counter-reset;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowX; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowX;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-x; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-x;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowY; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowY;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-y; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-y;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowWrap; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflowWrap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-wrap; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString overflow-wrap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString tableLayout; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString tableLayout;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString table-layout; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString table-layout;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderCollapse; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString borderCollapse;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-collapse; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString border-collapse;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString emptyCells; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString emptyCells;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString empty-cells; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString empty-cells;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString captionSide; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString captionSide;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString caption-side; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString caption-side;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString whiteSpace; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString whiteSpace;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString white-space; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString white-space;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString writingMode; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString writingMode;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString writing-mode; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString writing-mode;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString letterSpacing; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString letterSpacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString letter-spacing; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString letter-spacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordBreak; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordBreak;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-break; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-break;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordSpacing; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordSpacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-spacing; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-spacing;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordWrap; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString wordWrap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-wrap; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString word-wrap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textOverflow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textOverflow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-overflow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-overflow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textAlign; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textAlign;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-align; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-align;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textDecoration; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textDecoration;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-decoration; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-decoration;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textDecorationLine; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textDecorationLine;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-decoration-line; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-decoration-line;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textIndent; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textIndent;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-indent; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-indent;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textJustify; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textJustify;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-justify; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-justify;
//[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textOrientation; // [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textOrientation;
//[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-orientation; // [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-orientation;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textRendering; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textRendering;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-rendering; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-rendering;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString textTransform; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString textTransform;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-transform; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString text-transform;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontFamily; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontFamily;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-family; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-family;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontSize; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontSize;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-size; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-size;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontStretch; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontStretch;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-stretch; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-stretch;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontVariant; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontVariant;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-variant; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-variant;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontVariantCaps; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontVariantCaps;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-variant-caps; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-variant-caps;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontWeight; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString fontWeight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-weight; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString font-weight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBottom; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-bottom; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-bottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginLeft; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginLeft;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-left; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-left;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginRight; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginRight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-right; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-right;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginTop; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginTop;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-top; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-top;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-block-start; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-block-start;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBlockStart; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBlockStart;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-block-end; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-block-end;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBlockEnd; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginBlockEnd;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-inline-start; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-inline-start;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginInlineStart; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginInlineStart;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-inline-end; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString margin-inline-end;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginInlineEnd; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString marginInlineEnd;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBottom; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-bottom; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-bottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingLeft; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingLeft;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-left; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-left;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingRight; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingRight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-right; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-right;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingTop; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingTop;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-top; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-top;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-block-start; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-block-start;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBlockStart; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBlockStart;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-block-end; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-block-end;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBlockEnd; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingBlockEnd;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-inline-start; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-inline-start;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingInlineStart; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingInlineStart;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-inline-end; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString padding-inline-end;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingInlineEnd; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString paddingInlineEnd;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineColor; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineColor;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-color; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-color;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineStyle; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineStyle;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-style; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-style;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineOffset; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outlineOffset;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-offset; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString outline-offset;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString position; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString position;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString pointerEvents; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString pointerEvents;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString pointer-events; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString pointer-events;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString top; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString top;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString right; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString right;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString left; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString left;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString bottom; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString bottom;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-block-start; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-block-start;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetBlockStart; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetBlockStart;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-block-end; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-block-end;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetBlockEnd; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetBlockEnd;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-inline-start; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-inline-start;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetInlineStart; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetInlineStart;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-inline-end; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offset-inline-end;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetInlineEnd; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString offsetInlineEnd;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString height; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString height;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString minHeight; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString minHeight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-height; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-height;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxHeight; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxHeight;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-height; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-height;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString minWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString minWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString block-size; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString block-size;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString blockSize; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString blockSize;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString inline-size; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inline-size;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString inlineSize; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString inlineSize;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-block-size; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-block-size;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxBlockSize; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxBlockSize;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-inline-size; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString max-inline-size;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxInlineSize; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString maxInlineSize;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-block-size; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-block-size;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString minBlockSize; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString minBlockSize;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-inline-size; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString min-inline-size;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString minInlineSize; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString minInlineSize;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString zIndex; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString zIndex;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString z-index; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString z-index;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString imageRendering; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString imageRendering;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString image-rendering; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString image-rendering;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnCount; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnCount;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString column-count; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString column-count;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnWidth; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnWidth;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString column-width; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString column-width;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString columns; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString columns;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnGap; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString columnGap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString column-gap; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString column-gap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionDuration; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionDuration;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-duration; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-duration;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionTimingFunction; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionTimingFunction;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-timing-function; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-timing-function;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionProperty; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionProperty;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-property; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-property;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionDelay; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transitionDelay;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-delay; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString transition-delay;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexFlow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexFlow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-flow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-flow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexDirection; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexDirection;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-direction; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-direction;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexWrap; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexWrap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-wrap; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-wrap;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString justifyContent; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString justifyContent;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString justify-content; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString justify-content;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString alignItems; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString alignItems;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString align-items; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString align-items;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString alignContent; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString alignContent;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString align-content; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString align-content;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString order; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString order;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexBasis; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexBasis;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-basis; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-basis;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexGrow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexGrow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-grow; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-grow;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexShrink; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flexShrink;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-shrink; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString flex-shrink;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString alignSelf; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString alignSelf;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString align-self; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString align-self;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-name; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-name;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationName; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationName;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-duration; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-duration;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationDuration; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationDuration;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-timing-function; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-timing-function;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationTimingFunction; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationTimingFunction;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-iteration-count; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-iteration-count;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationIterationCount; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationIterationCount;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-direction; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-direction;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationDirection; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationDirection;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-play-state; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-play-state;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationPlayState; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationPlayState;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-fill-mode; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-fill-mode;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationFillMode; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationFillMode;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-delay; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animation-delay;
[SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationDelay; [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString animationDelay;
}; };

View file

@ -8,13 +8,13 @@
[NoInterfaceObject] [NoInterfaceObject]
interface ChildNode { interface ChildNode {
[Throws, Unscopable] [Throws, CEReactions, Unscopable]
void before((Node or DOMString)... nodes); void before((Node or DOMString)... nodes);
[Throws, Unscopable] [Throws, CEReactions, Unscopable]
void after((Node or DOMString)... nodes); void after((Node or DOMString)... nodes);
[Throws, Unscopable] [Throws, CEReactions, Unscopable]
void replaceWith((Node or DOMString)... nodes); void replaceWith((Node or DOMString)... nodes);
[Unscopable] [CEReactions, Unscopable]
void remove(); void remove();
}; };

View file

@ -5,7 +5,7 @@
// https://html.spec.whatwg.org/multipage/#customelementregistry // https://html.spec.whatwg.org/multipage/#customelementregistry
[Pref="dom.customelements.enabled"] [Pref="dom.customelements.enabled"]
interface CustomElementRegistry { interface CustomElementRegistry {
[Throws/*, CEReactions */] [Throws, CEReactions]
void define(DOMString name, Function constructor_, optional ElementDefinitionOptions options); void define(DOMString name, Function constructor_, optional ElementDefinitionOptions options);
any get(DOMString name); any get(DOMString name);

View file

@ -6,7 +6,8 @@
[OverrideBuiltins] [OverrideBuiltins]
interface DOMStringMap { interface DOMStringMap {
getter DOMString (DOMString name); getter DOMString (DOMString name);
[Throws] [CEReactions, Throws]
setter void (DOMString name, DOMString value); setter void (DOMString name, DOMString value);
[CEReactions]
deleter void (DOMString name); deleter void (DOMString name);
}; };

View file

@ -11,16 +11,16 @@ interface DOMTokenList {
[Pure] [Pure]
boolean contains(DOMString token); boolean contains(DOMString token);
[Throws] [CEReactions, Throws]
void add(DOMString... tokens); void add(DOMString... tokens);
[Throws] [CEReactions, Throws]
void remove(DOMString... tokens); void remove(DOMString... tokens);
[Throws] [CEReactions, Throws]
boolean toggle(DOMString token, optional boolean force); boolean toggle(DOMString token, optional boolean force);
[Throws] [CEReactions, Throws]
void replace(DOMString token, DOMString newToken); void replace(DOMString token, DOMString newToken);
[Pure] [CEReactions, Pure]
attribute DOMString value; attribute DOMString value;
stringifier; stringifier;

View file

@ -45,9 +45,9 @@ interface Document : Node {
[NewObject, Throws] [NewObject, Throws]
ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data); ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data);
[NewObject, Throws] [CEReactions, NewObject, Throws]
Node importNode(Node node, optional boolean deep = false); Node importNode(Node node, optional boolean deep = false);
[Throws] [CEReactions, Throws]
Node adoptNode(Node node); Node adoptNode(Node node);
[NewObject, Throws] [NewObject, Throws]
@ -94,9 +94,11 @@ partial /*sealed*/ interface Document {
// DOM tree accessors // DOM tree accessors
getter object (DOMString name); getter object (DOMString name);
[CEReactions]
attribute DOMString title; attribute DOMString title;
// [CEReactions]
// attribute DOMString dir; // attribute DOMString dir;
[SetterThrows] [CEReactions, SetterThrows]
attribute HTMLElement? body; attribute HTMLElement? body;
readonly attribute HTMLHeadElement? head; readonly attribute HTMLHeadElement? head;
[SameObject] [SameObject]
@ -115,21 +117,23 @@ partial /*sealed*/ interface Document {
readonly attribute HTMLScriptElement? currentScript; readonly attribute HTMLScriptElement? currentScript;
// dynamic markup insertion // dynamic markup insertion
[Throws] [CEReactions, Throws]
Document open(optional DOMString type = "text/html", optional DOMString replace = ""); Document open(optional DOMString type = "text/html", optional DOMString replace = "");
// WindowProxy open(DOMString url, DOMString name, DOMString features, optional boolean replace = false); // WindowProxy open(DOMString url, DOMString name, DOMString features, optional boolean replace = false);
[Throws] [CEReactions, Throws]
void close(); void close();
[Throws] [CEReactions, Throws]
void write(DOMString... text); void write(DOMString... text);
[Throws] [CEReactions, Throws]
void writeln(DOMString... text); void writeln(DOMString... text);
// user interaction // user interaction
readonly attribute Window?/*Proxy?*/ defaultView; readonly attribute Window?/*Proxy?*/ defaultView;
readonly attribute Element? activeElement; readonly attribute Element? activeElement;
boolean hasFocus(); boolean hasFocus();
// [CEReactions]
// attribute DOMString designMode; // attribute DOMString designMode;
// [CEReactions]
// boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = ""); // boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
// boolean queryCommandEnabled(DOMString commandId); // boolean queryCommandEnabled(DOMString commandId);
// boolean queryCommandIndeterm(DOMString commandId); // boolean queryCommandIndeterm(DOMString commandId);
@ -147,18 +151,23 @@ Document implements DocumentAndElementEventHandlers;
// https://html.spec.whatwg.org/multipage/#Document-partial // https://html.spec.whatwg.org/multipage/#Document-partial
partial interface Document { partial interface Document {
[TreatNullAs=EmptyString] attribute DOMString fgColor; [CEReactions, TreatNullAs=EmptyString]
attribute DOMString fgColor;
// https://github.com/servo/servo/issues/8715 // https://github.com/servo/servo/issues/8715
// [TreatNullAs=EmptyString] attribute DOMString linkColor; // [CEReactions, TreatNullAs=EmptyString]
// attribute DOMString linkColor;
// https://github.com/servo/servo/issues/8716 // https://github.com/servo/servo/issues/8716
// [TreatNullAs=EmptyString] attribute DOMString vlinkColor; // [CEReactions, TreatNullAs=EmptyString]
// attribute DOMString vlinkColor;
// https://github.com/servo/servo/issues/8717 // https://github.com/servo/servo/issues/8717
// [TreatNullAs=EmptyString] attribute DOMString alinkColor; // [CEReactions, TreatNullAs=EmptyString]
// attribute DOMString alinkColor;
[TreatNullAs=EmptyString] attribute DOMString bgColor; [CEReactions, TreatNullAs=EmptyString]
attribute DOMString bgColor;
[SameObject] [SameObject]
readonly attribute HTMLCollection anchors; readonly attribute HTMLCollection anchors;

View file

@ -23,9 +23,9 @@ interface Element : Node {
[Pure] [Pure]
readonly attribute DOMString tagName; readonly attribute DOMString tagName;
[Pure] [CEReactions, Pure]
attribute DOMString id; attribute DOMString id;
[Pure] [CEReactions, Pure]
attribute DOMString className; attribute DOMString className;
[SameObject, PutForwards=value] [SameObject, PutForwards=value]
readonly attribute DOMTokenList classList; readonly attribute DOMTokenList classList;
@ -40,11 +40,13 @@ interface Element : Node {
DOMString? getAttribute(DOMString name); DOMString? getAttribute(DOMString name);
[Pure] [Pure]
DOMString? getAttributeNS(DOMString? namespace, DOMString localName); DOMString? getAttributeNS(DOMString? namespace, DOMString localName);
[Throws] [CEReactions, Throws]
void setAttribute(DOMString name, DOMString value); void setAttribute(DOMString name, DOMString value);
[Throws] [CEReactions, Throws]
void setAttributeNS(DOMString? namespace, DOMString name, DOMString value); void setAttributeNS(DOMString? namespace, DOMString name, DOMString value);
[CEReactions]
void removeAttribute(DOMString name); void removeAttribute(DOMString name);
[CEReactions]
void removeAttributeNS(DOMString? namespace, DOMString localName); void removeAttributeNS(DOMString? namespace, DOMString localName);
boolean hasAttribute(DOMString name); boolean hasAttribute(DOMString name);
boolean hasAttributeNS(DOMString? namespace, DOMString localName); boolean hasAttributeNS(DOMString? namespace, DOMString localName);
@ -53,11 +55,11 @@ interface Element : Node {
Attr? getAttributeNode(DOMString name); Attr? getAttributeNode(DOMString name);
[Pure] [Pure]
Attr? getAttributeNodeNS(DOMString? namespace, DOMString localName); Attr? getAttributeNodeNS(DOMString? namespace, DOMString localName);
[Throws] [CEReactions, Throws]
Attr? setAttributeNode(Attr attr); Attr? setAttributeNode(Attr attr);
[Throws] [CEReactions, Throws]
Attr? setAttributeNodeNS(Attr attr); Attr? setAttributeNodeNS(Attr attr);
[Throws] [CEReactions, Throws]
Attr removeAttributeNode(Attr oldAttr); Attr removeAttributeNode(Attr oldAttr);
[Pure, Throws] [Pure, Throws]
@ -71,7 +73,7 @@ interface Element : Node {
HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName); HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
HTMLCollection getElementsByClassName(DOMString classNames); HTMLCollection getElementsByClassName(DOMString classNames);
[Throws] [CEReactions, Throws]
Element? insertAdjacentElement(DOMString where_, Element element); // historical Element? insertAdjacentElement(DOMString where_, Element element); // historical
[Throws] [Throws]
void insertAdjacentText(DOMString where_, DOMString data); void insertAdjacentText(DOMString where_, DOMString data);
@ -105,9 +107,9 @@ partial interface Element {
// https://w3c.github.io/DOM-Parsing/#extensions-to-the-element-interface // https://w3c.github.io/DOM-Parsing/#extensions-to-the-element-interface
partial interface Element { partial interface Element {
[Throws,TreatNullAs=EmptyString] [CEReactions, Throws,TreatNullAs=EmptyString]
attribute DOMString innerHTML; attribute DOMString innerHTML;
[Throws,TreatNullAs=EmptyString] [CEReactions, Throws,TreatNullAs=EmptyString]
attribute DOMString outerHTML; attribute DOMString outerHTML;
}; };

View file

@ -5,6 +5,7 @@
// https://html.spec.whatwg.org/multipage/#elementcontenteditable // https://html.spec.whatwg.org/multipage/#elementcontenteditable
[NoInterfaceObject, Exposed=Window] [NoInterfaceObject, Exposed=Window]
interface ElementContentEditable { interface ElementContentEditable {
// [CEReactions]
// attribute DOMString contentEditable; // attribute DOMString contentEditable;
// readonly attribute boolean isContentEditable; // readonly attribute boolean isContentEditable;
}; };

View file

@ -13,15 +13,21 @@
// https://html.spec.whatwg.org/multipage/#htmlanchorelement // https://html.spec.whatwg.org/multipage/#htmlanchorelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLAnchorElement : HTMLElement { interface HTMLAnchorElement : HTMLElement {
[CEReactions]
attribute DOMString target; attribute DOMString target;
// [CEReactions]
// attribute DOMString download; // attribute DOMString download;
// [CEReactions]
// attribute USVString ping; // attribute USVString ping;
[CEReactions]
attribute DOMString rel; attribute DOMString rel;
readonly attribute DOMTokenList relList; readonly attribute DOMTokenList relList;
// [CEReactions]
// attribute DOMString hreflang; // attribute DOMString hreflang;
// [CEReactions]
// attribute DOMString type; // attribute DOMString type;
[Pure] [CEReactions, Pure]
attribute DOMString text; attribute DOMString text;
// also has obsolete members // also has obsolete members
@ -30,9 +36,14 @@ HTMLAnchorElement implements HTMLHyperlinkElementUtils;
// https://html.spec.whatwg.org/multipage/#HTMLAnchorElement-partial // https://html.spec.whatwg.org/multipage/#HTMLAnchorElement-partial
partial interface HTMLAnchorElement { partial interface HTMLAnchorElement {
[CEReactions]
attribute DOMString coords; attribute DOMString coords;
// attribute DOMString charset; // [CEReactions]
// attribute DOMString charset;
[CEReactions]
attribute DOMString name; attribute DOMString name;
[CEReactions]
attribute DOMString rev; attribute DOMString rev;
[CEReactions]
attribute DOMString shape; attribute DOMString shape;
}; };

View file

@ -5,12 +5,19 @@
// https://html.spec.whatwg.org/multipage/#htmlareaelement // https://html.spec.whatwg.org/multipage/#htmlareaelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLAreaElement : HTMLElement { interface HTMLAreaElement : HTMLElement {
// [CEReactions]
// attribute DOMString alt; // attribute DOMString alt;
// [CEReactions]
// attribute DOMString coords; // attribute DOMString coords;
// [CEReactions]
// attribute DOMString shape; // attribute DOMString shape;
// [CEReactions]
// attribute DOMString target; // attribute DOMString target;
// [CEReactions]
// attribute DOMString download; // attribute DOMString download;
// [CEReactions]
// attribute USVString ping; // attribute USVString ping;
// [CEReactions]
// attribute DOMString rel; // attribute DOMString rel;
readonly attribute DOMTokenList relList; readonly attribute DOMTokenList relList;
// hreflang and type are not reflected // hreflang and type are not reflected
@ -19,5 +26,6 @@ interface HTMLAreaElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLAreaElement-partial // https://html.spec.whatwg.org/multipage/#HTMLAreaElement-partial
partial interface HTMLAreaElement { partial interface HTMLAreaElement {
// attribute boolean noHref; // [CEReactions]
// attribute boolean noHref;
}; };

View file

@ -5,6 +5,8 @@
// https://html.spec.whatwg.org/multipage/#htmlbaseelement // https://html.spec.whatwg.org/multipage/#htmlbaseelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLBaseElement : HTMLElement { interface HTMLBaseElement : HTMLElement {
attribute DOMString href; [CEReactions]
// attribute DOMString target; attribute DOMString href;
// [CEReactions]
// attribute DOMString target;
}; };

View file

@ -11,17 +11,17 @@ HTMLBodyElement implements WindowEventHandlers;
// https://html.spec.whatwg.org/multipage/#HTMLBodyElement-partial // https://html.spec.whatwg.org/multipage/#HTMLBodyElement-partial
partial interface HTMLBodyElement { partial interface HTMLBodyElement {
[TreatNullAs=EmptyString] attribute DOMString text; [CEReactions, TreatNullAs=EmptyString] attribute DOMString text;
// https://github.com/servo/servo/issues/8715 // https://github.com/servo/servo/issues/8715
//[TreatNullAs=EmptyString] attribute DOMString link; //[CEReactions, TreatNullAs=EmptyString] attribute DOMString link;
// https://github.com/servo/servo/issues/8716 // https://github.com/servo/servo/issues/8716
//[TreatNullAs=EmptyString] attribute DOMString vLink; //[CEReactions, TreatNullAs=EmptyString] attribute DOMString vLink;
// https://github.com/servo/servo/issues/8717 // https://github.com/servo/servo/issues/8717
//[TreatNullAs=EmptyString] attribute DOMString aLink; //[CEReactions, TreatNullAs=EmptyString] attribute DOMString aLink;
[TreatNullAs=EmptyString] attribute DOMString bgColor; [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
attribute DOMString background; [CEReactions] attribute DOMString background;
}; };

View file

@ -5,17 +5,27 @@
// https://html.spec.whatwg.org/multipage/#htmlbuttonelement // https://html.spec.whatwg.org/multipage/#htmlbuttonelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLButtonElement : HTMLElement { interface HTMLButtonElement : HTMLElement {
// [CEReactions]
// attribute boolean autofocus; // attribute boolean autofocus;
attribute boolean disabled; [CEReactions]
attribute boolean disabled;
readonly attribute HTMLFormElement? form; readonly attribute HTMLFormElement? form;
attribute DOMString formAction; [CEReactions]
attribute DOMString formEnctype; attribute DOMString formAction;
attribute DOMString formMethod; [CEReactions]
attribute boolean formNoValidate; attribute DOMString formEnctype;
attribute DOMString formTarget; [CEReactions]
attribute DOMString name; attribute DOMString formMethod;
attribute DOMString type; [CEReactions]
attribute DOMString value; attribute boolean formNoValidate;
[CEReactions]
attribute DOMString formTarget;
[CEReactions]
attribute DOMString name;
[CEReactions]
attribute DOMString type;
[CEReactions]
attribute DOMString value;
// attribute HTMLMenuElement? menu; // attribute HTMLMenuElement? menu;
//readonly attribute boolean willValidate; //readonly attribute boolean willValidate;

View file

@ -7,9 +7,9 @@ typedef (CanvasRenderingContext2D or WebGLRenderingContext) RenderingContext;
[HTMLConstructor] [HTMLConstructor]
interface HTMLCanvasElement : HTMLElement { interface HTMLCanvasElement : HTMLElement {
[Pure] [CEReactions, Pure]
attribute unsigned long width; attribute unsigned long width;
[Pure] [CEReactions, Pure]
attribute unsigned long height; attribute unsigned long height;
RenderingContext? getContext(DOMString contextId, any... arguments); RenderingContext? getContext(DOMString contextId, any... arguments);

View file

@ -10,5 +10,6 @@ interface HTMLDListElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLDListElement-partial // https://html.spec.whatwg.org/multipage/#HTMLDListElement-partial
partial interface HTMLDListElement { partial interface HTMLDListElement {
// [CEReactions]
// attribute boolean compact; // attribute boolean compact;
}; };

View file

@ -5,5 +5,6 @@
// https://html.spec.whatwg.org/multipage/#htmldataelement // https://html.spec.whatwg.org/multipage/#htmldataelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLDataElement : HTMLElement { interface HTMLDataElement : HTMLElement {
[CEReactions]
attribute DOMString value; attribute DOMString value;
}; };

View file

@ -5,5 +5,6 @@
// https://html.spec.whatwg.org/multipage/#htmldetailselement // https://html.spec.whatwg.org/multipage/#htmldetailselement
[HTMLConstructor] [HTMLConstructor]
interface HTMLDetailsElement : HTMLElement { interface HTMLDetailsElement : HTMLElement {
[CEReactions]
attribute boolean open; attribute boolean open;
}; };

View file

@ -5,9 +5,13 @@
// https://html.spec.whatwg.org/multipage/#htmldialogelement // https://html.spec.whatwg.org/multipage/#htmldialogelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLDialogElement : HTMLElement { interface HTMLDialogElement : HTMLElement {
[CEReactions]
attribute boolean open; attribute boolean open;
attribute DOMString returnValue; attribute DOMString returnValue;
//void show(optional (MouseEvent or Element) anchor); // [CEReactions]
//void showModal(optional (MouseEvent or Element) anchor); // void show();
// [CEReactions]
// void showModal();
[CEReactions]
void close(optional DOMString returnValue); void close(optional DOMString returnValue);
}; };

View file

@ -5,5 +5,6 @@
// https://html.spec.whatwg.org/multipage/#htmldirectoryelement // https://html.spec.whatwg.org/multipage/#htmldirectoryelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLDirectoryElement : HTMLElement { interface HTMLDirectoryElement : HTMLElement {
// [CEReactions]
// attribute boolean compact; // attribute boolean compact;
}; };

View file

@ -10,5 +10,6 @@ interface HTMLDivElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLDivElement-partial // https://html.spec.whatwg.org/multipage/#HTMLDivElement-partial
partial interface HTMLDivElement { partial interface HTMLDivElement {
[CEReactions]
attribute DOMString align; attribute DOMString align;
}; };

View file

@ -6,9 +6,13 @@
[HTMLConstructor] [HTMLConstructor]
interface HTMLElement : Element { interface HTMLElement : Element {
// metadata attributes // metadata attributes
[CEReactions]
attribute DOMString title; attribute DOMString title;
[CEReactions]
attribute DOMString lang; attribute DOMString lang;
// [CEReactions]
// attribute boolean translate; // attribute boolean translate;
// [CEReactions]
// attribute DOMString dir; // attribute DOMString dir;
readonly attribute DOMStringMap dataset; readonly attribute DOMStringMap dataset;
@ -19,26 +23,31 @@ interface HTMLElement : Element {
// attribute any itemValue; // acts as DOMString on setting // attribute any itemValue; // acts as DOMString on setting
// user interaction // user interaction
[CEReactions]
attribute boolean hidden; attribute boolean hidden;
void click(); void click();
// [CEReactions]
// attribute long tabIndex; // attribute long tabIndex;
void focus(); void focus();
void blur(); void blur();
// [CEReactions]
// attribute DOMString accessKey; // attribute DOMString accessKey;
//readonly attribute DOMString accessKeyLabel; //readonly attribute DOMString accessKeyLabel;
// [CEReactions]
// attribute boolean draggable; // attribute boolean draggable;
//[SameObject, PutForwards=value] readonly attribute DOMTokenList dropzone; // [SameObject, PutForwards=value] readonly attribute DOMTokenList dropzone;
// attribute HTMLMenuElement? contextMenu; // attribute HTMLMenuElement? contextMenu;
// [CEReactions]
// attribute boolean spellcheck; // attribute boolean spellcheck;
//void forceSpellCheck(); // void forceSpellCheck();
// command API // command API
//readonly attribute DOMString? commandType; // readonly attribute DOMString? commandType;
//readonly attribute DOMString? commandLabel; // readonly attribute DOMString? commandLabel;
//readonly attribute DOMString? commandIcon; // readonly attribute DOMString? commandIcon;
//readonly attribute boolean? commandHidden; // readonly attribute boolean? commandHidden;
//readonly attribute boolean? commandDisabled; // readonly attribute boolean? commandDisabled;
//readonly attribute boolean? commandChecked; // readonly attribute boolean? commandChecked;
}; };
// http://dev.w3.org/csswg/cssom-view/#extensions-to-the-htmlelement-interface // http://dev.w3.org/csswg/cssom-view/#extensions-to-the-htmlelement-interface

View file

@ -5,9 +5,13 @@
// https://html.spec.whatwg.org/multipage/#htmlembedelement // https://html.spec.whatwg.org/multipage/#htmlembedelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLEmbedElement : HTMLElement { interface HTMLEmbedElement : HTMLElement {
// [CEReactions]
// attribute DOMString src; // attribute DOMString src;
// [CEReactions]
// attribute DOMString type; // attribute DOMString type;
// [CEReactions]
// attribute DOMString width; // attribute DOMString width;
// [CEReactions]
// attribute DOMString height; // attribute DOMString height;
//legacycaller any (any... arguments); //legacycaller any (any... arguments);
@ -16,6 +20,8 @@ interface HTMLEmbedElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLEmbedElement-partial // https://html.spec.whatwg.org/multipage/#HTMLEmbedElement-partial
partial interface HTMLEmbedElement { partial interface HTMLEmbedElement {
// [CEReactions]
// attribute DOMString align; // attribute DOMString align;
// [CEReactions]
// attribute DOMString name; // attribute DOMString name;
}; };

View file

@ -5,8 +5,10 @@
// https://html.spec.whatwg.org/multipage/#htmlfieldsetelement // https://html.spec.whatwg.org/multipage/#htmlfieldsetelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLFieldSetElement : HTMLElement { interface HTMLFieldSetElement : HTMLElement {
[CEReactions]
attribute boolean disabled; attribute boolean disabled;
readonly attribute HTMLFormElement? form; readonly attribute HTMLFormElement? form;
// [CEReactions]
// attribute DOMString name; // attribute DOMString name;
//readonly attribute DOMString type; //readonly attribute DOMString type;

View file

@ -5,7 +5,10 @@
// https://html.spec.whatwg.org/multipage/#htmlfontelement // https://html.spec.whatwg.org/multipage/#htmlfontelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLFontElement : HTMLElement { interface HTMLFontElement : HTMLElement {
[TreatNullAs=EmptyString] attribute DOMString color; [CEReactions, TreatNullAs=EmptyString]
attribute DOMString color;
[CEReactions]
attribute DOMString face; attribute DOMString face;
[CEReactions]
attribute DOMString size; attribute DOMString size;
}; };

View file

@ -5,14 +5,23 @@
// https://html.spec.whatwg.org/multipage/#htmlformelement // https://html.spec.whatwg.org/multipage/#htmlformelement
[/*OverrideBuiltins, */HTMLConstructor] [/*OverrideBuiltins, */HTMLConstructor]
interface HTMLFormElement : HTMLElement { interface HTMLFormElement : HTMLElement {
[CEReactions]
attribute DOMString acceptCharset; attribute DOMString acceptCharset;
[CEReactions]
attribute DOMString action; attribute DOMString action;
[CEReactions]
attribute DOMString autocomplete; attribute DOMString autocomplete;
[CEReactions]
attribute DOMString enctype; attribute DOMString enctype;
[CEReactions]
attribute DOMString encoding; attribute DOMString encoding;
[CEReactions]
attribute DOMString method; attribute DOMString method;
[CEReactions]
attribute DOMString name; attribute DOMString name;
[CEReactions]
attribute boolean noValidate; attribute boolean noValidate;
[CEReactions]
attribute DOMString target; attribute DOMString target;
[SameObject] readonly attribute HTMLFormControlsCollection elements; [SameObject] readonly attribute HTMLFormControlsCollection elements;
@ -21,6 +30,7 @@ interface HTMLFormElement : HTMLElement {
//getter (RadioNodeList or Element) (DOMString name); //getter (RadioNodeList or Element) (DOMString name);
void submit(); void submit();
[CEReactions]
void reset(); void reset();
//boolean checkValidity(); //boolean checkValidity();
//boolean reportValidity(); //boolean reportValidity();

View file

@ -5,15 +5,23 @@
// https://html.spec.whatwg.org/multipage/#htmlframeelement // https://html.spec.whatwg.org/multipage/#htmlframeelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLFrameElement : HTMLElement { interface HTMLFrameElement : HTMLElement {
// attribute DOMString name; // [CEReactions]
// attribute DOMString scrolling; // attribute DOMString name;
// attribute DOMString src; // [CEReactions]
// attribute DOMString frameBorder; // attribute DOMString scrolling;
// attribute DOMString longDesc; // [CEReactions]
// attribute boolean noResize; // attribute DOMString src;
//readonly attribute Document? contentDocument; // [CEReactions]
//readonly attribute WindowProxy? contentWindow; // attribute DOMString frameBorder;
// [CEReactions]
// attribute DOMString longDesc;
// [CEReactions]
// attribute boolean noResize;
// readonly attribute Document? contentDocument;
// readonly attribute WindowProxy? contentWindow;
//[TreatNullAs=EmptyString] attribute DOMString marginHeight; // [CEReactions, TreatNullAs=EmptyString]
//[TreatNullAs=EmptyString] attribute DOMString marginWidth; // attribute DOMString marginHeight;
// [CEReactions, TreatNullAs=EmptyString]
// attribute DOMString marginWidth;
}; };

View file

@ -5,7 +5,9 @@
// https://html.spec.whatwg.org/multipage/#htmlframesetelement // https://html.spec.whatwg.org/multipage/#htmlframesetelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLFrameSetElement : HTMLElement { interface HTMLFrameSetElement : HTMLElement {
// [CEReactions]
// attribute DOMString cols; // attribute DOMString cols;
// [CEReactions]
// attribute DOMString rows; // attribute DOMString rows;
}; };

View file

@ -10,9 +10,14 @@ interface HTMLHRElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLHRElement-partial // https://html.spec.whatwg.org/multipage/#HTMLHRElement-partial
partial interface HTMLHRElement { partial interface HTMLHRElement {
[CEReactions]
attribute DOMString align; attribute DOMString align;
[CEReactions]
attribute DOMString color; attribute DOMString color;
// attribute boolean noShade; // [CEReactions]
// attribute DOMString size; // attribute boolean noShade;
// [CEReactions]
// attribute DOMString size;
[CEReactions]
attribute DOMString width; attribute DOMString width;
}; };

View file

@ -10,5 +10,6 @@ interface HTMLHeadingElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLHeadingElement-partial // https://html.spec.whatwg.org/multipage/#HTMLHeadingElement-partial
partial interface HTMLHeadingElement { partial interface HTMLHeadingElement {
// [CEReactions]
// attribute DOMString align; // attribute DOMString align;
}; };

View file

@ -10,5 +10,6 @@ interface HTMLHtmlElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLHtmlElement-partial // https://html.spec.whatwg.org/multipage/#HTMLHtmlElement-partial
partial interface HTMLHtmlElement { partial interface HTMLHtmlElement {
// [CEReactions]
// attribute DOMString version; // attribute DOMString version;
}; };

View file

@ -5,18 +5,29 @@
// https://html.spec.whatwg.org/multipage/#htmlhyperlinkelementutils // https://html.spec.whatwg.org/multipage/#htmlhyperlinkelementutils
[NoInterfaceObject] [NoInterfaceObject]
interface HTMLHyperlinkElementUtils { interface HTMLHyperlinkElementUtils {
// stringifier attribute USVString href; // [CEReactions]
attribute USVString href; // stringifier attribute USVString href;
readonly attribute USVString origin; [CEReactions]
attribute USVString protocol; attribute USVString href;
attribute USVString username; readonly attribute USVString origin;
attribute USVString password; [CEReactions]
attribute USVString host; attribute USVString protocol;
attribute USVString hostname; [CEReactions]
attribute USVString port; attribute USVString username;
attribute USVString pathname; [CEReactions]
attribute USVString search; attribute USVString password;
attribute USVString hash; [CEReactions]
attribute USVString host;
[CEReactions]
attribute USVString hostname;
[CEReactions]
attribute USVString port;
[CEReactions]
attribute USVString pathname;
[CEReactions]
attribute USVString search;
[CEReactions]
attribute USVString hash;
// Adding a separate stringifier method until // Adding a separate stringifier method until
// https://github.com/servo/servo/issues/7590 adds attribute stringifier // https://github.com/servo/servo/issues/7590 adds attribute stringifier

View file

@ -5,17 +5,24 @@
// https://html.spec.whatwg.org/multipage/#htmliframeelement // https://html.spec.whatwg.org/multipage/#htmliframeelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLIFrameElement : HTMLElement { interface HTMLIFrameElement : HTMLElement {
[CEReactions]
attribute DOMString src; attribute DOMString src;
// [CEReactions]
// attribute DOMString srcdoc; // attribute DOMString srcdoc;
// https://github.com/servo/servo/issues/14453 // https://github.com/servo/servo/issues/14453
// [CEReactions]
// attribute DOMString name; // attribute DOMString name;
[SameObject, PutForwards=value] [SameObject, PutForwards=value]
readonly attribute DOMTokenList sandbox; readonly attribute DOMTokenList sandbox;
// [CEReactions]
// attribute boolean seamless; // attribute boolean seamless;
[CEReactions]
attribute boolean allowFullscreen; attribute boolean allowFullscreen;
[CEReactions]
attribute DOMString width; attribute DOMString width;
[CEReactions]
attribute DOMString height; attribute DOMString height;
readonly attribute Document? contentDocument; readonly attribute Document? contentDocument;
readonly attribute WindowProxy? contentWindow; readonly attribute WindowProxy? contentWindow;
@ -25,20 +32,26 @@ interface HTMLIFrameElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLIFrameElement-partial // https://html.spec.whatwg.org/multipage/#HTMLIFrameElement-partial
partial interface HTMLIFrameElement { partial interface HTMLIFrameElement {
// [CEReactions]
// attribute DOMString align; // attribute DOMString align;
// [CEReactions]
// attribute DOMString scrolling; // attribute DOMString scrolling;
[CEReactions]
attribute DOMString frameBorder; attribute DOMString frameBorder;
// [CEReactions]
// attribute DOMString longDesc; // attribute DOMString longDesc;
//[TreatNullAs=EmptyString] attribute DOMString marginHeight; // [CEReactions, TreatNullAs=EmptyString]
//[TreatNullAs=EmptyString] attribute DOMString marginWidth; // attribute DOMString marginHeight;
// [CEReactions, TreatNullAs=EmptyString]
// attribute DOMString marginWidth;
}; };
partial interface HTMLIFrameElement { partial interface HTMLIFrameElement {
[Func="::dom::window::Window::global_is_mozbrowser"] [CEReactions, Func="::dom::window::Window::global_is_mozbrowser"]
attribute boolean mozbrowser; attribute boolean mozbrowser;
[Func="::dom::window::Window::global_is_mozbrowser"] [CEReactions, Func="::dom::window::Window::global_is_mozbrowser"]
attribute boolean mozprivatebrowsing; attribute boolean mozprivatebrowsing;
}; };

View file

@ -5,13 +5,21 @@
// https://html.spec.whatwg.org/multipage/#htmlimageelement // https://html.spec.whatwg.org/multipage/#htmlimageelement
[HTMLConstructor, NamedConstructor=Image(optional unsigned long width, optional unsigned long height)] [HTMLConstructor, NamedConstructor=Image(optional unsigned long width, optional unsigned long height)]
interface HTMLImageElement : HTMLElement { interface HTMLImageElement : HTMLElement {
[CEReactions]
attribute DOMString alt; attribute DOMString alt;
[CEReactions]
attribute DOMString src; attribute DOMString src;
// [CEReactions]
// attribute DOMString srcset; // attribute DOMString srcset;
[CEReactions]
attribute DOMString? crossOrigin; attribute DOMString? crossOrigin;
[CEReactions]
attribute DOMString useMap; attribute DOMString useMap;
[CEReactions]
attribute boolean isMap; attribute boolean isMap;
[CEReactions]
attribute unsigned long width; attribute unsigned long width;
[CEReactions]
attribute unsigned long height; attribute unsigned long height;
readonly attribute unsigned long naturalWidth; readonly attribute unsigned long naturalWidth;
readonly attribute unsigned long naturalHeight; readonly attribute unsigned long naturalHeight;
@ -22,14 +30,21 @@ interface HTMLImageElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLImageElement-partial // https://html.spec.whatwg.org/multipage/#HTMLImageElement-partial
partial interface HTMLImageElement { partial interface HTMLImageElement {
[CEReactions]
attribute DOMString name; attribute DOMString name;
// attribute DOMString lowsrc; // [CEReactions]
// attribute DOMString lowsrc;
[CEReactions]
attribute DOMString align; attribute DOMString align;
[CEReactions]
attribute unsigned long hspace; attribute unsigned long hspace;
[CEReactions]
attribute unsigned long vspace; attribute unsigned long vspace;
[CEReactions]
attribute DOMString longDesc; attribute DOMString longDesc;
[TreatNullAs=EmptyString] attribute DOMString border; [CEReactions, TreatNullAs=EmptyString]
attribute DOMString border;
}; };
// https://drafts.csswg.org/cssom-view/#extensions-to-the-htmlimageelement-interface // https://drafts.csswg.org/cssom-view/#extensions-to-the-htmlimageelement-interface

View file

@ -5,50 +5,77 @@
// https://html.spec.whatwg.org/multipage/#htmlinputelement // https://html.spec.whatwg.org/multipage/#htmlinputelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLInputElement : HTMLElement { interface HTMLInputElement : HTMLElement {
[CEReactions]
attribute DOMString accept; attribute DOMString accept;
[CEReactions]
attribute DOMString alt; attribute DOMString alt;
// [CEReactions]
// attribute DOMString autocomplete; // attribute DOMString autocomplete;
// [CEReactions]
// attribute boolean autofocus; // attribute boolean autofocus;
[CEReactions]
attribute boolean defaultChecked; attribute boolean defaultChecked;
attribute boolean checked; attribute boolean checked;
[CEReactions]
attribute DOMString dirName; attribute DOMString dirName;
[CEReactions]
attribute boolean disabled; attribute boolean disabled;
readonly attribute HTMLFormElement? form; readonly attribute HTMLFormElement? form;
readonly attribute FileList? files; readonly attribute FileList? files;
attribute DOMString formAction; [CEReactions]
attribute DOMString formEnctype; attribute DOMString formAction;
attribute DOMString formMethod; [CEReactions]
attribute boolean formNoValidate; attribute DOMString formEnctype;
attribute DOMString formTarget; [CEReactions]
// attribute unsigned long height; attribute DOMString formMethod;
attribute boolean indeterminate; [CEReactions]
// attribute DOMString inputMode; attribute boolean formNoValidate;
//readonly attribute HTMLElement? list; [CEReactions]
attribute DOMString formTarget;
// [CEReactions]
// attribute unsigned long height;
attribute boolean indeterminate;
// [CEReactions]
// attribute DOMString inputMode;
// readonly attribute HTMLElement? list;
[CEReactions]
attribute DOMString max; attribute DOMString max;
[SetterThrows] [CEReactions, SetterThrows]
attribute long maxLength; attribute long maxLength;
[CEReactions]
attribute DOMString min; attribute DOMString min;
[SetterThrows] [CEReactions, SetterThrows]
attribute long minLength; attribute long minLength;
[CEReactions]
attribute boolean multiple; attribute boolean multiple;
[CEReactions]
attribute DOMString name; attribute DOMString name;
[CEReactions]
attribute DOMString pattern; attribute DOMString pattern;
[CEReactions]
attribute DOMString placeholder; attribute DOMString placeholder;
[CEReactions]
attribute boolean readOnly; attribute boolean readOnly;
[CEReactions]
attribute boolean required; attribute boolean required;
[SetterThrows] [CEReactions, SetterThrows]
attribute unsigned long size; attribute unsigned long size;
[CEReactions]
attribute DOMString src; attribute DOMString src;
[CEReactions]
attribute DOMString step; attribute DOMString step;
[CEReactions]
attribute DOMString type; attribute DOMString type;
[CEReactions]
attribute DOMString defaultValue; attribute DOMString defaultValue;
[TreatNullAs=EmptyString, SetterThrows] [CEReactions, TreatNullAs=EmptyString, SetterThrows]
attribute DOMString value; attribute DOMString value;
// attribute Date? valueAsDate; // attribute Date? valueAsDate;
// attribute unrestricted double valueAsNumber; // attribute unrestricted double valueAsNumber;
// attribute double valueLow; // attribute double valueLow;
// attribute double valueHigh; // attribute double valueHigh;
// attribute unsigned long width; // [CEReactions]
// attribute unsigned long width;
//void stepUp(optional long n = 1); //void stepUp(optional long n = 1);
//void stepDown(optional long n = 1); //void stepDown(optional long n = 1);

View file

@ -5,6 +5,7 @@
// https://html.spec.whatwg.org/multipage/#htmllielement // https://html.spec.whatwg.org/multipage/#htmllielement
[HTMLConstructor] [HTMLConstructor]
interface HTMLLIElement : HTMLElement { interface HTMLLIElement : HTMLElement {
[CEReactions]
attribute long value; attribute long value;
// also has obsolete members // also has obsolete members
@ -12,5 +13,6 @@ interface HTMLLIElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLLIElement-partial // https://html.spec.whatwg.org/multipage/#HTMLLIElement-partial
partial interface HTMLLIElement { partial interface HTMLLIElement {
// [CEReactions]
// attribute DOMString type; // attribute DOMString type;
}; };

View file

@ -6,6 +6,7 @@
[HTMLConstructor] [HTMLConstructor]
interface HTMLLabelElement : HTMLElement { interface HTMLLabelElement : HTMLElement {
readonly attribute HTMLFormElement? form; readonly attribute HTMLFormElement? form;
[CEReactions]
attribute DOMString htmlFor; attribute DOMString htmlFor;
readonly attribute HTMLElement? control; readonly attribute HTMLElement? control;
}; };

View file

@ -12,5 +12,6 @@ interface HTMLLegendElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLLegendElement-partial // https://html.spec.whatwg.org/multipage/#HTMLLegendElement-partial
partial interface HTMLLegendElement { partial interface HTMLLegendElement {
// [CEReactions]
// attribute DOMString align; // attribute DOMString align;
}; };

View file

@ -5,13 +5,20 @@
// https://html.spec.whatwg.org/multipage/#htmllinkelement // https://html.spec.whatwg.org/multipage/#htmllinkelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLLinkElement : HTMLElement { interface HTMLLinkElement : HTMLElement {
[CEReactions]
attribute DOMString href; attribute DOMString href;
[CEReactions]
attribute DOMString? crossOrigin; attribute DOMString? crossOrigin;
[CEReactions]
attribute DOMString rel; attribute DOMString rel;
readonly attribute DOMTokenList relList; readonly attribute DOMTokenList relList;
[CEReactions]
attribute DOMString media; attribute DOMString media;
[CEReactions]
attribute DOMString hreflang; attribute DOMString hreflang;
[CEReactions]
attribute DOMString type; attribute DOMString type;
[CEReactions]
attribute DOMString integrity; attribute DOMString integrity;
// [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes; // [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes;
@ -21,7 +28,10 @@ HTMLLinkElement implements LinkStyle;
// https://html.spec.whatwg.org/multipage/#HTMLLinkElement-partial // https://html.spec.whatwg.org/multipage/#HTMLLinkElement-partial
partial interface HTMLLinkElement { partial interface HTMLLinkElement {
[CEReactions]
attribute DOMString charset; attribute DOMString charset;
[CEReactions]
attribute DOMString rev; attribute DOMString rev;
[CEReactions]
attribute DOMString target; attribute DOMString target;
}; };

View file

@ -5,7 +5,8 @@
// https://html.spec.whatwg.org/multipage/#htmlmapelement // https://html.spec.whatwg.org/multipage/#htmlmapelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLMapElement : HTMLElement { interface HTMLMapElement : HTMLElement {
// attribute DOMString name; // [CEReactions]
//readonly attribute HTMLCollection areas; // attribute DOMString name;
//readonly attribute HTMLCollection images; // readonly attribute HTMLCollection areas;
// readonly attribute HTMLCollection images;
}; };

View file

@ -6,62 +6,68 @@
enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" }; enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" };
[Abstract] [Abstract]
interface HTMLMediaElement : HTMLElement { interface HTMLMediaElement : HTMLElement {
// error state // error state
readonly attribute MediaError? error; readonly attribute MediaError? error;
// network state // network state
attribute DOMString src; [CEReactions]
readonly attribute DOMString currentSrc; attribute DOMString src;
// attribute DOMString crossOrigin; readonly attribute DOMString currentSrc;
const unsigned short NETWORK_EMPTY = 0; // [CEReactions]
const unsigned short NETWORK_IDLE = 1; // attribute DOMString crossOrigin;
const unsigned short NETWORK_LOADING = 2; const unsigned short NETWORK_EMPTY = 0;
const unsigned short NETWORK_NO_SOURCE = 3; const unsigned short NETWORK_IDLE = 1;
readonly attribute unsigned short networkState; const unsigned short NETWORK_LOADING = 2;
attribute DOMString preload; const unsigned short NETWORK_NO_SOURCE = 3;
//readonly attribute TimeRanges buffered; readonly attribute unsigned short networkState;
void load(); [CEReactions]
CanPlayTypeResult canPlayType(DOMString type); attribute DOMString preload;
// readonly attribute TimeRanges buffered;
void load();
CanPlayTypeResult canPlayType(DOMString type);
// ready state // ready state
const unsigned short HAVE_NOTHING = 0; const unsigned short HAVE_NOTHING = 0;
const unsigned short HAVE_METADATA = 1; const unsigned short HAVE_METADATA = 1;
const unsigned short HAVE_CURRENT_DATA = 2; const unsigned short HAVE_CURRENT_DATA = 2;
const unsigned short HAVE_FUTURE_DATA = 3; const unsigned short HAVE_FUTURE_DATA = 3;
const unsigned short HAVE_ENOUGH_DATA = 4; const unsigned short HAVE_ENOUGH_DATA = 4;
readonly attribute unsigned short readyState; readonly attribute unsigned short readyState;
//readonly attribute boolean seeking; // readonly attribute boolean seeking;
// playback state // playback state
// attribute double currentTime; // attribute double currentTime;
//void fastSeek(double time); // void fastSeek(double time);
//readonly attribute unrestricted double duration; // readonly attribute unrestricted double duration;
//Date getStartDate(); // Date getStartDate();
readonly attribute boolean paused; readonly attribute boolean paused;
// attribute double defaultPlaybackRate; // attribute double defaultPlaybackRate;
// attribute double playbackRate; // attribute double playbackRate;
//readonly attribute TimeRanges played; // readonly attribute TimeRanges played;
//readonly attribute TimeRanges seekable; // readonly attribute TimeRanges seekable;
//readonly attribute boolean ended; // readonly attribute boolean ended;
attribute boolean autoplay; [CEReactions]
// attribute boolean loop; attribute boolean autoplay;
void play(); // [CEReactions]
void pause(); // attribute boolean loop;
void play();
void pause();
// media controller // media controller
// attribute DOMString mediaGroup; // attribute DOMString mediaGroup;
// attribute MediaController? controller; // attribute MediaController? controller;
// controls // controls
// attribute boolean controls; // [CEReactions]
// attribute double volume; // attribute boolean controls;
// attribute boolean muted; // attribute double volume;
// attribute boolean defaultMuted; // attribute boolean muted;
// [CEReactions]
// attribute boolean defaultMuted;
// tracks // tracks
//readonly attribute AudioTrackList audioTracks; // readonly attribute AudioTrackList audioTracks;
//readonly attribute VideoTrackList videoTracks; // readonly attribute VideoTrackList videoTracks;
//readonly attribute TextTrackList textTracks; // readonly attribute TextTrackList textTracks;
//TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = ""); // TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = "");
}; };

View file

@ -5,8 +5,11 @@
// https://html.spec.whatwg.org/multipage/#htmlmetaelement // https://html.spec.whatwg.org/multipage/#htmlmetaelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLMetaElement : HTMLElement { interface HTMLMetaElement : HTMLElement {
[CEReactions]
attribute DOMString name; attribute DOMString name;
// [CEReactions]
// attribute DOMString httpEquiv; // attribute DOMString httpEquiv;
[CEReactions]
attribute DOMString content; attribute DOMString content;
// also has obsolete members // also has obsolete members
@ -14,5 +17,6 @@ interface HTMLMetaElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLMetaElement-partial // https://html.spec.whatwg.org/multipage/#HTMLMetaElement-partial
partial interface HTMLMetaElement { partial interface HTMLMetaElement {
// [CEReactions]
// attribute DOMString scheme; // attribute DOMString scheme;
}; };

View file

@ -5,11 +5,17 @@
// https://html.spec.whatwg.org/multipage/#htmlmeterelement // https://html.spec.whatwg.org/multipage/#htmlmeterelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLMeterElement : HTMLElement { interface HTMLMeterElement : HTMLElement {
// [CEReactions]
// attribute double value; // attribute double value;
// [CEReactions]
// attribute double min; // attribute double min;
// [CEReactions]
// attribute double max; // attribute double max;
// [CEReactions]
// attribute double low; // attribute double low;
// [CEReactions]
// attribute double high; // attribute double high;
// [CEReactions]
// attribute double optimum; // attribute double optimum;
readonly attribute NodeList labels; readonly attribute NodeList labels;
}; };

View file

@ -5,6 +5,8 @@
// https://html.spec.whatwg.org/multipage/#htmlmodelement // https://html.spec.whatwg.org/multipage/#htmlmodelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLModElement : HTMLElement { interface HTMLModElement : HTMLElement {
// [CEReactions]
// attribute DOMString cite; // attribute DOMString cite;
// [CEReactions]
// attribute DOMString dateTime; // attribute DOMString dateTime;
}; };

View file

@ -5,8 +5,11 @@
// https://html.spec.whatwg.org/multipage/#htmlolistelement // https://html.spec.whatwg.org/multipage/#htmlolistelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLOListElement : HTMLElement { interface HTMLOListElement : HTMLElement {
// [CEReactions]
// attribute boolean reversed; // attribute boolean reversed;
// [CEReactions]
// attribute long start; // attribute long start;
// [CEReactions]
// attribute DOMString type; // attribute DOMString type;
// also has obsolete members // also has obsolete members
@ -14,5 +17,6 @@ interface HTMLOListElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLOListElement-partial // https://html.spec.whatwg.org/multipage/#HTMLOListElement-partial
partial interface HTMLOListElement { partial interface HTMLOListElement {
// [CEReactions]
// attribute boolean compact; // attribute boolean compact;
}; };

View file

@ -5,13 +5,20 @@
// https://html.spec.whatwg.org/multipage/#htmlobjectelement // https://html.spec.whatwg.org/multipage/#htmlobjectelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLObjectElement : HTMLElement { interface HTMLObjectElement : HTMLElement {
// [CEReactions]
// attribute DOMString data; // attribute DOMString data;
[CEReactions]
attribute DOMString type; attribute DOMString type;
// [CEReactions]
// attribute boolean typeMustMatch; // attribute boolean typeMustMatch;
// [CEReactions]
// attribute DOMString name; // attribute DOMString name;
// [CEReactions]
// attribute DOMString useMap; // attribute DOMString useMap;
readonly attribute HTMLFormElement? form; readonly attribute HTMLFormElement? form;
// [CEReactions]
// attribute DOMString width; // attribute DOMString width;
// [CEReactions]
// attribute DOMString height; // attribute DOMString height;
//readonly attribute Document? contentDocument; //readonly attribute Document? contentDocument;
//readonly attribute WindowProxy? contentWindow; //readonly attribute WindowProxy? contentWindow;

View file

@ -5,6 +5,8 @@
// https://html.spec.whatwg.org/multipage/#htmloptgroupelement // https://html.spec.whatwg.org/multipage/#htmloptgroupelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLOptGroupElement : HTMLElement { interface HTMLOptGroupElement : HTMLElement {
[CEReactions]
attribute boolean disabled; attribute boolean disabled;
// attribute DOMString label; // [CEReactions]
// attribute DOMString label;
}; };

View file

@ -7,13 +7,18 @@
optional boolean defaultSelected = false, optional boolean defaultSelected = false,
optional boolean selected = false)*/] optional boolean selected = false)*/]
interface HTMLOptionElement : HTMLElement { interface HTMLOptionElement : HTMLElement {
attribute boolean disabled; [CEReactions]
readonly attribute HTMLFormElement? form; attribute boolean disabled;
attribute DOMString label; readonly attribute HTMLFormElement? form;
attribute boolean defaultSelected; [CEReactions]
attribute boolean selected; attribute DOMString label;
attribute DOMString value; [CEReactions]
attribute boolean defaultSelected;
attribute boolean selected;
[CEReactions]
attribute DOMString value;
attribute DOMString text; [CEReactions]
//readonly attribute long index; attribute DOMString text;
// readonly attribute long index;
}; };

View file

@ -5,14 +5,13 @@
// https://html.spec.whatwg.org/multipage/#htmloptionscollection // https://html.spec.whatwg.org/multipage/#htmloptionscollection
interface HTMLOptionsCollection : HTMLCollection { interface HTMLOptionsCollection : HTMLCollection {
// inherits item(), namedItem() // inherits item(), namedItem()
[CEReactions]
attribute unsigned long length; // shadows inherited length attribute unsigned long length; // shadows inherited length
//[CEReactions] [CEReactions, Throws]
[Throws]
setter void (unsigned long index, HTMLOptionElement? option); setter void (unsigned long index, HTMLOptionElement? option);
//[CEReactions] [CEReactions, Throws]
[Throws]
void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
//[CEReactions] [CEReactions]
void remove(long index); void remove(long index);
attribute long selectedIndex; attribute long selectedIndex;
}; };

View file

@ -7,18 +7,21 @@
interface HTMLOutputElement : HTMLElement { interface HTMLOutputElement : HTMLElement {
// [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor; // [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor;
readonly attribute HTMLFormElement? form; readonly attribute HTMLFormElement? form;
// attribute DOMString name; // [CEReactions]
// attribute DOMString name;
//readonly attribute DOMString type; // readonly attribute DOMString type;
// attribute DOMString defaultValue; // [CEReactions]
// attribute DOMString value; // attribute DOMString defaultValue;
// [CEReactions]
// attribute DOMString value;
//readonly attribute boolean willValidate; // readonly attribute boolean willValidate;
readonly attribute ValidityState validity; readonly attribute ValidityState validity;
//readonly attribute DOMString validationMessage; // readonly attribute DOMString validationMessage;
//boolean checkValidity(); // boolean checkValidity();
//boolean reportValidity(); // boolean reportValidity();
//void setCustomValidity(DOMString error); // void setCustomValidity(DOMString error);
readonly attribute NodeList labels; readonly attribute NodeList labels;
}; };

View file

@ -10,5 +10,6 @@ interface HTMLParagraphElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLParagraphElement-partial // https://html.spec.whatwg.org/multipage/#HTMLParagraphElement-partial
partial interface HTMLParagraphElement { partial interface HTMLParagraphElement {
// [CEReactions]
// attribute DOMString align; // attribute DOMString align;
}; };

View file

@ -5,7 +5,9 @@
// https://html.spec.whatwg.org/multipage/#htmlparamelement // https://html.spec.whatwg.org/multipage/#htmlparamelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLParamElement : HTMLElement { interface HTMLParamElement : HTMLElement {
// [CEReactions]
// attribute DOMString name; // attribute DOMString name;
// [CEReactions]
// attribute DOMString value; // attribute DOMString value;
// also has obsolete members // also has obsolete members
@ -13,6 +15,8 @@ interface HTMLParamElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLParamElement-partial // https://html.spec.whatwg.org/multipage/#HTMLParamElement-partial
partial interface HTMLParamElement { partial interface HTMLParamElement {
// [CEReactions]
// attribute DOMString type; // attribute DOMString type;
// [CEReactions]
// attribute DOMString valueType; // attribute DOMString valueType;
}; };

View file

@ -10,5 +10,6 @@ interface HTMLPreElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLPreElement-partial // https://html.spec.whatwg.org/multipage/#HTMLPreElement-partial
partial interface HTMLPreElement { partial interface HTMLPreElement {
// [CEReactions]
// attribute long width; // attribute long width;
}; };

View file

@ -5,8 +5,10 @@
// https://html.spec.whatwg.org/multipage/#htmlprogresselement // https://html.spec.whatwg.org/multipage/#htmlprogresselement
[HTMLConstructor] [HTMLConstructor]
interface HTMLProgressElement : HTMLElement { interface HTMLProgressElement : HTMLElement {
// attribute double value; // [CEReactions]
// attribute double max; // attribute double value;
//readonly attribute double position; // [CEReactions]
// attribute double max;
// readonly attribute double position;
readonly attribute NodeList labels; readonly attribute NodeList labels;
}; };

View file

@ -5,5 +5,6 @@
// https://html.spec.whatwg.org/multipage/#htmlquoteelement // https://html.spec.whatwg.org/multipage/#htmlquoteelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLQuoteElement : HTMLElement { interface HTMLQuoteElement : HTMLElement {
// attribute DOMString cite; // [CEReactions]
// attribute DOMString cite;
}; };

View file

@ -5,14 +5,21 @@
// https://html.spec.whatwg.org/multipage/#htmlscriptelement // https://html.spec.whatwg.org/multipage/#htmlscriptelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLScriptElement : HTMLElement { interface HTMLScriptElement : HTMLElement {
[CEReactions]
attribute DOMString src; attribute DOMString src;
[CEReactions]
attribute DOMString type; attribute DOMString type;
[CEReactions]
attribute DOMString charset; attribute DOMString charset;
[CEReactions]
attribute boolean async; attribute boolean async;
[CEReactions]
attribute boolean defer; attribute boolean defer;
[CEReactions]
attribute DOMString? crossOrigin; attribute DOMString? crossOrigin;
[Pure] [CEReactions, Pure]
attribute DOMString text; attribute DOMString text;
[CEReactions]
attribute DOMString integrity; attribute DOMString integrity;
// also has obsolete members // also has obsolete members
@ -20,6 +27,8 @@ interface HTMLScriptElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLScriptElement-partial // https://html.spec.whatwg.org/multipage/#HTMLScriptElement-partial
partial interface HTMLScriptElement { partial interface HTMLScriptElement {
[CEReactions]
attribute DOMString event; attribute DOMString event;
[CEReactions]
attribute DOMString htmlFor; attribute DOMString htmlFor;
}; };

View file

@ -5,36 +5,47 @@
// https://html.spec.whatwg.org/multipage/#htmlselectelement // https://html.spec.whatwg.org/multipage/#htmlselectelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLSelectElement : HTMLElement { interface HTMLSelectElement : HTMLElement {
// attribute boolean autofocus; // [CEReactions]
// attribute boolean autofocus;
[CEReactions]
attribute boolean disabled; attribute boolean disabled;
readonly attribute HTMLFormElement? form; readonly attribute HTMLFormElement? form;
[CEReactions]
attribute boolean multiple; attribute boolean multiple;
[CEReactions]
attribute DOMString name; attribute DOMString name;
// attribute boolean required; // [CEReactions]
// attribute boolean required;
[CEReactions]
attribute unsigned long size; attribute unsigned long size;
readonly attribute DOMString type; readonly attribute DOMString type;
readonly attribute HTMLOptionsCollection options; readonly attribute HTMLOptionsCollection options;
[CEReactions]
attribute unsigned long length; attribute unsigned long length;
getter Element? item(unsigned long index); getter Element? item(unsigned long index);
HTMLOptionElement? namedItem(DOMString name); HTMLOptionElement? namedItem(DOMString name);
// Note: this function currently only exists for union.html. // Note: this function currently only exists for union.html.
[CEReactions]
void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
[CEReactions]
void remove(); // ChildNode overload void remove(); // ChildNode overload
[CEReactions]
void remove(long index); void remove(long index);
//setter void (unsigned long index, HTMLOptionElement? option); // [CEReactions]
// setter void (unsigned long index, HTMLOptionElement? option);
//readonly attribute HTMLCollection selectedOptions; // readonly attribute HTMLCollection selectedOptions;
attribute long selectedIndex; attribute long selectedIndex;
attribute DOMString value; attribute DOMString value;
//readonly attribute boolean willValidate; // readonly attribute boolean willValidate;
readonly attribute ValidityState validity; readonly attribute ValidityState validity;
//readonly attribute DOMString validationMessage; // readonly attribute DOMString validationMessage;
//boolean checkValidity(); // boolean checkValidity();
//boolean reportValidity(); // boolean reportValidity();
//void setCustomValidity(DOMString error); // void setCustomValidity(DOMString error);
readonly attribute NodeList labels; readonly attribute NodeList labels;
}; };

View file

@ -5,6 +5,8 @@
// https://html.spec.whatwg.org/multipage/#htmlsourceelement // https://html.spec.whatwg.org/multipage/#htmlsourceelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLSourceElement : HTMLElement { interface HTMLSourceElement : HTMLElement {
// [CEReactions]
// attribute DOMString src; // attribute DOMString src;
// [CEReactions]
// attribute DOMString type; // attribute DOMString type;
}; };

View file

@ -5,8 +5,11 @@
// https://html.spec.whatwg.org/multipage/#htmlstyleelement // https://html.spec.whatwg.org/multipage/#htmlstyleelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLStyleElement : HTMLElement { interface HTMLStyleElement : HTMLElement {
// attribute DOMString media; // [CEReactions]
// attribute DOMString type; // attribute DOMString media;
// attribute boolean scoped; // [CEReactions]
// attribute DOMString type;
// [CEReactions]
// attribute boolean scoped;
}; };
HTMLStyleElement implements LinkStyle; HTMLStyleElement implements LinkStyle;

View file

@ -10,5 +10,6 @@ interface HTMLTableCaptionElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLTableCaptionElement-partial // https://html.spec.whatwg.org/multipage/#HTMLTableCaptionElement-partial
partial interface HTMLTableCaptionElement { partial interface HTMLTableCaptionElement {
// attribute DOMString align; // [CEReactions]
// attribute DOMString align;
}; };

View file

@ -5,9 +5,12 @@
// https://html.spec.whatwg.org/multipage/#htmltablecellelement // https://html.spec.whatwg.org/multipage/#htmltablecellelement
[HTMLConstructor, Abstract] [HTMLConstructor, Abstract]
interface HTMLTableCellElement : HTMLElement { interface HTMLTableCellElement : HTMLElement {
attribute unsigned long colSpan; [CEReactions]
attribute unsigned long rowSpan; attribute unsigned long colSpan;
// attribute DOMString headers; [CEReactions]
attribute unsigned long rowSpan;
// [CEReactions]
// attribute DOMString headers;
readonly attribute long cellIndex; readonly attribute long cellIndex;
// also has obsolete members // also has obsolete members
@ -15,15 +18,23 @@ interface HTMLTableCellElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLTableCellElement-partial // https://html.spec.whatwg.org/multipage/#HTMLTableCellElement-partial
partial interface HTMLTableCellElement { partial interface HTMLTableCellElement {
// attribute DOMString align; // [CEReactions]
// attribute DOMString axis; // attribute DOMString align;
// attribute DOMString height; // [CEReactions]
// attribute DOMString axis;
// [CEReactions]
// attribute DOMString height;
[CEReactions]
attribute DOMString width; attribute DOMString width;
// attribute DOMString ch; // attribute DOMString ch;
// attribute DOMString chOff; // [CEReactions]
// attribute boolean noWrap; // attribute DOMString chOff;
// attribute DOMString vAlign; // [CEReactions]
// attribute boolean noWrap;
// [CEReactions]
// attribute DOMString vAlign;
[TreatNullAs=EmptyString] attribute DOMString bgColor; [CEReactions, TreatNullAs=EmptyString]
attribute DOMString bgColor;
}; };

View file

@ -5,16 +5,22 @@
// https://html.spec.whatwg.org/multipage/#htmltablecolelement // https://html.spec.whatwg.org/multipage/#htmltablecolelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLTableColElement : HTMLElement { interface HTMLTableColElement : HTMLElement {
// attribute unsigned long span; // [CEReactions]
// attribute unsigned long span;
// also has obsolete members // also has obsolete members
}; };
// https://html.spec.whatwg.org/multipage/#HTMLTableColElement-partial // https://html.spec.whatwg.org/multipage/#HTMLTableColElement-partial
partial interface HTMLTableColElement { partial interface HTMLTableColElement {
// attribute DOMString align; // [CEReactions]
// attribute DOMString ch; // attribute DOMString align;
// attribute DOMString chOff; // [CEReactions]
// attribute DOMString vAlign; // attribute DOMString ch;
// attribute DOMString width; // [CEReactions]
// attribute DOMString chOff;
// [CEReactions]
// attribute DOMString vAlign;
// [CEReactions]
// attribute DOMString width;
}; };

View file

@ -10,5 +10,6 @@ interface HTMLTableDataCellElement : HTMLTableCellElement {
// https://html.spec.whatwg.org/multipage/#HTMLTableDataCellElement-partial // https://html.spec.whatwg.org/multipage/#HTMLTableDataCellElement-partial
partial interface HTMLTableDataCellElement { partial interface HTMLTableDataCellElement {
// [CEReactions]
// attribute DOMString abbr; // attribute DOMString abbr;
}; };

View file

@ -5,36 +5,53 @@
// https://html.spec.whatwg.org/multipage/#htmltableelement // https://html.spec.whatwg.org/multipage/#htmltableelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLTableElement : HTMLElement { interface HTMLTableElement : HTMLElement {
[CEReactions]
attribute HTMLTableCaptionElement? caption; attribute HTMLTableCaptionElement? caption;
HTMLTableCaptionElement createCaption(); HTMLTableCaptionElement createCaption();
[CEReactions]
void deleteCaption(); void deleteCaption();
[SetterThrows]
[CEReactions, SetterThrows]
attribute HTMLTableSectionElement? tHead; attribute HTMLTableSectionElement? tHead;
HTMLTableSectionElement createTHead(); HTMLTableSectionElement createTHead();
[CEReactions]
void deleteTHead(); void deleteTHead();
[SetterThrows]
[CEReactions, SetterThrows]
attribute HTMLTableSectionElement? tFoot; attribute HTMLTableSectionElement? tFoot;
HTMLTableSectionElement createTFoot(); HTMLTableSectionElement createTFoot();
[CEReactions]
void deleteTFoot(); void deleteTFoot();
readonly attribute HTMLCollection tBodies; readonly attribute HTMLCollection tBodies;
HTMLTableSectionElement createTBody(); HTMLTableSectionElement createTBody();
readonly attribute HTMLCollection rows; readonly attribute HTMLCollection rows;
[Throws] HTMLTableRowElement insertRow(optional long index = -1); [Throws] HTMLTableRowElement insertRow(optional long index = -1);
[Throws] void deleteRow(long index); [CEReactions, Throws] void deleteRow(long index);
// also has obsolete members // also has obsolete members
}; };
// https://html.spec.whatwg.org/multipage/#HTMLTableElement-partial // https://html.spec.whatwg.org/multipage/#HTMLTableElement-partial
partial interface HTMLTableElement { partial interface HTMLTableElement {
// attribute DOMString align; // [CEReactions]
// attribute DOMString border; // attribute DOMString align;
// attribute DOMString frame; // [CEReactions]
// attribute DOMString rules; // attribute DOMString border;
// attribute DOMString summary; // [CEReactions]
// attribute DOMString frame;
// [CEReactions]
// attribute DOMString rules;
// [CEReactions]
// attribute DOMString summary;
[CEReactions]
attribute DOMString width; attribute DOMString width;
[TreatNullAs=EmptyString] attribute DOMString bgColor; [CEReactions, TreatNullAs=EmptyString]
//[TreatNullAs=EmptyString] attribute DOMString cellPadding; attribute DOMString bgColor;
//[TreatNullAs=EmptyString] attribute DOMString cellSpacing; // [CEReactions, TreatNullAs=EmptyString]
// attribute DOMString cellPadding;
// [CEReactions, TreatNullAs=EmptyString]
// attribute DOMString cellSpacing;
}; };

View file

@ -5,8 +5,11 @@
// https://html.spec.whatwg.org/multipage/#htmltableheadercellelement // https://html.spec.whatwg.org/multipage/#htmltableheadercellelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLTableHeaderCellElement : HTMLTableCellElement { interface HTMLTableHeaderCellElement : HTMLTableCellElement {
// [CEReactions]
// attribute DOMString scope; // attribute DOMString scope;
// [CEReactions]
// attribute DOMString abbr; // attribute DOMString abbr;
// [CEReactions]
// attribute DOMString sorted; // attribute DOMString sorted;
//void sort(); // void sort();
}; };

View file

@ -10,7 +10,7 @@ interface HTMLTableRowElement : HTMLElement {
readonly attribute HTMLCollection cells; readonly attribute HTMLCollection cells;
[Throws] [Throws]
HTMLElement insertCell(optional long index = -1); HTMLElement insertCell(optional long index = -1);
[Throws] [CEReactions, Throws]
void deleteCell(long index); void deleteCell(long index);
// also has obsolete members // also has obsolete members
@ -18,10 +18,15 @@ interface HTMLTableRowElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLTableRowElement-partial // https://html.spec.whatwg.org/multipage/#HTMLTableRowElement-partial
partial interface HTMLTableRowElement { partial interface HTMLTableRowElement {
// attribute DOMString align; // [CEReactions]
// attribute DOMString ch; // attribute DOMString align;
// attribute DOMString chOff; // [CEReactions]
// attribute DOMString vAlign; // attribute DOMString ch;
// [CEReactions]
// attribute DOMString chOff;
// [CEReactions]
// attribute DOMString vAlign;
[TreatNullAs=EmptyString] attribute DOMString bgColor; [CEReactions, TreatNullAs=EmptyString]
attribute DOMString bgColor;
}; };

View file

@ -8,7 +8,7 @@ interface HTMLTableSectionElement : HTMLElement {
readonly attribute HTMLCollection rows; readonly attribute HTMLCollection rows;
[Throws] [Throws]
HTMLElement insertRow(optional long index = -1); HTMLElement insertRow(optional long index = -1);
[Throws] [CEReactions, Throws]
void deleteRow(long index); void deleteRow(long index);
// also has obsolete members // also has obsolete members
@ -16,8 +16,12 @@ interface HTMLTableSectionElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLTableSectionElement-partial // https://html.spec.whatwg.org/multipage/#HTMLTableSectionElement-partial
partial interface HTMLTableSectionElement { partial interface HTMLTableSectionElement {
// attribute DOMString align; // [CEReactions]
// attribute DOMString ch; // attribute DOMString align;
// attribute DOMString chOff; // [CEReactions]
// attribute DOMString vAlign; // attribute DOMString ch;
// [CEReactions]
// attribute DOMString chOff;
// [CEReactions]
// attribute DOMString vAlign;
}; };

View file

@ -5,44 +5,57 @@
// https://html.spec.whatwg.org/multipage/#htmltextareaelement // https://html.spec.whatwg.org/multipage/#htmltextareaelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLTextAreaElement : HTMLElement { interface HTMLTextAreaElement : HTMLElement {
// attribute DOMString autocomplete; // [CEReactions]
// attribute boolean autofocus; // attribute DOMString autocomplete;
[SetterThrows] // [CEReactions]
attribute unsigned long cols; // attribute boolean autofocus;
// attribute DOMString dirName; [CEReactions, SetterThrows]
attribute unsigned long cols;
// [CEReactions]
// attribute DOMString dirName;
[CEReactions]
attribute boolean disabled; attribute boolean disabled;
readonly attribute HTMLFormElement? form; readonly attribute HTMLFormElement? form;
// attribute DOMString inputMode; // [CEReactions]
// attribute long maxLength; // attribute DOMString inputMode;
// attribute long minLength; // [CEReactions]
// attribute long maxLength;
// [CEReactions]
// attribute long minLength;
attribute DOMString name; attribute DOMString name;
[CEReactions]
attribute DOMString placeholder; attribute DOMString placeholder;
[CEReactions]
attribute boolean readOnly; attribute boolean readOnly;
[CEReactions]
attribute boolean required; attribute boolean required;
[SetterThrows] [CEReactions, SetterThrows]
attribute unsigned long rows; attribute unsigned long rows;
[CEReactions]
attribute DOMString wrap; attribute DOMString wrap;
readonly attribute DOMString type; readonly attribute DOMString type;
[CEReactions]
attribute DOMString defaultValue; attribute DOMString defaultValue;
[TreatNullAs=EmptyString] attribute DOMString value; [CEReactions,TreatNullAs=EmptyString]
//readonly attribute unsigned long textLength; attribute DOMString value;
// readonly attribute unsigned long textLength;
//readonly attribute boolean willValidate; // readonly attribute boolean willValidate;
//readonly attribute ValidityState validity; // readonly attribute ValidityState validity;
//readonly attribute DOMString validationMessage; // readonly attribute DOMString validationMessage;
//boolean checkValidity(); // boolean checkValidity();
//boolean reportValidity(); // boolean reportValidity();
//void setCustomValidity(DOMString error); // void setCustomValidity(DOMString error);
readonly attribute NodeList labels; readonly attribute NodeList labels;
//void select(); // void select();
attribute unsigned long selectionStart; attribute unsigned long selectionStart;
attribute unsigned long selectionEnd; attribute unsigned long selectionEnd;
attribute DOMString selectionDirection; attribute DOMString selectionDirection;
//void setRangeText(DOMString replacement); // void setRangeText(DOMString replacement);
//void setRangeText(DOMString replacement, unsigned long start, unsigned long end, // void setRangeText(DOMString replacement, unsigned long start, unsigned long end,
// optional SelectionMode selectionMode = "preserve"); // optional SelectionMode selectionMode = "preserve");
void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
}; };

View file

@ -5,5 +5,6 @@
// https://html.spec.whatwg.org/multipage/#htmltimeelement // https://html.spec.whatwg.org/multipage/#htmltimeelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLTimeElement : HTMLElement { interface HTMLTimeElement : HTMLElement {
[CEReactions]
attribute DOMString dateTime; attribute DOMString dateTime;
}; };

View file

@ -5,6 +5,6 @@
// https://html.spec.whatwg.org/multipage/#htmltitleelement // https://html.spec.whatwg.org/multipage/#htmltitleelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLTitleElement : HTMLElement { interface HTMLTitleElement : HTMLElement {
[Pure] [CEReactions, Pure]
attribute DOMString text; attribute DOMString text;
}; };

View file

@ -5,17 +5,22 @@
// https://html.spec.whatwg.org/multipage/#htmltrackelement // https://html.spec.whatwg.org/multipage/#htmltrackelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLTrackElement : HTMLElement { interface HTMLTrackElement : HTMLElement {
// attribute DOMString kind; // [CEReactions]
// attribute DOMString src; // attribute DOMString kind;
// attribute DOMString srclang; // [CEReactions]
// attribute DOMString label; // attribute DOMString src;
// attribute boolean default; // [CEReactions]
// attribute DOMString srclang;
// [CEReactions]
// attribute DOMString label;
// [CEReactions]
// attribute boolean default;
//const unsigned short NONE = 0; // const unsigned short NONE = 0;
//const unsigned short LOADING = 1; // const unsigned short LOADING = 1;
//const unsigned short LOADED = 2; // const unsigned short LOADED = 2;
//const unsigned short ERROR = 3; // const unsigned short ERROR = 3;
//readonly attribute unsigned short readyState; // readonly attribute unsigned short readyState;
//readonly attribute TextTrack track; // readonly attribute TextTrack track;
}; };

View file

@ -10,6 +10,8 @@ interface HTMLUListElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLUListElement-partial // https://html.spec.whatwg.org/multipage/#HTMLUListElement-partial
partial interface HTMLUListElement { partial interface HTMLUListElement {
// attribute boolean compact; // [CEReactions]
// attribute DOMString type; // attribute boolean compact;
// [CEReactions]
// attribute DOMString type;
}; };

View file

@ -5,9 +5,12 @@
// https://html.spec.whatwg.org/multipage/#htmlvideoelement // https://html.spec.whatwg.org/multipage/#htmlvideoelement
[HTMLConstructor] [HTMLConstructor]
interface HTMLVideoElement : HTMLMediaElement { interface HTMLVideoElement : HTMLMediaElement {
// attribute unsigned long width; // [CEReactions]
// attribute unsigned long height; // attribute unsigned long width;
//readonly attribute unsigned long videoWidth; // [CEReactions]
//readonly attribute unsigned long videoHeight; // attribute unsigned long height;
// attribute DOMString poster; // readonly attribute unsigned long videoWidth;
// readonly attribute unsigned long videoHeight;
// [CEReactions]
// attribute DOMString poster;
}; };

View file

@ -14,12 +14,12 @@ interface NamedNodeMap {
getter Attr? getNamedItem(DOMString qualifiedName); getter Attr? getNamedItem(DOMString qualifiedName);
[Pure] [Pure]
Attr? getNamedItemNS(DOMString? namespace, DOMString localName); Attr? getNamedItemNS(DOMString? namespace, DOMString localName);
[Throws] [CEReactions, Throws]
Attr? setNamedItem(Attr attr); Attr? setNamedItem(Attr attr);
[Throws] [CEReactions, Throws]
Attr? setNamedItemNS(Attr attr); Attr? setNamedItemNS(Attr attr);
[Throws] [CEReactions, Throws]
Attr removeNamedItem(DOMString qualifiedName); Attr removeNamedItem(DOMString qualifiedName);
[Throws] [CEReactions, Throws]
Attr removeNamedItemNS(DOMString? namespace, DOMString localName); Attr removeNamedItemNS(DOMString? namespace, DOMString localName);
}; };

View file

@ -51,12 +51,14 @@ interface Node : EventTarget {
[Pure] [Pure]
readonly attribute Node? nextSibling; readonly attribute Node? nextSibling;
[Pure] [CEReactions, Pure]
attribute DOMString? nodeValue; attribute DOMString? nodeValue;
[Pure] [CEReactions, Pure]
attribute DOMString? textContent; attribute DOMString? textContent;
[CEReactions]
void normalize(); void normalize();
[CEReactions]
Node cloneNode(optional boolean deep = false); Node cloneNode(optional boolean deep = false);
[Pure] [Pure]
boolean isEqualNode(Node? node); boolean isEqualNode(Node? node);
@ -81,12 +83,12 @@ interface Node : EventTarget {
[Pure] [Pure]
boolean isDefaultNamespace(DOMString? namespace); boolean isDefaultNamespace(DOMString? namespace);
[Throws] [CEReactions, Throws]
Node insertBefore(Node node, Node? child); Node insertBefore(Node node, Node? child);
[Throws] [CEReactions, Throws]
Node appendChild(Node node); Node appendChild(Node node);
[Throws] [CEReactions, Throws]
Node replaceChild(Node node, Node child); Node replaceChild(Node node, Node child);
[Throws] [CEReactions, Throws]
Node removeChild(Node child); Node removeChild(Node child);
}; };

View file

@ -17,9 +17,9 @@ interface ParentNode {
[Pure] [Pure]
readonly attribute unsigned long childElementCount; readonly attribute unsigned long childElementCount;
[Throws, Unscopable] [CEReactions, Throws, Unscopable]
void prepend((Node or DOMString)... nodes); void prepend((Node or DOMString)... nodes);
[Throws, Unscopable] [CEReactions, Throws, Unscopable]
void append((Node or DOMString)... nodes); void append((Node or DOMString)... nodes);
[Pure, Throws] [Pure, Throws]

View file

@ -47,15 +47,15 @@ interface Range {
const unsigned short END_TO_START = 3; const unsigned short END_TO_START = 3;
[Pure, Throws] [Pure, Throws]
short compareBoundaryPoints(unsigned short how, Range sourceRange); short compareBoundaryPoints(unsigned short how, Range sourceRange);
[Throws] [CEReactions, Throws]
void deleteContents(); void deleteContents();
[NewObject, Throws] [CEReactions, NewObject, Throws]
DocumentFragment extractContents(); DocumentFragment extractContents();
[NewObject, Throws] [CEReactions, NewObject, Throws]
DocumentFragment cloneContents(); DocumentFragment cloneContents();
[Throws] [CEReactions, Throws]
void insertNode(Node node); void insertNode(Node node);
[Throws] [CEReactions, Throws]
void surroundContents(Node newParent); void surroundContents(Node newParent);
[NewObject] [NewObject]
@ -76,7 +76,7 @@ interface Range {
// https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#extensions-to-the-range-interface // https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#extensions-to-the-range-interface
partial interface Range { partial interface Range {
[NewObject, Throws] [CEReactions, NewObject, Throws]
DocumentFragment createContextualFragment(DOMString fragment); DocumentFragment createContextualFragment(DOMString fragment);
}; };

View file

@ -753,6 +753,24 @@ impl ScriptThread {
let _ = window.layout_chan().send(msg); let _ = window.layout_chan().send(msg);
} }
pub fn push_new_element_queue() {
SCRIPT_THREAD_ROOT.with(|root| {
if let Some(script_thread) = root.get() {
let script_thread = unsafe { &*script_thread };
script_thread.custom_element_reaction_stack.push_new_element_queue();
}
})
}
pub fn pop_current_element_queue() {
SCRIPT_THREAD_ROOT.with(|root| {
if let Some(script_thread) = root.get() {
let script_thread = unsafe { &*script_thread };
script_thread.custom_element_reaction_stack.pop_current_element_queue();
}
})
}
pub fn enqueue_callback_reaction(element:&Element, reaction: CallbackReaction) { pub fn enqueue_callback_reaction(element:&Element, reaction: CallbackReaction) {
SCRIPT_THREAD_ROOT.with(|root| { SCRIPT_THREAD_ROOT.with(|root| {
if let Some(script_thread) = root.get() { if let Some(script_thread) = root.get() {

View file

@ -1,11 +1,5 @@
[adopted-callback.html] [adopted-callback.html]
type: testharness type: testharness
[Inserting an ancestor of custom element into the document of the template elements must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving an ancestor of custom element from the owner document into the document of the template elements must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in the document of the template elements must enqueue and invoke adoptedCallback] [Inserting a custom element into a shadow tree in the document of the template elements must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
@ -18,12 +12,6 @@
[Inserting a custom element into a detached shadow tree that belongs to the document of the template elements must enqueue and invoke adoptedCallback] [Inserting a custom element into a detached shadow tree that belongs to the document of the template elements must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into a new document must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving an ancestor of custom element from the owner document into a new document must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in a new document must enqueue and invoke adoptedCallback] [Inserting a custom element into a shadow tree in a new document must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
@ -36,12 +24,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a new document must enqueue and invoke adoptedCallback] [Inserting a custom element into a detached shadow tree that belongs to a new document must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into a cloned document must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving an ancestor of custom element from the owner document into a cloned document must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in a cloned document must enqueue and invoke adoptedCallback] [Inserting a custom element into a shadow tree in a cloned document must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
@ -54,12 +36,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a cloned document must enqueue and invoke adoptedCallback] [Inserting a custom element into a detached shadow tree that belongs to a cloned document must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving an ancestor of custom element from the owner document into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in a document created by createHTMLDocument must enqueue and invoke adoptedCallback] [Inserting a custom element into a shadow tree in a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
@ -72,12 +48,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a document created by createHTMLDocument must enqueue and invoke adoptedCallback] [Inserting a custom element into a detached shadow tree that belongs to a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving an ancestor of custom element from the owner document into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in an HTML document created by createDocument must enqueue and invoke adoptedCallback] [Inserting a custom element into a shadow tree in an HTML document created by createDocument must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
@ -90,12 +60,6 @@
[Inserting a custom element into a detached shadow tree that belongs to an HTML document created by createDocument must enqueue and invoke adoptedCallback] [Inserting a custom element into a detached shadow tree that belongs to an HTML document created by createDocument must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into the document of an iframe must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving an ancestor of custom element from the owner document into the document of an iframe must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in the document of an iframe must enqueue and invoke adoptedCallback] [Inserting a custom element into a shadow tree in the document of an iframe must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
@ -108,12 +72,6 @@
[Inserting a custom element into a detached shadow tree that belongs to the document of an iframe must enqueue and invoke adoptedCallback] [Inserting a custom element into a detached shadow tree that belongs to the document of an iframe must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving an ancestor of custom element from the owner document into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in an HTML document fetched by XHR must enqueue and invoke adoptedCallback] [Inserting a custom element into a shadow tree in an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
@ -126,51 +84,3 @@
[Inserting a custom element into a detached shadow tree that belongs to an HTML document fetched by XHR must enqueue and invoke adoptedCallback] [Inserting a custom element into a detached shadow tree that belongs to an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
expected: FAIL expected: FAIL
[Custom Elements: adoptedCallback]
expected: FAIL
[Inserting a custom element into the owner document must not enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into the document of the template elements must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving a custom element from the owner document into the document of the template elements must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into a new document must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving a custom element from the owner document into a new document must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into a cloned document must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving a custom element from the owner document into a cloned document must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving a custom element from the owner document into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving a custom element from the owner document into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into the document of an iframe must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving a custom element from the owner document into the document of an iframe must enqueue and invoke adoptedCallback]
expected: FAIL
[Inserting a custom element into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
expected: FAIL
[Moving a custom element from the owner document into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
expected: FAIL

View file

@ -1,35 +1,5 @@
[attribute-changed-callback.html] [attribute-changed-callback.html]
type: testharness type: testharness
[setAttribute and removeAttribute must enqueue and invoke attributeChangedCallback]
expected: FAIL
[setAttributeNS and removeAttributeNS must enqueue and invoke attributeChangedCallback]
expected: FAIL
[setAttributeNode and removeAttributeNode must enqueue and invoke attributeChangedCallback for an HTML attribute]
expected: FAIL
[setAttributeNode and removeAttributeNS must enqueue and invoke attributeChangedCallback for an SVG attribute]
expected: FAIL
[Mutating attributeChangedCallback after calling customElements.define must not affect the callback being invoked]
expected: FAIL
[attributedChangedCallback must not be invoked when the observed attributes does not contain the attribute]
expected: FAIL
[Mutating observedAttributes after calling customElements.define must not affect the set of attributes for which attributedChangedCallback is invoked]
expected: FAIL
[attributedChangedCallback must be enqueued for attributes specified in a non-Array iterable observedAttributes]
expected: FAIL
[attributedChangedCallback must be enqueued for style attribute change by mutating inline style declaration]
expected: FAIL
[attributedChangedCallback must not be enqueued when mutating inline style declaration if the style attribute is not observed]
expected: FAIL
[Custom Elements: attributeChangedCallback] [Custom Elements: attributeChangedCallback]
expected: FAIL expected: FAIL

View file

@ -1,8 +1,5 @@
[connected-callbacks.html] [connected-callbacks.html]
type: testharness type: testharness
[Inserting an ancestor of custom element into the document must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in the document must enqueue and invoke connectedCallback] [Inserting a custom element into a shadow tree in the document must enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
@ -12,9 +9,6 @@
[Inserting a custom element into a detached shadow tree that belongs to the document must not enqueue and invoke connectedCallback] [Inserting a custom element into a detached shadow tree that belongs to the document must not enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into the document of the template elements must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in the document of the template elements must enqueue and invoke connectedCallback] [Inserting a custom element into a shadow tree in the document of the template elements must enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
@ -24,9 +18,6 @@
[Inserting a custom element into a detached shadow tree that belongs to the document of the template elements must not enqueue and invoke connectedCallback] [Inserting a custom element into a detached shadow tree that belongs to the document of the template elements must not enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into a new document must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in a new document must enqueue and invoke connectedCallback] [Inserting a custom element into a shadow tree in a new document must enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
@ -36,9 +27,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a new document must not enqueue and invoke connectedCallback] [Inserting a custom element into a detached shadow tree that belongs to a new document must not enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into a cloned document must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in a cloned document must enqueue and invoke connectedCallback] [Inserting a custom element into a shadow tree in a cloned document must enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
@ -48,9 +36,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a cloned document must not enqueue and invoke connectedCallback] [Inserting a custom element into a detached shadow tree that belongs to a cloned document must not enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into a document created by createHTMLDocument must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in a document created by createHTMLDocument must enqueue and invoke connectedCallback] [Inserting a custom element into a shadow tree in a document created by createHTMLDocument must enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
@ -60,9 +45,6 @@
[Inserting a custom element into a detached shadow tree that belongs to a document created by createHTMLDocument must not enqueue and invoke connectedCallback] [Inserting a custom element into a detached shadow tree that belongs to a document created by createHTMLDocument must not enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into an HTML document created by createDocument must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in an HTML document created by createDocument must enqueue and invoke connectedCallback] [Inserting a custom element into a shadow tree in an HTML document created by createDocument must enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
@ -72,9 +54,6 @@
[Inserting a custom element into a detached shadow tree that belongs to an HTML document created by createDocument must not enqueue and invoke connectedCallback] [Inserting a custom element into a detached shadow tree that belongs to an HTML document created by createDocument must not enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into the document of an iframe must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in the document of an iframe must enqueue and invoke connectedCallback] [Inserting a custom element into a shadow tree in the document of an iframe must enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
@ -84,9 +63,6 @@
[Inserting a custom element into a detached shadow tree that belongs to the document of an iframe must not enqueue and invoke connectedCallback] [Inserting a custom element into a detached shadow tree that belongs to the document of an iframe must not enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
[Inserting an ancestor of custom element into an HTML document fetched by XHR must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a shadow tree in an HTML document fetched by XHR must enqueue and invoke connectedCallback] [Inserting a custom element into a shadow tree in an HTML document fetched by XHR must enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
@ -96,30 +72,3 @@
[Inserting a custom element into a detached shadow tree that belongs to an HTML document fetched by XHR must not enqueue and invoke connectedCallback] [Inserting a custom element into a detached shadow tree that belongs to an HTML document fetched by XHR must not enqueue and invoke connectedCallback]
expected: FAIL expected: FAIL
[Custom Elements: connectedCallback]
expected: FAIL
[Inserting a custom element into the document must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into the document of the template elements must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a new document must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a cloned document must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into a document created by createHTMLDocument must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into an HTML document created by createDocument must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into the document of an iframe must enqueue and invoke connectedCallback]
expected: FAIL
[Inserting a custom element into an HTML document fetched by XHR must enqueue and invoke connectedCallback]
expected: FAIL

View file

@ -6,6 +6,3 @@
[Mutating a undefined custom element while upgrading a custom element must not enqueue or invoke reactions on the mutated element] [Mutating a undefined custom element while upgrading a custom element must not enqueue or invoke reactions on the mutated element]
expected: FAIL expected: FAIL
[Mutating another custom element inside adopted callback must invoke all pending callbacks on the mutated element]
expected: FAIL

View file

@ -72,54 +72,3 @@
[Removing a custom element from a detached shadow tree that belongs to an HTML document fetched by XHR must not enqueue and invoke disconnectedCallback] [Removing a custom element from a detached shadow tree that belongs to an HTML document fetched by XHR must not enqueue and invoke disconnectedCallback]
expected: FAIL expected: FAIL
[Custom Elements: disconnectedCallback]
expected: FAIL
[Removing a custom element from the document must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing an ancestor of custom element from the document must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing a custom element from the document of the template elements must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing an ancestor of custom element from the document of the template elements must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing a custom element from a new document must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing an ancestor of custom element from a new document must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing a custom element from a cloned document must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing an ancestor of custom element from a cloned document must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing a custom element from a document created by createHTMLDocument must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing an ancestor of custom element from a document created by createHTMLDocument must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing a custom element from an HTML document created by createDocument must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing an ancestor of custom element from an HTML document created by createDocument must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing a custom element from the document of an iframe must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing an ancestor of custom element from the document of an iframe must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing a custom element from an HTML document fetched by XHR must enqueue and invoke disconnectedCallback]
expected: FAIL
[Removing an ancestor of custom element from an HTML document fetched by XHR must enqueue and invoke disconnectedCallback]
expected: FAIL

View file

@ -1,5 +0,0 @@
[parser-constructs-custom-element-in-document-write.html]
type: testharness
[Custom Elements: Changes to the HTML parser]
expected: FAIL

View file

@ -1,5 +0,0 @@
[parser-constructs-custom-element-synchronously.html]
type: testharness
[Custom Elements: Changes to the HTML parser]
expected: FAIL

View file

@ -1,5 +0,0 @@
[parser-sets-attributes-and-children.html]
type: testharness
[Custom Elements: Changes to the HTML parser]
expected: FAIL

View file

@ -1,5 +0,0 @@
[parser-uses-constructed-element.html]
type: testharness
[Custom Elements: HTML parser must construct a custom element instead of upgrading]
expected: FAIL

View file

@ -1,14 +1,11 @@
[parser-uses-registry-of-owner-document.html] [parser-uses-registry-of-owner-document.html]
type: testharness type: testharness
[HTML parser must not instantiate custom elements inside template elements]
expected: FAIL
[HTML parser must use the registry of the content document inside an iframe] [HTML parser must use the registry of the content document inside an iframe]
expected: FAIL expected: FAIL
[HTML parser must use the registry of window.document in a document created by document.implementation.createHTMLDocument()] [HTML parser must use the registry of window.document in a document created by document.implementation.createHTMLDocument()]
expected: FAIL expected: FAIL
[Custom Elements: HTML parser must use the owner document's custom element registry]
expected: FAIL
[HTML parser must not instantiate custom elements inside template elements]
expected: FAIL

View file

@ -1,11 +1,5 @@
[reaction-timing.html] [reaction-timing.html]
type: testharness type: testharness
[setAttribute and removeAttribute must enqueue and invoke attributeChangedCallback]
expected: FAIL
[Custom Elements: Custom element reactions must be invoked before returning to author scripts]
expected: FAIL
[Calling Node.prototype.cloneNode(false) must push a new element queue to the processing stack] [Calling Node.prototype.cloneNode(false) must push a new element queue to the processing stack]
expected: FAIL expected: FAIL

View file

@ -1,5 +0,0 @@
[Attr.html]
type: testharness
[value on Attr must enqueue an attributeChanged reaction when replacing an existing attribute]
expected: FAIL

View file

@ -1,47 +1,5 @@
[CSSStyleDeclaration.html] [CSSStyleDeclaration.html]
type: testharness type: testharness
[cssText on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
expected: FAIL
[cssText on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
expected: FAIL
[setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
expected: FAIL
[setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
expected: FAIL
[setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important and the style attribute is observed]
expected: FAIL
[setPropertyValue on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
expected: FAIL
[setPropertyValue on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
expected: FAIL
[setPropertyPriority on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important and the style attribute is observed]
expected: FAIL
[removeProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it removes a property from the observed style attribute]
expected: FAIL
[cssFloat on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
expected: FAIL
[A camel case attribute (borderWidth) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
expected: FAIL
[A camel case attribute (borderWidth) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
expected: FAIL
[A dashed property (border-width) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
expected: FAIL
[A dashed property (border-width) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute]
expected: FAIL
[A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute]
expected: FAIL expected: FAIL

View file

@ -1,23 +0,0 @@
[ChildNode.html]
type: testharness
[before on ChildNode must enqueue a connected reaction]
expected: FAIL
[before on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
expected: FAIL
[after on ChildNode must enqueue a connected reaction]
expected: FAIL
[after on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
expected: FAIL
[replaceWith on ChildNode must enqueue a connected reaction]
expected: FAIL
[replaceWith on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
expected: FAIL
[replaceWith on ChildNode must enqueue a disconnected reaction]
expected: FAIL

View file

@ -1,14 +0,0 @@
[DOMStringMap.html]
type: testharness
[setter on DOMStringMap must enqueue an attributeChanged reaction when adding an observed data attribute]
expected: FAIL
[setter on DOMStringMap must enqueue an attributeChanged reaction when mutating the value of an observed data attribute]
expected: FAIL
[setter on DOMStringMap must enqueue an attributeChanged reaction when mutating the value of an observed data attribute to the same value]
expected: FAIL
[deleter on DOMStringMap must enqueue an attributeChanged reaction when removing an observed data attribute]
expected: FAIL

View file

@ -1,41 +1,5 @@
[DOMTokenList.html] [DOMTokenList.html]
type: testharness type: testharness
[add on DOMTokenList must enqueue an attributeChanged reaction when adding an attribute]
expected: FAIL
[add on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an existing attribute]
expected: FAIL
[add on DOMTokenList must enqueue exactly one attributeChanged reaction when adding multiple values to an attribute]
expected: FAIL
[remove on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute]
expected: FAIL
[remove on DOMTokenList must enqueue exactly one attributeChanged reaction when removing multiple values to an attribute]
expected: FAIL
[remove on DOMTokenList must enqueue an attributeChanged reaction even when removing a non-existent value from an attribute]
expected: FAIL
[toggle on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an attribute]
expected: FAIL
[toggle on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute]
expected: FAIL
[replace on DOMTokenList must enqueue an attributeChanged reaction when replacing a value in an attribute]
expected: FAIL
[replace on DOMTokenList must not enqueue an attributeChanged reaction when the token to replace does not exist in the attribute] [replace on DOMTokenList must not enqueue an attributeChanged reaction when the token to replace does not exist in the attribute]
expected: FAIL expected: FAIL
[the stringifier of DOMTokenList must enqueue an attributeChanged reaction when adding an observed attribute]
expected: FAIL
[the stringifier of DOMTokenList must enqueue an attributeChanged reaction when mutating the value of an observed attribute]
expected: FAIL
[the stringifier of DOMTokenList must enqueue an attributeChanged reaction when the setter is called with the original value of the attribute]
expected: FAIL

View file

@ -1,14 +1,14 @@
[Document.html] [Document.html]
type: testharness type: testharness
[importNode on Document must construct a new custom element when importing a custom element from a template]
expected: FAIL
[execCommand on Document must enqueue a disconnected reaction when deleting a custom element from a contenteditable element] [execCommand on Document must enqueue a disconnected reaction when deleting a custom element from a contenteditable element]
expected: FAIL expected: FAIL
[body on Document must enqueue disconnectedCallback when removing a custom element] [body on Document must enqueue disconnectedCallback when removing a custom element]
expected: FAIL expected: FAIL
[body on Document must enqueue connectedCallback when inserting a custom element]
expected: FAIL
[open on Document must enqueue disconnectedCallback when removing a custom element] [open on Document must enqueue disconnectedCallback when removing a custom element]
expected: FAIL expected: FAIL
@ -18,18 +18,3 @@
[writeln on Document must enqueue disconnectedCallback when removing a custom element] [writeln on Document must enqueue disconnectedCallback when removing a custom element]
expected: FAIL expected: FAIL
[importNode on Document must construct a new custom element when importing a custom element from a template]
expected: FAIL
[adoptNode on Document must enqueue an adopted reaction when importing a custom element]
expected: FAIL
[title on Document must enqueue disconnectedCallback when removing a custom element]
expected: FAIL
[write on Document must enqueue connectedCallback after constructing a custom element]
expected: FAIL
[writeln on Document must enqueue connectedCallback after constructing a custom element]
expected: FAIL

View file

@ -1,56 +1,17 @@
[Element.html] [Element.html]
type: testharness type: testharness
[id on Element must enqueue an attributeChanged reaction when adding id content attribute]
expected: FAIL
[id on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
expected: FAIL
[className on Element must enqueue an attributeChanged reaction when adding class content attribute]
expected: FAIL
[className on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
expected: FAIL
[slot on Element must enqueue an attributeChanged reaction when adding slot content attribute] [slot on Element must enqueue an attributeChanged reaction when adding slot content attribute]
expected: FAIL expected: FAIL
[slot on Element must enqueue an attributeChanged reaction when replacing an existing attribute] [slot on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
expected: FAIL expected: FAIL
[setAttribute on Element must enqueue an attributeChanged reaction when adding an attribute]
expected: FAIL
[setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
expected: FAIL
[setAttributeNS on Element must enqueue an attributeChanged reaction when adding an attribute]
expected: FAIL
[setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
expected: FAIL
[removeAttribute on Element must enqueue an attributeChanged reaction when removing an existing attribute]
expected: FAIL
[removeAttributeNS on Element must enqueue an attributeChanged reaction when removing an existing attribute]
expected: FAIL
[setAttributeNode on Element must enqueue an attributeChanged reaction when adding an attribute]
expected: FAIL
[setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing attribute] [setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
expected: FAIL expected: FAIL
[setAttributeNodeNS on Element must enqueue an attributeChanged reaction when adding an attribute]
expected: FAIL
[setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute] [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
expected: FAIL expected: FAIL
[removeAttributeNode on Element must enqueue an attributeChanged reaction when removing an existing attribute]
expected: FAIL
[innerHTML on Element must enqueue a connected reaction for a newly constructed custom element] [innerHTML on Element must enqueue a connected reaction for a newly constructed custom element]
expected: FAIL expected: FAIL
@ -69,15 +30,3 @@
[insertAdjacentHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element] [insertAdjacentHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element]
expected: FAIL expected: FAIL
[insertAdjacentElement on Element must enqueue a connected reaction]
expected: FAIL
[insertAdjacentElement on Element must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
expected: FAIL
[innerHTML on Element must enqueue a disconnected reaction]
expected: FAIL
[outerHTML on Element must enqueue a disconnected reaction]
expected: FAIL

Some files were not shown because too many files have changed in this diff Show more