From 27aa7bc4fa6f168654a8c858f0773e611f679b39 Mon Sep 17 00:00:00 2001
From: Domenic Denicola When adding new reflecting IDL attributes corresponding to
content attributes of the form "x-vendor-feature
",
the IDL attribute should be named "vendorFeature
"
- (i.e. the "x
" is dropped from the IDL attribute's name).x
" is dropped from the IDL attribute's name). Such IDL
+ attributes must have the [CEReactions]
extended attribute
+ specified, if they are not readonly.
interface HTMLOptionsCollection : HTMLCollection { // inherits item(), namedItem() attribute unsigned long length; // shadows inherited length - setter void (unsigned long index, HTMLOptionElement? option); - void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); - void remove(long index); + [CEReactions] setter void (unsigned long index, HTMLOptionElement? option); + [CEReactions] void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); + [CEReactions] void remove(long index); attribute long selectedIndex; };@@ -7795,8 +7797,8 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E..
[OverrideBuiltins] interface DOMStringMap { getter DOMString (DOMString name); - setter void (DOMString name, DOMString value); - deleter void (DOMString name); + [CEReactions] setter void (DOMString name, DOMString value); + [CEReactions] deleter void (DOMString name); };
The supported property names on a DOMStringMap
object at any instant
@@ -8527,9 +8529,9 @@ partial /*sealed*/ interface Document {
// DOM tree accessors
getter object (DOMString name);
- attribute DOMString title;
- attribute DOMString dir;
- attribute HTMLElement? body;
+ [CEReactions] attribute DOMString title;
+ [CEReactions] attribute DOMString dir;
+ [CEReactions] attribute HTMLElement? body;
readonly attribute HTMLHeadElement? head;
[SameObject] readonly attribute HTMLCollection images;
[SameObject] readonly attribute HTMLCollection embeds;
@@ -8541,18 +8543,18 @@ partial /*sealed*/ interface Document {
readonly attribute HTMLOrSVGScriptElement? currentScript; // classic scripts in a document only
// dynamic markup insertion
- Document open(optional DOMString type = "text/html", optional DOMString replace = "");
+ [CEReactions] Document open(optional DOMString type = "text/html", optional DOMString replace = "");
WindowProxy open(DOMString url, DOMString name, DOMString features, optional boolean replace = false);
- void close();
- void write(DOMString... text);
- void writeln(DOMString... text);
+ [CEReactions] void close();
+ [CEReactions] void write(DOMString... text);
+ [CEReactions] void writeln(DOMString... text);
// user interaction
readonly attribute WindowProxy? defaultView;
readonly attribute Element? activeElement;
boolean hasFocus();
- attribute DOMString designMode;
- boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
+ [CEReactions] attribute DOMString designMode;
+ [CEReactions] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
boolean queryCommandEnabled(DOMString commandId);
boolean queryCommandIndeterm(DOMString commandId);
boolean queryCommandState(DOMString commandId);
@@ -9218,7 +9220,7 @@ partial /*sealed*/ interface Document {
partial interface XMLDocument { - boolean load(DOMString url); + [CEReactions] boolean load(DOMString url); };@@ -9498,24 +9500,24 @@ partial /*sealed*/ interface Document {
[Constructor] interface HTMLElement : Element { // metadata attributes - attribute DOMString title; - attribute DOMString lang; - attribute boolean translate; - attribute DOMString dir; + [CEReactions] attribute DOMString title; + [CEReactions] attribute DOMString lang; + [CEReactions] attribute boolean translate; + [CEReactions] attribute DOMString dir; [SameObject] readonly attribute DOMStringMap dataset; // user interaction - attribute boolean hidden; + [CEReactions] attribute boolean hidden; void click(); - attribute long tabIndex; + [CEReactions] attribute long tabIndex; void focus(); void blur(); - attribute DOMString accessKey; + [CEReactions] attribute DOMString accessKey; readonly attribute DOMString accessKeyLabel; - attribute boolean draggable; - [SameObject, PutForwards=value] readonly attribute DOMTokenList dropzone; - attribute HTMLMenuElement? contextMenu; - attribute boolean spellcheck; + [CEReactions] attribute boolean draggable; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList dropzone; + [CEReactions] attribute HTMLMenuElement? contextMenu; + [CEReactions] attribute boolean spellcheck; void forceSpellCheck(); }; HTMLElement implements GlobalEventHandlers; @@ -11955,7 +11957,7 @@ gave me some of the songs they wrote. I love sharing my music.</p>
interface HTMLTitleElement : HTMLElement { - attribute DOMString text; + [CEReactions] attribute DOMString text; };
interface HTMLBaseElement : HTMLElement { - attribute DOMString href; - attribute DOMString target; + [CEReactions] attribute DOMString href; + [CEReactions] attribute DOMString target; };
interface HTMLLinkElement : HTMLElement { - attribute DOMString href; - attribute DOMString? crossOrigin; - attribute DOMString rel; - [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; - attribute DOMString media; - attribute DOMString hreflang; - attribute DOMString type; - [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes; + [CEReactions] attribute DOMString href; + [CEReactions] attribute DOMString? crossOrigin; + [CEReactions] attribute DOMString rel; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList relList; + [CEReactions] attribute DOMString media; + [CEReactions] attribute DOMString hreflang; + [CEReactions] attribute DOMString type; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList sizes; }; HTMLLinkElement implements LinkStyle;
interface HTMLMetaElement : HTMLElement { - attribute DOMString name; - attribute DOMString httpEquiv; - attribute DOMString content; + [CEReactions] attribute DOMString name; + [CEReactions] attribute DOMString httpEquiv; + [CEReactions] attribute DOMString content; };
interface HTMLStyleElement : HTMLElement { - attribute DOMString media; - attribute DOMString nonce; - attribute DOMString type; - attribute boolean scoped; + [CEReactions] attribute DOMString media; + [CEReactions] attribute DOMString nonce; + [CEReactions] attribute DOMString type; + [CEReactions] attribute boolean scoped; }; HTMLStyleElement implements LinkStyle;
interface HTMLQuoteElement : HTMLElement { - attribute DOMString cite; + [CEReactions] attribute DOMString cite; };
The HTMLQuoteElement
interface is
also used by the q
element.
interface HTMLOListElement : HTMLElement { - attribute boolean reversed; - attribute long start; - attribute DOMString type; + [CEReactions] attribute boolean reversed; + [CEReactions] attribute long start; + [CEReactions] attribute DOMString type; };
interface HTMLLIElement : HTMLElement { - attribute long value; + [CEReactions] attribute long value; };
interface HTMLAnchorElement : HTMLElement { - attribute DOMString target; - attribute DOMString download; - [SameObject, PutForwards=value] readonly attribute DOMTokenList ping; - attribute DOMString rel; - [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; - attribute DOMString hreflang; - attribute DOMString type; - - attribute DOMString text; + [CEReactions] attribute DOMString target; + [CEReactions] attribute DOMString download; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList ping; + [CEReactions] attribute DOMString rel; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList relList; + [CEReactions] attribute DOMString hreflang; + [CEReactions] attribute DOMString type; + + [CEReactions] attribute DOMString text; }; HTMLAnchorElement implements HTMLHyperlinkElementUtils;
interface HTMLDataElement : HTMLElement { - attribute DOMString value; + [CEReactions] attribute DOMString value; };
interface HTMLTimeElement : HTMLElement { - attribute DOMString dateTime; + [CEReactions] attribute DOMString dateTime; };
[NoInterfaceObject] interface HTMLHyperlinkElementUtils { - stringifier attribute USVString href; + [CEReactions] stringifier attribute USVString href; readonly attribute USVString origin; - attribute USVString protocol; - attribute USVString username; - attribute USVString password; - attribute USVString host; - attribute USVString hostname; - attribute USVString port; - attribute USVString pathname; - attribute USVString search; - attribute USVString hash; + [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; };
HTMLModElement
interface:
interface HTMLModElement : HTMLElement { - attribute DOMString cite; - attribute DOMString dateTime; + [CEReactions] attribute DOMString cite; + [CEReactions] attribute DOMString dateTime; };
partial interface HTMLSourceElement { - attribute DOMString srcset; - attribute DOMString sizes; - attribute DOMString media; + [CEReactions] attribute DOMString srcset; + [CEReactions] attribute DOMString sizes; + [CEReactions] attribute DOMString media; };
[NamedConstructor=Image(optional unsigned long width, optional unsigned long height)] interface HTMLImageElement : HTMLElement { - attribute DOMString alt; - attribute DOMString src; - attribute DOMString srcset; - attribute DOMString sizes; - attribute DOMString? crossOrigin; - attribute DOMString useMap; - attribute boolean isMap; - attribute unsigned long width; - attribute unsigned long height; + [CEReactions] attribute DOMString alt; + [CEReactions] attribute DOMString src; + [CEReactions] attribute DOMString srcset; + [CEReactions] attribute DOMString sizes; + [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; readonly attribute boolean complete; @@ -27140,13 +27142,13 @@ href="?audio">audio</a> test instead.)</p>
interface HTMLIFrameElement : HTMLElement { - attribute DOMString src; - attribute DOMString srcdoc; - attribute DOMString name; - [SameObject, PutForwards=value] readonly attribute DOMTokenList sandbox; - attribute boolean allowFullscreen; - attribute DOMString width; - attribute DOMString height; + [CEReactions] attribute DOMString src; + [CEReactions] attribute DOMString srcdoc; + [CEReactions] attribute DOMString name; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList sandbox; + [CEReactions] attribute boolean allowFullscreen; + [CEReactions] attribute DOMString width; + [CEReactions] attribute DOMString height; readonly attribute Document? contentDocument; readonly attribute WindowProxy? contentWindow; Document? getSVGDocument(); @@ -27752,10 +27754,10 @@ href="?audio">audio</a> test instead.)</p>
interface HTMLEmbedElement : HTMLElement { - attribute DOMString src; - attribute DOMString type; - attribute DOMString width; - attribute DOMString height; + [CEReactions] attribute DOMString src; + [CEReactions] attribute DOMString type; + [CEReactions] attribute DOMString width; + [CEReactions] attribute DOMString height; Document? getSVGDocument(); legacycaller any (any... arguments); };@@ -28139,14 +28141,14 @@ attribute, set the browsing context name of the element's nes
interface HTMLObjectElement : HTMLElement { - attribute DOMString data; - attribute DOMString type; - attribute boolean typeMustMatch; - attribute DOMString name; - attribute DOMString useMap; + [CEReactions] attribute DOMString data; + [CEReactions] attribute DOMString type; + [CEReactions] attribute boolean typeMustMatch; + [CEReactions] attribute DOMString name; + [CEReactions] attribute DOMString useMap; readonly attribute HTMLFormElement? form; - attribute DOMString width; - attribute DOMString height; + [CEReactions] attribute DOMString width; + [CEReactions] attribute DOMString height; readonly attribute Document? contentDocument; readonly attribute WindowProxy? contentWindow; Document? getSVGDocument(); @@ -28929,8 +28931,8 @@ attribute, set the browsing context name of the element's nes- DOM interface:
- @@ -29032,11 +29034,11 @@ attribute, set the browsing context name of the element's nes
interface HTMLParamElement : HTMLElement { - attribute DOMString name; - attribute DOMString value; + [CEReactions] attribute DOMString name; + [CEReactions] attribute DOMString value; };- DOM interface:
- @@ -29541,8 +29543,8 @@ interface HTMLAudioElement : HTMLMediaElement {};
interface HTMLVideoElement : HTMLMediaElement { - attribute unsigned long width; - attribute unsigned long height; + [CEReactions] attribute unsigned long width; + [CEReactions] attribute unsigned long height; readonly attribute unsigned long videoWidth; readonly attribute unsigned long videoHeight; - attribute DOMString poster; + [CEReactions] attribute DOMString poster; };
interface HTMLSourceElement : HTMLElement { - attribute DOMString src; - attribute DOMString type; + [CEReactions] attribute DOMString src; + [CEReactions] attribute DOMString type; };
interface HTMLTrackElement : HTMLElement { - attribute DOMString kind; - attribute DOMString src; - attribute DOMString srclang; - attribute DOMString label; - attribute boolean default; + [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; const unsigned short LOADING = 1; @@ -29969,16 +29971,16 @@ interface HTMLMediaElement : HTMLElement { readonly attribute MediaError? error; // network state - attribute DOMString src; + [CEReactions] attribute DOMString src; attribute MediaProvider? srcObject; readonly attribute DOMString currentSrc; - attribute DOMString? crossOrigin; + [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; - attribute DOMString preload; + [CEReactions] attribute DOMString preload; readonly attribute TimeRanges buffered; @@ -30005,20 +30007,20 @@ interface HTMLMediaElement : HTMLElement { readonly attribute TimeRanges played; readonly attribute TimeRanges seekable; readonly attribute boolean ended; - attribute boolean autoplay; - attribute boolean loop; + [CEReactions] attribute boolean autoplay; + [CEReactions] attribute boolean loop; Promise<void> play(); void pause(); // media controller - attribute DOMString mediaGroup; - attribute MediaController? controller; + [CEReactions] attribute DOMString mediaGroup; + [CEReactions] attribute MediaController? controller; // controls - attribute boolean controls; + [CEReactions] attribute boolean controls; attribute double volume; attribute boolean muted; - attribute boolean defaultMuted; + [CEReactions] attribute boolean defaultMuted; // tracks [SameObject] readonly attribute AudioTrackList audioTracks; @@ -37406,7 +37408,7 @@ dictionary TrackEventInit : EventInit {
interface HTMLMapElement : HTMLElement { - attribute DOMString name; + [CEReactions] attribute DOMString name; [SameObject] readonly attribute HTMLCollection areas; };
interface HTMLAreaElement : HTMLElement { - attribute DOMString alt; - attribute DOMString coords; - attribute DOMString shape; - attribute DOMString target; - attribute DOMString download; - [SameObject, PutForwards=value] readonly attribute DOMTokenList ping; - attribute DOMString rel; - [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; + [CEReactions] attribute DOMString alt; + [CEReactions] attribute DOMString coords; + [CEReactions] attribute DOMString shape; + [CEReactions] attribute DOMString target; + [CEReactions] attribute DOMString download; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList ping; + [CEReactions] attribute DOMString rel; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList relList; }; HTMLAreaElement implements HTMLHyperlinkElementUtils;
interface HTMLTableElement : HTMLElement { - attribute HTMLTableCaptionElement? caption; - HTMLTableCaptionElement createCaption(); - void deleteCaption(); - attribute HTMLTableSectionElement? tHead; - HTMLTableSectionElement createTHead(); - void deleteTHead(); - attribute HTMLTableSectionElement? tFoot; - HTMLTableSectionElement createTFoot(); - void deleteTFoot(); + [CEReactions] attribute HTMLTableCaptionElement? caption; + [CEReactions] HTMLTableCaptionElement createCaption(); + [CEReactions] void deleteCaption(); + + [CEReactions] attribute HTMLTableSectionElement? tHead; + [CEReactions] HTMLTableSectionElement createTHead(); + [CEReactions] void deleteTHead(); + + [CEReactions] attribute HTMLTableSectionElement? tFoot; + [CEReactions] HTMLTableSectionElement createTFoot(); + [CEReactions] void deleteTFoot(); + [SameObject] readonly attribute HTMLCollection tBodies; - HTMLTableSectionElement createTBody(); + [CEReactions] HTMLTableSectionElement createTBody(); + [SameObject] readonly attribute HTMLCollection rows; - HTMLTableRowElement insertRow(optional long index = -1); - void deleteRow(long index); + [CEReactions] HTMLTableRowElement insertRow(optional long index = -1); + [CEReactions] void deleteRow(long index); };
interface HTMLTableColElement : HTMLElement { - attribute unsigned long span; + [CEReactions] attribute unsigned long span; };
interface HTMLTableSectionElement : HTMLElement { [SameObject] readonly attribute HTMLCollection rows; - HTMLElement insertRow(optional long index = -1); - void deleteRow(long index); + [CEReactions] HTMLElement insertRow(optional long index = -1); + [CEReactions] void deleteRow(long index); };
The HTMLTableSectionElement
interface is also
used for thead
and tfoot
elements.
interface HTMLTableHeaderCellElement : HTMLTableCellElement { - attribute DOMString scope; - attribute DOMString abbr; + [CEReactions] attribute DOMString scope; + [CEReactions] attribute DOMString abbr; };
HTMLTableCellElement
interface:
interface HTMLTableCellElement : HTMLElement { - attribute unsigned long colSpan; - attribute unsigned long rowSpan; - [SameObject, PutForwards=value] readonly attribute DOMTokenList headers; + [CEReactions] attribute unsigned long colSpan; + [CEReactions] attribute unsigned long rowSpan; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList headers; readonly attribute long cellIndex; };@@ -41697,15 +41703,15 @@ the cell that corresponds to the values of the two dice.
[OverrideBuiltins, LegacyUnenumerableNamedProperties] interface HTMLFormElement : HTMLElement { - attribute DOMString acceptCharset; - attribute DOMString action; - attribute DOMString autocomplete; - attribute DOMString enctype; - attribute DOMString encoding; - attribute DOMString method; - attribute DOMString name; - attribute boolean noValidate; - attribute DOMString target; + [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; readonly attribute unsigned long length; @@ -41713,7 +41719,7 @@ interface HTMLFormElement : HTMLElement { getter (RadioNodeList or Element) (DOMString name); void submit(); - void reset(); + [CEReactions] void reset(); boolean checkValidity(); boolean reportValidity(); @@ -42124,7 +42130,7 @@ interface HTMLFormElement : HTMLElement {
interface HTMLLabelElement : HTMLElement { readonly attribute HTMLFormElement? form; - attribute DOMString htmlFor; + [CEReactions] attribute DOMString htmlFor; readonly attribute HTMLElement? control; };
interface HTMLInputElement : HTMLElement { - attribute DOMString accept; - attribute DOMString alt; - attribute DOMString autocomplete; - attribute boolean autofocus; - attribute boolean defaultChecked; + [CEReactions] attribute DOMString accept; + [CEReactions] attribute DOMString alt; + [CEReactions] attribute DOMString autocomplete; + [CEReactions] attribute boolean autofocus; + [CEReactions] attribute boolean defaultChecked; attribute boolean checked; - attribute DOMString dirName; - attribute boolean disabled; + [CEReactions] attribute DOMString dirName; + [CEReactions] attribute boolean disabled; readonly attribute HTMLFormElement? form; readonly attribute FileList? files; - attribute DOMString formAction; - attribute DOMString formEnctype; - attribute DOMString formMethod; - attribute boolean formNoValidate; - attribute DOMString formTarget; - attribute unsigned long height; + [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; - attribute DOMString inputMode; + [CEReactions] attribute DOMString inputMode; readonly attribute HTMLElement? list; - attribute DOMString max; - attribute long maxLength; - attribute DOMString min; - attribute long minLength; - attribute boolean multiple; - attribute DOMString name; - attribute DOMString pattern; - attribute DOMString placeholder; - attribute boolean readOnly; - attribute boolean required; - attribute unsigned long size; - attribute DOMString src; - attribute DOMString step; - attribute DOMString type; - attribute DOMString defaultValue; - [TreatNullAs=EmptyString] attribute DOMString value; + [CEReactions] attribute DOMString max; + [CEReactions] attribute long maxLength; + [CEReactions] attribute DOMString min; + [CEReactions] 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; + [CEReactions] attribute unsigned long size; + [CEReactions] attribute DOMString src; + [CEReactions] attribute DOMString step; + [CEReactions] attribute DOMString type; + [CEReactions] attribute DOMString defaultValue; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString value; attribute object? valueAsDate; attribute unrestricted double valueAsNumber; attribute double valueLow; attribute double valueHigh; - attribute unsigned long width; + [CEReactions] attribute unsigned long width; void stepUp(optional long n = 1); void stepDown(optional long n = 1); @@ -48842,18 +48848,18 @@ You cannot submit this form when the field is incorrect.
interface HTMLButtonElement : HTMLElement { - attribute boolean autofocus; - attribute boolean disabled; + [CEReactions] attribute boolean autofocus; + [CEReactions] attribute boolean disabled; readonly attribute HTMLFormElement? form; - attribute DOMString formAction; - attribute DOMString formEnctype; - attribute DOMString formMethod; - attribute boolean formNoValidate; - attribute DOMString formTarget; - attribute DOMString name; - attribute DOMString type; - attribute DOMString value; - attribute HTMLMenuElement? menu; + [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; + [CEReactions] attribute HTMLMenuElement? menu; readonly attribute boolean willValidate; readonly attribute ValidityState validity; @@ -49087,25 +49093,25 @@ You cannot submit this form when the field is incorrect.
interface HTMLSelectElement : HTMLElement { - attribute DOMString autocomplete; - attribute boolean autofocus; - attribute boolean disabled; + [CEReactions] attribute DOMString autocomplete; + [CEReactions] attribute boolean autofocus; + [CEReactions] attribute boolean disabled; readonly attribute HTMLFormElement? form; - attribute boolean multiple; - attribute DOMString name; - attribute boolean required; - attribute unsigned long size; + [CEReactions] attribute boolean multiple; + [CEReactions] attribute DOMString name; + [CEReactions] attribute boolean required; + [CEReactions] attribute unsigned long size; readonly attribute DOMString type; [SameObject] readonly attribute HTMLOptionsCollection options; - attribute unsigned long length; + [CEReactions] attribute unsigned long length; getter Element? item(unsigned long index); HTMLOptionElement? namedItem(DOMString name); - void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); - void remove(); // ChildNode overload - void remove(long index); - setter void (unsigned long index, HTMLOptionElement? option); + [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); [SameObject] readonly attribute HTMLCollection selectedOptions; attribute long selectedIndex; @@ -49723,8 +49729,8 @@ You cannot submit this form when the field is incorrect.
interface HTMLOptGroupElement : HTMLElement { - attribute boolean disabled; - attribute DOMString label; + [CEReactions] attribute boolean disabled; + [CEReactions] attribute DOMString label; };
[NamedConstructor=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)] interface HTMLOptionElement : HTMLElement { - attribute boolean disabled; + [CEReactions] attribute boolean disabled; readonly attribute HTMLFormElement? form; - attribute DOMString label; - attribute boolean defaultSelected; + [CEReactions] attribute DOMString label; + [CEReactions] attribute boolean defaultSelected; attribute boolean selected; - attribute DOMString value; + [CEReactions] attribute DOMString value; - attribute DOMString text; + [CEReactions] attribute DOMString text; readonly attribute long index; };
interface HTMLTextAreaElement : HTMLElement { - attribute DOMString autocomplete; - attribute boolean autofocus; - attribute unsigned long cols; - attribute DOMString dirName; - attribute boolean disabled; + [CEReactions] attribute DOMString autocomplete; + [CEReactions] attribute boolean autofocus; + [CEReactions] attribute unsigned long cols; + [CEReactions] attribute DOMString dirName; + [CEReactions] attribute boolean disabled; readonly attribute HTMLFormElement? form; - attribute DOMString inputMode; - attribute long maxLength; - attribute long minLength; - attribute DOMString name; - attribute DOMString placeholder; - attribute boolean readOnly; - attribute boolean required; - attribute unsigned long rows; - attribute DOMString wrap; + [CEReactions] attribute DOMString inputMode; + [CEReactions] attribute long maxLength; + [CEReactions] attribute long minLength; + [CEReactions] attribute DOMString name; + [CEReactions] attribute DOMString placeholder; + [CEReactions] attribute boolean readOnly; + [CEReactions] attribute boolean required; + [CEReactions] attribute unsigned long rows; + [CEReactions] attribute DOMString wrap; readonly attribute DOMString type; - attribute DOMString defaultValue; - [TreatNullAs=EmptyString] attribute DOMString value; + [CEReactions] attribute DOMString defaultValue; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString value; readonly attribute unsigned long textLength; readonly attribute boolean willValidate; @@ -50553,12 +50559,12 @@ Daddy"></textarea>
interface HTMLKeygenElement : HTMLElement { - attribute boolean autofocus; - attribute DOMString challenge; - attribute boolean disabled; + [CEReactions] attribute boolean autofocus; + [CEReactions] attribute DOMString challenge; + [CEReactions] attribute boolean disabled; readonly attribute HTMLFormElement? form; - attribute DOMString keytype; - attribute DOMString name; + [CEReactions] attribute DOMString keytype; + [CEReactions] attribute DOMString name; readonly attribute DOMString type; @@ -50850,13 +50856,13 @@ Daddy"></textarea>
interface HTMLOutputElement : HTMLElement { - [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor; readonly attribute HTMLFormElement? form; - attribute DOMString name; + [CEReactions] attribute DOMString name; readonly attribute DOMString type; - attribute DOMString defaultValue; - attribute DOMString value; + [CEReactions] attribute DOMString defaultValue; + [CEReactions] attribute DOMString value; readonly attribute boolean willValidate; readonly attribute ValidityState validity; @@ -51041,8 +51047,8 @@ Daddy"></textarea>
interface HTMLProgressElement : HTMLElement { - attribute double value; - attribute double max; + [CEReactions] attribute double value; + [CEReactions] attribute double max; readonly attribute double position; [SameObject] readonly attribute NodeList labels; };@@ -51210,12 +51216,12 @@ Daddy"></textarea>
interface HTMLMeterElement : HTMLElement { - attribute double value; - attribute double min; - attribute double max; - attribute double low; - attribute double high; - attribute double optimum; + [CEReactions] attribute double value; + [CEReactions] attribute double min; + [CEReactions] attribute double max; + [CEReactions] attribute double low; + [CEReactions] attribute double high; + [CEReactions] attribute double optimum; [SameObject] readonly attribute NodeList labels; };
interface HTMLFieldSetElement : HTMLElement { - attribute boolean disabled; + [CEReactions] attribute boolean disabled; readonly attribute HTMLFormElement? form; - attribute DOMString name; + [CEReactions] attribute DOMString name; readonly attribute DOMString type; @@ -56392,7 +56398,7 @@ fur
interface HTMLDetailsElement : HTMLElement { - attribute boolean open; + [CEReactions] attribute boolean open; };
interface HTMLMenuElement : HTMLElement { - attribute DOMString type; - attribute DOMString label; + [CEReactions] attribute DOMString type; + [CEReactions] attribute DOMString label; };@@ -56811,13 +56817,13 @@ fur
interface HTMLMenuItemElement : HTMLElement { - attribute DOMString type; - attribute DOMString label; - attribute DOMString icon; - attribute boolean disabled; - attribute boolean checked; - attribute DOMString radiogroup; - attribute boolean default; + [CEReactions] attribute DOMString type; + [CEReactions] attribute DOMString label; + [CEReactions] attribute DOMString icon; + [CEReactions] attribute boolean disabled; + [CEReactions] attribute boolean checked; + [CEReactions] attribute DOMString radiogroup; + [CEReactions] attribute boolean default; };
interface HTMLDialogElement : HTMLElement { - attribute boolean open; + [CEReactions] attribute boolean open; attribute DOMString returnValue; - void show(optional (MouseEvent or Element) anchor); - void showModal(optional (MouseEvent or Element) anchor); - void close(optional DOMString returnValue); + [CEReactions] void show(optional (MouseEvent or Element) anchor); + [CEReactions] void showModal(optional (MouseEvent or Element) anchor); + [CEReactions] void close(optional DOMString returnValue); };
interface HTMLScriptElement : HTMLElement { - attribute DOMString src; - attribute DOMString type; - attribute DOMString charset; - attribute boolean async; - attribute boolean defer; - attribute DOMString? crossOrigin; - attribute DOMString text; - attribute DOMString nonce; + [CEReactions] attribute DOMString src; + [CEReactions] attribute DOMString type; + [CEReactions] attribute DOMString charset; + [CEReactions] attribute boolean async; + [CEReactions] attribute boolean defer; + [CEReactions] attribute DOMString? crossOrigin; + [CEReactions] attribute DOMString text; + [CEReactions] attribute DOMString nonce; };
typedef (CanvasRenderingContext2D or WebGLRenderingContext) RenderingContext; interface HTMLCanvasElement : HTMLElement { - attribute unsigned long width; - attribute unsigned long height; + [CEReactions] attribute unsigned long width; + [CEReactions] attribute unsigned long height; RenderingContext? getContext(DOMString contextId, any... arguments); boolean probablySupportsContext(DOMString contextId, any... arguments); @@ -67724,28 +67730,46 @@ fetch(articleURL)
-The following will be formalised more and better integrated with Web IDL; see - w3c/webcomponents#186 for more - information on the plan here.
+To ensure custom element reactions are + triggered appropriately, we introduce the
-[CEReactions]
IDL extended attribute. It + indicates that the relevant algorithm is to be supplemented with additional steps in order to + appropriately track and invoke custom element + reactions.Any time a Web IDL operation is invoked, or a setter generated by a Web IDL attribute is - invoked, the following steps must be additionally run:
+The
-[CEReactions]
extended attribute must take no + arguments, and must not appear on anything other than an operation, attribute, setter, or deleter. + Additionally, it must not appear on readonly attributes, unless the readonly attribute is also + annotated with[PutForwards]
.
Before executing the algorithm's steps: push a new element - queue onto the custom element reactions stack.
Operations, attributes, setters, or deleters annotated with the [CEReactions]
extended attribute must run the following steps
+ surrounding the main algorithm specified for the operation, setter, deleter, or for the
+ attribute's setter:
After executing the algorithm's steps: pop the element queue - from the custom element reactions stack and invoke custom element - reactions in that queue.
As described, these actions wrap every user agent-implemented method or property - setter. The intended effect is that any custom - element reactions enqueued as a result of running these methods or setters are invoked - prior to returning control back to script. If a method or setter is known to never modify the DOM - in such a way as to cause custom element - reactions, the user agent could choose not to wrap it as a performance optimization.
+The intent behind this extended attribute is somewhat subtle. One way of accomplishing its + goals would be to say that every operation, attribute, setter, and deleter on the platform should + have these steps inserted, and to allow implementers to optimize away unnecessary cases (where no + DOM mutation is possible that could cause custom + element reactions to occur).
+ +However, in practice this imprecision could lead to non-interoperable implementations of custom element reactions, as some implementations + might forget to invoke these steps in some cases. Instead, we settled on the approach of + explicitly annotating all relevant IDL constructs, as a way of ensuring interoperable behavior + and helping implementations easily pinpoint all cases where these steps are necessary.
+[NoInterfaceObject] interface ElementContentEditable { - attribute DOMString contentEditable; + [CEReactions] attribute DOMString contentEditable; readonly attribute boolean isContentEditable; };@@ -112275,17 +112299,17 @@ if (s = prompt('What is your name?')) { interface.
interface HTMLAppletElement : HTMLElement { - attribute DOMString align; - attribute DOMString alt; - attribute DOMString archive; - attribute DOMString code; - attribute DOMString codeBase; - attribute DOMString height; - attribute unsigned long hspace; - attribute DOMString name; - attribute DOMString _object; // the underscore is not part of the identifier - attribute unsigned long vspace; - attribute DOMString width; + [CEReactions] attribute DOMString align; + [CEReactions] attribute DOMString alt; + [CEReactions] attribute DOMString archive; + [CEReactions] attribute DOMString code; + [CEReactions] attribute DOMString codeBase; + [CEReactions] attribute DOMString height; + [CEReactions] attribute unsigned long hspace; + [CEReactions] attribute DOMString name; + [CEReactions] attribute DOMString _object; // the underscore is not part of the identifier + [CEReactions] attribute unsigned long vspace; + [CEReactions] attribute DOMString width; };
The align
,
interface HTMLMarqueeElement : HTMLElement {
- attribute DOMString behavior;
- attribute DOMString bgColor;
- attribute DOMString direction;
- attribute DOMString height;
- attribute unsigned long hspace;
- attribute long loop;
- attribute unsigned long scrollAmount;
- attribute unsigned long scrollDelay;
- attribute boolean trueSpeed;
- attribute unsigned long vspace;
- attribute DOMString width;
+ [CEReactions] attribute DOMString behavior;
+ [CEReactions] attribute DOMString bgColor;
+ [CEReactions] attribute DOMString direction;
+ [CEReactions] attribute DOMString height;
+ [CEReactions] attribute unsigned long hspace;
+ [CEReactions] attribute long loop;
+ [CEReactions] attribute unsigned long scrollAmount;
+ [CEReactions] attribute unsigned long scrollDelay;
+ [CEReactions] attribute boolean trueSpeed;
+ [CEReactions] attribute unsigned long vspace;
+ [CEReactions] attribute DOMString width;
attribute EventHandler onbounce;
attribute EventHandler onfinish;
@@ -112532,8 +112556,8 @@ if (s = prompt('What is your name?')) {
interface.
interface HTMLFrameSetElement : HTMLElement { - attribute DOMString cols; - attribute DOMString rows; + [CEReactions] attribute DOMString cols; + [CEReactions] attribute DOMString rows; }; HTMLFrameSetElement implements WindowEventHandlers;@@ -112643,17 +112667,17 @@ if (s = prompt('What is your name?')) {
The frame
element must implement the HTMLFrameElement
interface.
interface HTMLFrameElement : HTMLElement { - attribute DOMString name; - attribute DOMString scrolling; - attribute DOMString src; - attribute DOMString frameBorder; - attribute DOMString longDesc; - attribute boolean noResize; + [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; };
The name
, scrolling
, and src
IDL attributes of the frame
element must
@@ -112703,11 +112727,11 @@ if (s = prompt('What is your name?')) {
partial interface HTMLAnchorElement { - attribute DOMString coords; - attribute DOMString charset; - attribute DOMString name; - attribute DOMString rev; - attribute DOMString shape; + [CEReactions] attribute DOMString coords; + [CEReactions] attribute DOMString charset; + [CEReactions] attribute DOMString name; + [CEReactions] attribute DOMString rev; + [CEReactions] attribute DOMString shape; };
The coords
, charset
, name
, rev
, and shape
IDL attributes of the
@@ -112717,7 +112741,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLAreaElement { - attribute boolean noHref; + [CEReactions] attribute boolean noHref; };
The noHref
IDL attribute of the
@@ -112743,12 +112767,12 @@ if (s = prompt('What is your name?')) {
partial interface HTMLBodyElement { - [TreatNullAs=EmptyString] attribute DOMString text; - [TreatNullAs=EmptyString] attribute DOMString link; - [TreatNullAs=EmptyString] attribute DOMString vLink; - [TreatNullAs=EmptyString] attribute DOMString aLink; - [TreatNullAs=EmptyString] attribute DOMString bgColor; - attribute DOMString background; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString text; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString link; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString vLink; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString aLink; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor; + [CEReactions] attribute DOMString background; };
The text
IDL attribute of the body
@@ -112780,7 +112804,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLBRElement { - attribute DOMString clear; + [CEReactions] attribute DOMString clear; };
The clear
IDL attribute of the br
@@ -112789,7 +112813,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLTableCaptionElement { - attribute DOMString align; + [CEReactions] attribute DOMString align; };
The align
IDL attribute of the
@@ -112798,11 +112822,11 @@ if (s = prompt('What is your name?')) {
partial interface HTMLTableColElement { - attribute DOMString align; - attribute DOMString ch; - attribute DOMString chOff; - attribute DOMString vAlign; - attribute DOMString width; + [CEReactions] attribute DOMString align; + [CEReactions] attribute DOMString ch; + [CEReactions] attribute DOMString chOff; + [CEReactions] attribute DOMString vAlign; + [CEReactions] attribute DOMString width; };
The align
and width
IDL attributes of the col
element must
@@ -112829,7 +112853,7 @@ if (s = prompt('What is your name?')) {
interface.
interface HTMLDirectoryElement : HTMLElement { - attribute boolean compact; + [CEReactions] attribute boolean compact; };
The compact
IDL attribute of the
@@ -112838,7 +112862,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLDivElement { - attribute DOMString align; + [CEReactions] attribute DOMString align; };
The align
IDL attribute of the div
@@ -112847,7 +112871,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLDListElement { - attribute boolean compact; + [CEReactions] attribute boolean compact; };
The compact
IDL attribute of the dl
@@ -112856,8 +112880,8 @@ if (s = prompt('What is your name?')) {
partial interface HTMLEmbedElement { - attribute DOMString align; - attribute DOMString name; + [CEReactions] attribute DOMString align; + [CEReactions] attribute DOMString name; };
The name
and align
IDL attributes of the embed
element
@@ -112868,9 +112892,9 @@ if (s = prompt('What is your name?')) {
The font
element must implement the HTMLFontElement
interface.
interface HTMLFontElement : HTMLElement { - [TreatNullAs=EmptyString] attribute DOMString color; - attribute DOMString face; - attribute DOMString size; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString color; + [CEReactions] attribute DOMString face; + [CEReactions] attribute DOMString size; };
The color
, face
, and size
IDL attributes of the font
element must
@@ -112879,7 +112903,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLHeadingElement { - attribute DOMString align; + [CEReactions] attribute DOMString align; };
The align
IDL attribute of the
@@ -112897,11 +112921,11 @@ if (s = prompt('What is your name?')) {
partial interface HTMLHRElement { - attribute DOMString align; - attribute DOMString color; - attribute boolean noShade; - attribute DOMString size; - attribute DOMString width; + [CEReactions] attribute DOMString align; + [CEReactions] attribute DOMString color; + [CEReactions] attribute boolean noShade; + [CEReactions] attribute DOMString size; + [CEReactions] attribute DOMString width; };
The align
, color
, size
,
@@ -112915,7 +112939,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLHtmlElement { - attribute DOMString version; + [CEReactions] attribute DOMString version; };
The version
IDL attribute of the
@@ -112924,13 +112948,13 @@ if (s = prompt('What is your name?')) {
partial interface HTMLIFrameElement { - attribute DOMString align; - attribute DOMString scrolling; - attribute DOMString frameBorder; - attribute DOMString longDesc; + [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; };
The align
and scrolling
IDL attributes of the
@@ -112957,14 +112981,14 @@ if (s = prompt('What is your name?')) {
partial interface HTMLImageElement { - attribute DOMString name; - attribute DOMString lowsrc; - attribute DOMString align; - attribute unsigned long hspace; - attribute unsigned long vspace; - attribute DOMString longDesc; - - [TreatNullAs=EmptyString] attribute DOMString border; + [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; + + [CEReactions, TreatNullAs=EmptyString] attribute DOMString border; };
The name
, align
, border
, hspace
, and vspace
IDL attributes of the img
element
@@ -112983,8 +113007,8 @@ if (s = prompt('What is your name?')) {
partial interface HTMLInputElement { - attribute DOMString align; - attribute DOMString useMap; + [CEReactions] attribute DOMString align; + [CEReactions] attribute DOMString useMap; };
The align
IDL attribute of the
@@ -112997,7 +113021,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLLegendElement { - attribute DOMString align; + [CEReactions] attribute DOMString align; };
The align
IDL attribute of the
@@ -113006,7 +113030,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLLIElement { - attribute DOMString type; + [CEReactions] attribute DOMString type; };
The type
IDL attribute of the li
@@ -113015,9 +113039,9 @@ if (s = prompt('What is your name?')) {
partial interface HTMLLinkElement { - attribute DOMString charset; - attribute DOMString rev; - attribute DOMString target; + [CEReactions] attribute DOMString charset; + [CEReactions] attribute DOMString rev; + [CEReactions] attribute DOMString target; };
The charset
, rev
, and target
IDL attributes of the link
element
@@ -113031,7 +113055,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLMenuElement { - attribute boolean compact; + [CEReactions] attribute boolean compact; };
The compact
IDL attribute of the
@@ -113040,7 +113064,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLMetaElement { - attribute DOMString scheme; + [CEReactions] attribute DOMString scheme; };
User agents may treat the scheme
content attribute on the
@@ -113081,17 +113105,17 @@ if (s = prompt('What is your name?')) {
partial interface HTMLObjectElement { - attribute DOMString align; - attribute DOMString archive; - attribute DOMString code; - attribute boolean declare; - attribute unsigned long hspace; - attribute DOMString standby; - attribute unsigned long vspace; - attribute DOMString codeBase; - attribute DOMString codeType; - - [TreatNullAs=EmptyString] attribute DOMString border; + [CEReactions] attribute DOMString align; + [CEReactions] attribute DOMString archive; + [CEReactions] attribute DOMString code; + [CEReactions] attribute boolean declare; + [CEReactions] attribute unsigned long hspace; + [CEReactions] attribute DOMString standby; + [CEReactions] attribute unsigned long vspace; + [CEReactions] attribute DOMString codeBase; + [CEReactions] attribute DOMString codeType; + + [CEReactions, TreatNullAs=EmptyString] attribute DOMString border; };
The align
, archive
, border
, code
, declare
, hspace
, standby
, and vspace
IDL attributes of the object
@@ -113109,7 +113133,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLOListElement { - attribute boolean compact; + [CEReactions] attribute boolean compact; };
The compact
IDL attribute of the ol
@@ -113118,7 +113142,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLParagraphElement { - attribute DOMString align; + [CEReactions] attribute DOMString align; };
The align
IDL attribute of the p
@@ -113127,8 +113151,8 @@ if (s = prompt('What is your name?')) {
partial interface HTMLParamElement { - attribute DOMString type; - attribute DOMString valueType; + [CEReactions] attribute DOMString type; + [CEReactions] attribute DOMString valueType; };
The type
IDL attribute of the param
@@ -113147,7 +113171,7 @@ if (s = prompt('What is your name?')) {
partial interface HTMLPreElement { - attribute long width; + [CEReactions] attribute long width; };
The width
IDL attribute of the pre
@@ -113156,8 +113180,8 @@ if (s = prompt('What is your name?')) {
partial interface HTMLScriptElement { - attribute DOMString event; - attribute DOMString htmlFor; + [CEReactions] attribute DOMString event; + [CEReactions] attribute DOMString htmlFor; };
The event
IDL attribute of the
@@ -113171,16 +113195,16 @@ if (s = prompt('What is your name?')) {
partial interface HTMLTableElement { - attribute DOMString align; - attribute DOMString border; - attribute DOMString frame; - attribute DOMString rules; - attribute DOMString summary; - attribute DOMString width; - - [TreatNullAs=EmptyString] attribute DOMString bgColor; - [TreatNullAs=EmptyString] attribute DOMString cellPadding; - [TreatNullAs=EmptyString] attribute DOMString cellSpacing; + [CEReactions] attribute DOMString align; + [CEReactions] attribute DOMString border; + [CEReactions] attribute DOMString frame; + [CEReactions] attribute DOMString rules; + [CEReactions] attribute DOMString summary; + [CEReactions] attribute DOMString width; + + [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString cellPadding; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString cellSpacing; };
The align
, border
, frame
, summary
, rules
, and width
, IDL attributes of the table
element
@@ -113201,10 +113225,10 @@ if (s = prompt('What is your name?')) {
partial interface HTMLTableSectionElement { - attribute DOMString align; - attribute DOMString ch; - attribute DOMString chOff; - attribute DOMString vAlign; + [CEReactions] attribute DOMString align; + [CEReactions] attribute DOMString ch; + [CEReactions] attribute DOMString chOff; + [CEReactions] attribute DOMString vAlign; };
The align
IDL attribute of the
@@ -113226,17 +113250,17 @@ if (s = prompt('What is your name?')) {
partial interface HTMLTableCellElement { - attribute DOMString align; - attribute DOMString axis; - attribute DOMString height; - attribute DOMString width; + [CEReactions] attribute DOMString align; + [CEReactions] attribute DOMString axis; + [CEReactions] attribute DOMString height; + [CEReactions] attribute DOMString width; - attribute DOMString ch; - attribute DOMString chOff; - attribute boolean noWrap; - attribute DOMString vAlign; + [CEReactions] 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; };
The align
, axis
, height
, and width
IDL attributes of the td
and
@@ -113275,12 +113299,12 @@ if (s = prompt('What is your name?')) {
partial interface HTMLTableRowElement { - attribute DOMString align; - attribute DOMString ch; - attribute DOMString chOff; - attribute DOMString vAlign; + [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; };
The align
IDL attribute of the tr
@@ -113305,8 +113329,8 @@ if (s = prompt('What is your name?')) {
partial interface HTMLUListElement { - attribute boolean compact; - attribute DOMString type; + [CEReactions] attribute boolean compact; + [CEReactions] attribute DOMString type; };
The compact
and type
IDL attributes of the ul
element must
@@ -113321,11 +113345,11 @@ if (s = prompt('What is your name?')) {
partial interface Document { - [TreatNullAs=EmptyString] attribute DOMString fgColor; - [TreatNullAs=EmptyString] attribute DOMString linkColor; - [TreatNullAs=EmptyString] attribute DOMString vlinkColor; - [TreatNullAs=EmptyString] attribute DOMString alinkColor; - [TreatNullAs=EmptyString] attribute DOMString bgColor; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString fgColor; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString linkColor; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString vlinkColor; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString alinkColor; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor; [SameObject] readonly attribute HTMLCollection anchors; [SameObject] readonly attribute HTMLCollection applets;