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

View file

@ -103,6 +103,7 @@ use js::jsapi::{TrueHandleValue, Value};
use js::jsval::{JSVal, PrivateValue};
use js::rust::{define_methods, define_properties, get_object_class};
use libc;
use script_thread::ScriptThread;
use std::ptr;
/// 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.
}
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.
pub unsafe fn create_callback_interface_object(
cx: *mut JSContext,

View file

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

View file

@ -1422,13 +1422,12 @@ impl Node {
for descendant in node.traverse_preorder() {
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.
if let Some(element) = node.as_custom_element() {
ScriptThread::enqueue_callback_reaction(&*element,
ScriptThread::enqueue_callback_reaction(&*descendant,
CallbackReaction::Adopted(old_doc.clone(), Root::from_ref(document)));
}
for descendant in node.traverse_preorder() {
// Step 3.3.
vtable_for(&descendant).adopting_steps(&old_doc);
}
@ -1636,9 +1635,17 @@ impl Node {
for kid in new_nodes {
// Step 7.1.
parent.add_child(*kid, child);
// Step 7.2: insertion steps.
if let Some(element) = kid.as_custom_element() {
ScriptThread::enqueue_callback_reaction(&*element, CallbackReaction::Connected);
// Step 7.7.
for descendant in kid.traverse_preorder().filter_map(Root::downcast::<Element>) {
// 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 {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -6,9 +6,13 @@
[HTMLConstructor]
interface HTMLElement : Element {
// metadata attributes
[CEReactions]
attribute DOMString title;
[CEReactions]
attribute DOMString lang;
// [CEReactions]
// attribute boolean translate;
// [CEReactions]
// attribute DOMString dir;
readonly attribute DOMStringMap dataset;
@ -19,16 +23,21 @@ interface HTMLElement : Element {
// attribute any itemValue; // acts as DOMString on setting
// user interaction
[CEReactions]
attribute boolean hidden;
void click();
// [CEReactions]
// attribute long tabIndex;
void focus();
void blur();
// [CEReactions]
// attribute DOMString accessKey;
//readonly attribute DOMString accessKeyLabel;
// [CEReactions]
// attribute boolean draggable;
// [SameObject, PutForwards=value] readonly attribute DOMTokenList dropzone;
// attribute HTMLMenuElement? contextMenu;
// [CEReactions]
// attribute boolean spellcheck;
// void forceSpellCheck();

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -5,17 +5,28 @@
// https://html.spec.whatwg.org/multipage/#htmlhyperlinkelementutils
[NoInterfaceObject]
interface HTMLHyperlinkElementUtils {
// [CEReactions]
// stringifier attribute USVString href;
[CEReactions]
attribute USVString href;
readonly attribute USVString origin;
[CEReactions]
attribute USVString protocol;
[CEReactions]
attribute USVString username;
[CEReactions]
attribute USVString password;
[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

View file

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

View file

@ -5,13 +5,21 @@
// https://html.spec.whatwg.org/multipage/#htmlimageelement
[HTMLConstructor, NamedConstructor=Image(optional unsigned long width, optional unsigned long height)]
interface HTMLImageElement : HTMLElement {
[CEReactions]
attribute DOMString alt;
[CEReactions]
attribute DOMString src;
// [CEReactions]
// attribute DOMString srcset;
[CEReactions]
attribute DOMString? crossOrigin;
[CEReactions]
attribute DOMString useMap;
[CEReactions]
attribute boolean isMap;
[CEReactions]
attribute unsigned long width;
[CEReactions]
attribute unsigned long height;
readonly attribute unsigned long naturalWidth;
readonly attribute unsigned long naturalHeight;
@ -22,14 +30,21 @@ interface HTMLImageElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLImageElement-partial
partial interface HTMLImageElement {
[CEReactions]
attribute DOMString name;
// [CEReactions]
// attribute DOMString lowsrc;
[CEReactions]
attribute DOMString align;
[CEReactions]
attribute unsigned long hspace;
[CEReactions]
attribute unsigned long vspace;
[CEReactions]
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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -6,19 +6,21 @@
enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" };
[Abstract]
interface HTMLMediaElement : HTMLElement {
// error state
readonly attribute MediaError? error;
// network state
[CEReactions]
attribute DOMString src;
readonly attribute DOMString currentSrc;
// [CEReactions]
// attribute DOMString crossOrigin;
const unsigned short NETWORK_EMPTY = 0;
const unsigned short NETWORK_IDLE = 1;
const unsigned short NETWORK_LOADING = 2;
const unsigned short NETWORK_NO_SOURCE = 3;
readonly attribute unsigned short networkState;
[CEReactions]
attribute DOMString preload;
// readonly attribute TimeRanges buffered;
void load();
@ -44,7 +46,9 @@ interface HTMLMediaElement : HTMLElement {
// readonly attribute TimeRanges played;
// readonly attribute TimeRanges seekable;
// readonly attribute boolean ended;
[CEReactions]
attribute boolean autoplay;
// [CEReactions]
// attribute boolean loop;
void play();
void pause();
@ -54,9 +58,11 @@ interface HTMLMediaElement : HTMLElement {
// attribute MediaController? controller;
// controls
// [CEReactions]
// attribute boolean controls;
// attribute double volume;
// attribute boolean muted;
// [CEReactions]
// attribute boolean defaultMuted;
// tracks

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -7,10 +7,13 @@
interface HTMLOutputElement : HTMLElement {
// [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor;
readonly attribute HTMLFormElement? form;
// [CEReactions]
// attribute DOMString name;
// readonly attribute DOMString type;
// [CEReactions]
// attribute DOMString defaultValue;
// [CEReactions]
// attribute DOMString value;
// readonly attribute boolean willValidate;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -5,6 +5,7 @@
// https://html.spec.whatwg.org/multipage/#htmltablecolelement
[HTMLConstructor]
interface HTMLTableColElement : HTMLElement {
// [CEReactions]
// attribute unsigned long span;
// also has obsolete members
@ -12,9 +13,14 @@ interface HTMLTableColElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLTableColElement-partial
partial interface HTMLTableColElement {
// [CEReactions]
// attribute DOMString align;
// [CEReactions]
// attribute DOMString ch;
// [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
partial interface HTMLTableDataCellElement {
// [CEReactions]
// attribute DOMString abbr;
};

View file

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

View file

@ -10,7 +10,7 @@ interface HTMLTableRowElement : HTMLElement {
readonly attribute HTMLCollection cells;
[Throws]
HTMLElement insertCell(optional long index = -1);
[Throws]
[CEReactions, Throws]
void deleteCell(long index);
// also has obsolete members
@ -18,10 +18,15 @@ interface HTMLTableRowElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLTableRowElement-partial
partial interface HTMLTableRowElement {
// [CEReactions]
// attribute DOMString align;
// [CEReactions]
// 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;
[Throws]
HTMLElement insertRow(optional long index = -1);
[Throws]
[CEReactions, Throws]
void deleteRow(long index);
// also has obsolete members
@ -16,8 +16,12 @@ interface HTMLTableSectionElement : HTMLElement {
// https://html.spec.whatwg.org/multipage/#HTMLTableSectionElement-partial
partial interface HTMLTableSectionElement {
// [CEReactions]
// attribute DOMString align;
// [CEReactions]
// attribute DOMString ch;
// [CEReactions]
// attribute DOMString chOff;
// [CEReactions]
// attribute DOMString vAlign;
};

View file

@ -5,27 +5,40 @@
// https://html.spec.whatwg.org/multipage/#htmltextareaelement
[HTMLConstructor]
interface HTMLTextAreaElement : HTMLElement {
// [CEReactions]
// attribute DOMString autocomplete;
// [CEReactions]
// attribute boolean autofocus;
[SetterThrows]
[CEReactions, SetterThrows]
attribute unsigned long cols;
// [CEReactions]
// attribute DOMString dirName;
[CEReactions]
attribute boolean disabled;
readonly attribute HTMLFormElement? form;
// [CEReactions]
// attribute DOMString inputMode;
// [CEReactions]
// attribute long maxLength;
// [CEReactions]
// attribute long minLength;
attribute DOMString name;
[CEReactions]
attribute DOMString placeholder;
[CEReactions]
attribute boolean readOnly;
[CEReactions]
attribute boolean required;
[SetterThrows]
[CEReactions, SetterThrows]
attribute unsigned long rows;
[CEReactions]
attribute DOMString wrap;
readonly attribute DOMString type;
[CEReactions]
attribute DOMString defaultValue;
[TreatNullAs=EmptyString] attribute DOMString value;
[CEReactions,TreatNullAs=EmptyString]
attribute DOMString value;
// readonly attribute unsigned long textLength;
// readonly attribute boolean willValidate;

View file

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

View file

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

View file

@ -5,10 +5,15 @@
// https://html.spec.whatwg.org/multipage/#htmltrackelement
[HTMLConstructor]
interface HTMLTrackElement : HTMLElement {
// [CEReactions]
// attribute DOMString kind;
// [CEReactions]
// attribute DOMString src;
// [CEReactions]
// attribute DOMString srclang;
// [CEReactions]
// attribute DOMString label;
// [CEReactions]
// attribute boolean default;
// const unsigned short NONE = 0;

View file

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

View file

@ -5,9 +5,12 @@
// https://html.spec.whatwg.org/multipage/#htmlvideoelement
[HTMLConstructor]
interface HTMLVideoElement : HTMLMediaElement {
// [CEReactions]
// attribute unsigned long width;
// [CEReactions]
// attribute unsigned long height;
// 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);
[Pure]
Attr? getNamedItemNS(DOMString? namespace, DOMString localName);
[Throws]
[CEReactions, Throws]
Attr? setNamedItem(Attr attr);
[Throws]
[CEReactions, Throws]
Attr? setNamedItemNS(Attr attr);
[Throws]
[CEReactions, Throws]
Attr removeNamedItem(DOMString qualifiedName);
[Throws]
[CEReactions, Throws]
Attr removeNamedItemNS(DOMString? namespace, DOMString localName);
};

View file

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

View file

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

View file

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

View file

@ -753,6 +753,24 @@ impl ScriptThread {
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) {
SCRIPT_THREAD_ROOT.with(|root| {
if let Some(script_thread) = root.get() {

View file

@ -1,11 +1,5 @@
[adopted-callback.html]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
expected: FAIL

View file

@ -1,8 +1,5 @@
[connected-callbacks.html]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
expected: FAIL
[HTML parser must use the registry of window.document in a document created by document.implementation.createHTMLDocument()]
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]
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]
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]
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]
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]
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]
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]
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]
expected: FAIL
[body on Document must enqueue disconnectedCallback when removing a custom element]
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]
expected: FAIL
@ -18,18 +18,3 @@
[writeln on Document must enqueue disconnectedCallback when removing a custom element]
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]
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]
expected: FAIL
[slot on Element must enqueue an attributeChanged reaction when replacing an existing attribute]
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]
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]
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]
expected: FAIL
@ -69,15 +30,3 @@
[insertAdjacentHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element]
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