webidl 0.1.10 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 4f717a323fd847ae04b672085e842823d28d798cdf166f204d066f01cad03899
4
- data.tar.gz: 01b43d15bca743edd72b9a235d546e70927ead1ec53a2d6e452f950ba84e3b94
2
+ SHA1:
3
+ metadata.gz: 5f799c8120517ec9f44c1183b68c00f5ae80ff52
4
+ data.tar.gz: 80fb9d94418a6b0a741a0af2025b156d40d618d2
5
5
  SHA512:
6
- metadata.gz: 40da3750a7d1bd3e3dc23cf668ac259d53b75cedef3c6bcf2bdda90fc4267a32f8f81f49b76ed48ccebb7e5f534a5f852eca30895c419ae1184bde8fda655185
7
- data.tar.gz: b6be4604b58e334ea3365ed3d05d339afed29ddb480c4216f6b6072192d97c2204d51d45de5e1f90d7501ed6cb9f8791caf46f5f8fc28330cd94ae731cb6fee0
6
+ metadata.gz: 6ad239d8a7d7cc677ac2a1c8137845155ee95a073694d6a002742fcb895acf890d2002c1dc3b18dfcfc521b4ace885a428febe19ac0ed86f820e8358b1edf733
7
+ data.tar.gz: d408b239d5b786389f02dab80eed151961afa125cc4ce1c4f0776d7c8936cd9c99428c2503fcb27aefe333f69bb867dd1e64c8dd64f105b826acd9e2d55f66ce
@@ -3,17 +3,16 @@ module WebIDL
3
3
  class Operation < Node
4
4
 
5
5
  attr_reader :type, :name, :args, :specials, :raises
6
- attr_accessor :extended_attributes, :stringifier
6
+ attr_accessor :stringifier
7
7
 
8
8
  def initialize(parent, type, opts = {})
9
- @parent = parent
10
- @type = type
11
- @name = opts[:name] || ''
12
- @static = opts[:static]
13
- @specials = opts[:specials] || []
14
- @args = opts[:args] || []
15
- @raises = opts[:raises] || []
16
- @extended_attributes = opts[:extended_attributes] || []
9
+ @parent = parent
10
+ @type = type
11
+ @name = opts[:name] || ''
12
+ @static = opts[:static]
13
+ @specials = opts[:specials] || []
14
+ @args = opts[:args] || []
15
+ @raises = opts[:raises] || []
17
16
  end
18
17
 
19
18
  def stringifier?
@@ -1,3 +1,3 @@
1
1
  module WebIDL
2
- VERSION = "0.1.10"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -28,30 +28,36 @@ interface HTMLOptionsCollection : HTMLCollection {
28
28
  };
29
29
 
30
30
 
31
- interface DOMStringList {
32
- readonly attribute unsigned long length;
33
- getter DOMString? item(unsigned long index);
34
- boolean contains(DOMString string);
31
+ [OverrideBuiltins]
32
+ interface DOMStringMap {
33
+ getter DOMString (DOMString name);
34
+ setter void (DOMString name, DOMString value);
35
+ deleter void (DOMString name);
35
36
  };
36
37
 
37
38
 
38
- enum DocumentReadyState { "loading", "interactive", "complete" };
39
+ interface DOMElementMap {
40
+ getter Element (DOMString name);
41
+ setter creator void (DOMString name, Element value);
42
+ deleter void (DOMString name);
43
+ };
39
44
 
40
- typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement;
45
+
46
+ enum DocumentReadyState { "loading", "interactive", "complete" };
41
47
 
42
48
  [OverrideBuiltins]
43
- partial interface Document {
49
+ partial /*sealed*/ interface Document {
44
50
  // resource metadata management
45
51
  [PutForwards=href, Unforgeable] readonly attribute Location? location;
46
- attribute USVString domain;
47
- readonly attribute USVString referrer;
48
- attribute USVString cookie;
52
+ attribute DOMString domain;
53
+ readonly attribute DOMString referrer;
54
+ attribute DOMString cookie;
49
55
  readonly attribute DOMString lastModified;
50
56
  readonly attribute DocumentReadyState readyState;
51
57
 
52
58
  // DOM tree accessors
53
59
  getter object (DOMString name);
54
- [CEReactions] attribute DOMString title;
60
+ attribute DOMString title;
55
61
  attribute DOMString dir;
56
62
  attribute HTMLElement? body;
57
63
  readonly attribute HTMLHeadElement? head;
@@ -62,21 +68,21 @@ partial interface Document {
62
68
  [SameObject] readonly attribute HTMLCollection forms;
63
69
  [SameObject] readonly attribute HTMLCollection scripts;
64
70
  NodeList getElementsByName(DOMString elementName);
65
- readonly attribute HTMLOrSVGScriptElement? currentScript; // classic scripts in a document tree only
71
+ readonly attribute HTMLScriptElement? currentScript;
66
72
 
67
73
  // dynamic markup insertion
68
74
  Document open(optional DOMString type = "text/html", optional DOMString replace = "");
69
75
  WindowProxy open(DOMString url, DOMString name, DOMString features, optional boolean replace = false);
70
- [CEReactions] void close();
71
- [CEReactions] void write(DOMString... text);
72
- [CEReactions] void writeln(DOMString... text);
76
+ void close();
77
+ void write(DOMString... text);
78
+ void writeln(DOMString... text);
73
79
 
74
80
  // user interaction
75
81
  readonly attribute WindowProxy? defaultView;
76
82
  readonly attribute Element? activeElement;
77
83
  boolean hasFocus();
78
- [CEReactions] attribute DOMString designMode;
79
- [CEReactions] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
84
+ attribute DOMString designMode;
85
+ boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
80
86
  boolean queryCommandEnabled(DOMString commandId);
81
87
  boolean queryCommandIndeterm(DOMString commandId);
82
88
  boolean queryCommandState(DOMString commandId);
@@ -90,41 +96,38 @@ Document implements GlobalEventHandlers;
90
96
  Document implements DocumentAndElementEventHandlers;
91
97
 
92
98
 
93
- [HTMLConstructor]
99
+ partial interface XMLDocument {
100
+ boolean load(DOMString url);
101
+ };
102
+
103
+
94
104
  interface HTMLElement : Element {
95
105
  // metadata attributes
96
- [CEReactions] attribute DOMString title;
97
- [CEReactions] attribute DOMString lang;
98
- [CEReactions] attribute boolean translate;
99
- [CEReactions] attribute DOMString dir;
106
+ attribute DOMString title;
107
+ attribute DOMString lang;
108
+ attribute boolean translate;
109
+ attribute DOMString dir;
100
110
  [SameObject] readonly attribute DOMStringMap dataset;
101
111
 
102
112
  // user interaction
103
- [CEReactions] attribute boolean hidden;
113
+ attribute boolean hidden;
104
114
  void click();
105
- [CEReactions] attribute long tabIndex;
115
+ attribute long tabIndex;
106
116
  void focus();
107
117
  void blur();
108
- [CEReactions] attribute DOMString accessKey;
109
- [CEReactions] attribute boolean draggable;
110
- [CEReactions] attribute boolean spellcheck;
118
+ attribute DOMString accessKey;
119
+ attribute boolean draggable;
120
+ [PutForwards=value] readonly attribute DOMTokenList dropzone;
121
+ attribute HTMLMenuElement? contextMenu;
122
+ attribute boolean spellcheck;
111
123
  void forceSpellCheck();
112
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString innerText;
113
124
  };
114
125
  HTMLElement implements GlobalEventHandlers;
115
126
  HTMLElement implements DocumentAndElementEventHandlers;
116
127
  HTMLElement implements ElementContentEditable;
117
128
 
118
- // Note: intentionally not [HTMLConstructor]
119
- interface HTMLUnknownElement : HTMLElement { };
120
-
121
129
 
122
- [OverrideBuiltins]
123
- interface DOMStringMap {
124
- getter DOMString (DOMString name);
125
- [CEReactions] setter void (DOMString name, DOMString value);
126
- [CEReactions] deleter void (DOMString name);
127
- };
130
+ interface HTMLUnknownElement : HTMLElement { };
128
131
 
129
132
 
130
133
  interface HTMLHtmlElement : HTMLElement {};
@@ -145,19 +148,17 @@ interface HTMLBaseElement : HTMLElement {
145
148
 
146
149
 
147
150
  interface HTMLLinkElement : HTMLElement {
148
- [CEReactions] attribute USVString href;
149
- [CEReactions] attribute DOMString? crossOrigin;
150
- [CEReactions] attribute DOMString rel;
151
- [CEReactions] attribute DOMString rev;
152
- [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
153
- [CEReactions] attribute DOMString media;
154
- [CEReactions] attribute DOMString nonce;
155
- [CEReactions] attribute DOMString hreflang;
156
- [CEReactions] attribute DOMString type;
157
- [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList sizes;
158
- [CEReactions] attribute DOMString referrerPolicy;
151
+ attribute DOMString href;
152
+ attribute DOMString? crossOrigin;
153
+ attribute DOMString rel;
154
+ attribute DOMString rev;
155
+ [SameObject, PutForwards=value]readonly attribute DOMTokenList relList;
156
+ attribute DOMString media;
157
+ attribute DOMString hreflang;
158
+ attribute DOMString type;
159
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes;
159
160
  };
160
- HTMLLinkElement implements LinkStyle;
161
+ HTMLLinkElement implements LinkStyle;
161
162
 
162
163
 
163
164
  interface HTMLMetaElement : HTMLElement {
@@ -227,7 +228,6 @@ interface HTMLAnchorElement : HTMLElement {
227
228
  attribute DOMString hreflang;
228
229
  attribute DOMString type;
229
230
  attribute DOMString text;
230
- attribute DOMString referrerPolicy;
231
231
  };
232
232
  HTMLAnchorElement implements HTMLHyperlinkElementUtils;
233
233
 
@@ -257,9 +257,7 @@ interface HTMLModElement : HTMLElement {
257
257
  interface HTMLPictureElement : HTMLElement {};
258
258
 
259
259
 
260
- interface HTMLSourceElement : HTMLElement {
261
- attribute DOMString src;
262
- attribute DOMString type;
260
+ partial interface HTMLSourceElement {
263
261
  attribute DOMString srcset;
264
262
  attribute DOMString sizes;
265
263
  attribute DOMString media;
@@ -274,7 +272,6 @@ interface HTMLImageElement : HTMLElement {
274
272
  attribute DOMString sizes;
275
273
  attribute DOMString? crossOrigin;
276
274
  attribute DOMString useMap;
277
- attribute DOMString longDesc;
278
275
  attribute boolean isMap;
279
276
  attribute unsigned long width;
280
277
  attribute unsigned long height;
@@ -282,7 +279,6 @@ interface HTMLImageElement : HTMLElement {
282
279
  readonly attribute unsigned long naturalHeight;
283
280
  readonly attribute boolean complete;
284
281
  readonly attribute DOMString currentSrc;
285
- attribute DOMString referrerPolicy;
286
282
  };
287
283
 
288
284
 
@@ -290,12 +286,10 @@ interface HTMLIFrameElement : HTMLElement {
290
286
  attribute DOMString src;
291
287
  attribute DOMString srcdoc;
292
288
  attribute DOMString name;
293
- [SameObject, PutForwards=value] readonly attribute DOMTokenList sandbox;
289
+ [PutForwards=value] readonly attribute DOMTokenList sandbox;
294
290
  attribute boolean allowFullscreen;
295
- attribute boolean allowPaymentRequest;
296
291
  attribute DOMString width;
297
292
  attribute DOMString height;
298
- attribute DOMString referrerPolicy;
299
293
  readonly attribute Document? contentDocument;
300
294
  readonly attribute WindowProxy? contentWindow;
301
295
  };
@@ -351,6 +345,12 @@ interface HTMLVideoElement : HTMLMediaElement {
351
345
  interface HTMLAudioElement : HTMLMediaElement {};
352
346
 
353
347
 
348
+ interface HTMLSourceElement : HTMLElement {
349
+ attribute DOMString src;
350
+ attribute DOMString type;
351
+ };
352
+
353
+
354
354
  interface HTMLTrackElement : HTMLElement {
355
355
  attribute DOMString kind;
356
356
  attribute DOMString src;
@@ -557,7 +557,7 @@ interface TrackEvent : Event {
557
557
  };
558
558
 
559
559
  dictionary TrackEventInit : EventInit {
560
- (VideoTrack or AudioTrack or TextTrack)? track = null;
560
+ (VideoTrack or AudioTrack or TextTrack)? track;
561
561
  };
562
562
 
563
563
 
@@ -575,10 +575,9 @@ interface HTMLAreaElement : HTMLElement {
575
575
  attribute DOMString target;
576
576
  attribute DOMString download;
577
577
  attribute DOMString rel;
578
- [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
578
+ readonly attribute DOMTokenList relList;
579
579
  attribute DOMString hreflang;
580
580
  attribute DOMString type;
581
- attribute DOMString referrerPolicy;
582
581
  };
583
582
  HTMLAreaElement implements HTMLHyperlinkElementUtils;
584
583
 
@@ -653,7 +652,7 @@ interface HTMLTableHeaderCellElement : HTMLTableCellElement {
653
652
  interface HTMLTableCellElement : HTMLElement {
654
653
  attribute unsigned long colSpan;
655
654
  attribute unsigned long rowSpan;
656
- [SameObject, PutForwards=value] readonly attribute DOMTokenList headers;
655
+ [PutForwards=value] readonly attribute DOMTokenList headers;
657
656
  readonly attribute long cellIndex;
658
657
  };
659
658
 
@@ -707,6 +706,7 @@ interface HTMLInputElement : HTMLElement {
707
706
  attribute DOMString formTarget;
708
707
  attribute unsigned long height;
709
708
  attribute boolean indeterminate;
709
+ attribute DOMString inputMode;
710
710
  readonly attribute HTMLElement? list;
711
711
  attribute DOMString max;
712
712
  attribute long maxLength;
@@ -717,7 +717,7 @@ interface HTMLInputElement : HTMLElement {
717
717
  attribute DOMString pattern;
718
718
  attribute DOMString placeholder;
719
719
  attribute boolean readOnly;
720
- attribute boolean _required;
720
+ attribute boolean required;
721
721
  attribute unsigned long size;
722
722
  attribute DOMString src;
723
723
  attribute DOMString step;
@@ -741,9 +741,9 @@ interface HTMLInputElement : HTMLElement {
741
741
  [SameObject] readonly attribute NodeList labels;
742
742
 
743
743
  void select();
744
- attribute unsigned long? selectionStart;
745
- attribute unsigned long? selectionEnd;
746
- attribute DOMString? selectionDirection;
744
+ attribute unsigned long selectionStart;
745
+ attribute unsigned long selectionEnd;
746
+ attribute DOMString selectionDirection;
747
747
  void setRangeText(DOMString replacement);
748
748
  void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
749
749
  void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
@@ -762,6 +762,7 @@ interface HTMLButtonElement : HTMLElement {
762
762
  attribute DOMString name;
763
763
  attribute DOMString type;
764
764
  attribute DOMString value;
765
+ attribute HTMLMenuElement? menu;
765
766
 
766
767
  readonly attribute boolean willValidate;
767
768
  readonly attribute ValidityState validity;
@@ -781,7 +782,7 @@ interface HTMLSelectElement : HTMLElement {
781
782
  readonly attribute HTMLFormElement? form;
782
783
  attribute boolean multiple;
783
784
  attribute DOMString name;
784
- attribute boolean _required;
785
+ attribute boolean required;
785
786
  attribute unsigned long size;
786
787
 
787
788
  readonly attribute DOMString type;
@@ -842,12 +843,13 @@ interface HTMLTextAreaElement : HTMLElement {
842
843
  attribute DOMString dirName;
843
844
  attribute boolean disabled;
844
845
  readonly attribute HTMLFormElement? form;
846
+ attribute DOMString inputMode;
845
847
  attribute long maxLength;
846
848
  attribute long minLength;
847
849
  attribute DOMString name;
848
850
  attribute DOMString placeholder;
849
851
  attribute boolean readOnly;
850
- attribute boolean _required;
852
+ attribute boolean required;
851
853
  attribute unsigned long rows;
852
854
  attribute DOMString wrap;
853
855
 
@@ -866,15 +868,36 @@ interface HTMLTextAreaElement : HTMLElement {
866
868
  [SameObject] readonly attribute NodeList labels;
867
869
 
868
870
  void select();
869
- attribute unsigned long? selectionStart;
870
- attribute unsigned long? selectionEnd;
871
- attribute DOMString? selectionDirection;
871
+ attribute unsigned long selectionStart;
872
+ attribute unsigned long selectionEnd;
873
+ attribute DOMString selectionDirection;
872
874
  void setRangeText(DOMString replacement);
873
875
  void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
874
876
  void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
875
877
  };
876
878
 
877
879
 
880
+ interface HTMLKeygenElement : HTMLElement {
881
+ attribute boolean autofocus;
882
+ attribute DOMString challenge;
883
+ attribute boolean disabled;
884
+ readonly attribute HTMLFormElement? form;
885
+ attribute DOMString keytype;
886
+ attribute DOMString name;
887
+
888
+ readonly attribute DOMString type;
889
+
890
+ readonly attribute boolean willValidate;
891
+ readonly attribute ValidityState validity;
892
+ readonly attribute DOMString validationMessage;
893
+ boolean checkValidity();
894
+ boolean reportValidity();
895
+ void setCustomValidity(DOMString error);
896
+
897
+ [SameObject] readonly attribute NodeList labels;
898
+ };
899
+
900
+
878
901
  interface HTMLOutputElement : HTMLElement {
879
902
  [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor;
880
903
  readonly attribute HTMLFormElement? form;
@@ -965,12 +988,30 @@ interface HTMLDetailsElement : HTMLElement {
965
988
  };
966
989
 
967
990
 
968
- interface HTMLDialogElement : HTMLElement {
969
- attribute boolean open;
970
- attribute DOMString returnValue;
971
- void show(optional (MouseEvent or Element) anchor);
972
- void showModal(optional (MouseEvent or Element) anchor);
973
- void close(optional DOMString returnValue);
991
+ interface HTMLMenuElement : HTMLElement {
992
+ attribute DOMString type;
993
+ attribute DOMString label;
994
+ };
995
+
996
+
997
+ interface HTMLMenuItemElement : HTMLElement {
998
+ attribute DOMString type;
999
+ attribute DOMString label;
1000
+ attribute DOMString icon;
1001
+ attribute boolean disabled;
1002
+ attribute boolean checked;
1003
+ attribute DOMString radiogroup;
1004
+ attribute boolean default;
1005
+ };
1006
+
1007
+
1008
+ [Constructor(DOMString type, optional RelatedEventInit eventInitDict)]
1009
+ interface RelatedEvent : Event {
1010
+ readonly attribute EventTarget? relatedTarget;
1011
+ };
1012
+
1013
+ dictionary RelatedEventInit : EventInit {
1014
+ EventTarget? relatedTarget;
974
1015
  };
975
1016
 
976
1017
 
@@ -986,8 +1027,6 @@ interface HTMLScriptElement : HTMLElement {
986
1027
  };
987
1028
 
988
1029
 
989
- [Exposed=Window,
990
- HTMLConstructor]
991
1030
  interface HTMLTemplateElement : HTMLElement {
992
1031
  readonly attribute DocumentFragment content;
993
1032
  };
@@ -1095,9 +1134,6 @@ readonly attribute Element? frameElement;
1095
1134
  WindowProxy open(optional DOMString url = "about:blank", optional DOMString target = "_blank", [TreatNullAs=EmptyString] optional DOMString features = "", optional boolean replace = false);
1096
1135
  getter WindowProxy (unsigned long index);
1097
1136
  getter object (DOMString name);
1098
- // Since this is the global object, the IDL named getter adds a NamedPropertiesObject exotic
1099
- // object on the prototype chain. Indeed, this does not make the global object an exotic object.
1100
- // Indexed access is taken care of by the WindowProxy exotic object.
1101
1137
 
1102
1138
  // the user agent
1103
1139
  readonly attribute Navigator navigator;
@@ -1108,6 +1144,7 @@ void alert(DOMString message);
1108
1144
  boolean confirm(optional DOMString message = "");
1109
1145
  DOMString? prompt(optional DOMString message = "", optional DOMString default = "");
1110
1146
  void print();
1147
+ any showModalDialog(DOMString url, optional any argument); // deprecated
1111
1148
 
1112
1149
  unsigned long requestAnimationFrame(FrameRequestCallback callback);
1113
1150
  void cancelAnimationFrame(unsigned long handle);
@@ -1138,22 +1175,23 @@ interface History {
1138
1175
  };
1139
1176
 
1140
1177
 
1178
+ [Unforgeable]
1141
1179
  interface Location {
1142
- [Unforgeable] stringifier attribute USVString href;
1143
- [Unforgeable] readonly attribute USVString origin;
1144
- [Unforgeable] attribute USVString protocol;
1145
- [Unforgeable] attribute USVString host;
1146
- [Unforgeable] attribute USVString hostname;
1147
- [Unforgeable] attribute USVString port;
1148
- [Unforgeable] attribute USVString pathname;
1149
- [Unforgeable] attribute USVString search;
1150
- [Unforgeable] attribute USVString hash;
1180
+ stringifier attribute USVString href;
1181
+ readonly attribute USVString origin;
1182
+ attribute USVString protocol;
1183
+ attribute USVString host;
1184
+ attribute USVString hostname;
1185
+ attribute USVString port;
1186
+ attribute USVString pathname;
1187
+ attribute USVString search;
1188
+ attribute USVString hash;
1151
1189
 
1152
- [Unforgeable] void assign(USVString url);
1153
- [Unforgeable] void replace(USVString url);
1154
- [Unforgeable] void reload();
1190
+ void assign(USVString url);
1191
+ void replace(USVString url);
1192
+ void reload();
1155
1193
 
1156
- [Unforgeable, SameObject] readonly attribute USVString[] ancestorOrigins;
1194
+ [SameObject] readonly attribute USVString[] ancestorOrigins;
1157
1195
  };
1158
1196
 
1159
1197
 
@@ -1164,20 +1202,20 @@ interface PopStateEvent : Event {
1164
1202
 
1165
1203
 
1166
1204
  dictionary PopStateEventInit : EventInit {
1167
- any state = null;
1205
+ any state;
1168
1206
  };
1169
1207
 
1170
1208
 
1171
1209
  [Constructor(DOMString type, optional HashChangeEventInit eventInitDict), Exposed=(Window,Worker)]
1172
1210
  interface HashChangeEvent : Event {
1173
- readonly attribute USVString oldURL;
1174
- readonly attribute USVString newURL;
1211
+ readonly attribute DOMString oldURL;
1212
+ readonly attribute DOMString newURL;
1175
1213
  };
1176
1214
 
1177
1215
 
1178
1216
  dictionary HashChangeEventInit : EventInit {
1179
- USVString oldURL = "";
1180
- USVString newURL = "";
1217
+ DOMString oldURL;
1218
+ DOMString newURL;
1181
1219
  };
1182
1220
 
1183
1221
 
@@ -1188,7 +1226,7 @@ interface PageTransitionEvent : Event {
1188
1226
 
1189
1227
 
1190
1228
  dictionary PageTransitionEventInit : EventInit {
1191
- boolean persisted = false;
1229
+ boolean persisted;
1192
1230
  };
1193
1231
 
1194
1232
 
@@ -1260,6 +1298,7 @@ interface GlobalEventHandlers {
1260
1298
  attribute EventHandler onchange;
1261
1299
  attribute EventHandler onclick;
1262
1300
  attribute EventHandler onclose;
1301
+ attribute EventHandler oncontextmenu;
1263
1302
  attribute EventHandler oncuechange;
1264
1303
  attribute EventHandler ondblclick;
1265
1304
  attribute EventHandler ondrag;
@@ -1342,28 +1381,31 @@ interface DocumentAndElementEventHandlers {
1342
1381
  };
1343
1382
 
1344
1383
 
1345
- typedef (DOMString or Function) TimerHandler;
1346
-
1347
1384
  [NoInterfaceObject, Exposed=(Window, Worker)]
1348
- interface WindowOrWorkerGlobalScope {
1349
- [Replaceable] readonly attribute USVString origin;
1350
-
1351
- // Base64 utility methods (WindowBase64)
1385
+ interface WindowBase64 {
1352
1386
  DOMString btoa(DOMString btoa);
1353
1387
  DOMString atob(DOMString atob);
1388
+ };
1389
+ Window implements WindowBase64;
1390
+ WorkerGlobalScope implements WindowBase64;
1391
+
1354
1392
 
1355
- // Timers (WindowTimers)
1393
+ [NoInterfaceObject, Exposed=(Window,Worker)]
1394
+ interface WindowTimers {
1356
1395
  long setTimeout((Function or DOMString) handler, optional long timeout = 0, any... arguments);
1357
1396
  void clearTimeout(optional long handle = 0);
1358
1397
  long setInterval((Function or DOMString) handler, optional long timeout = 0, any... arguments);
1359
1398
  void clearInterval(optional long handle = 0);
1399
+ };
1400
+ Window implements WindowTimers;
1401
+ WorkerGlobalScope implements WindowTimers;
1360
1402
 
1361
- // ImageBitmap, Images (ImageBitmapFactories)
1362
- Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image);
1363
- Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, long sx, long sy, long sw, long sh);
1403
+
1404
+ [NoInterfaceObject]
1405
+ interface WindowModal {
1406
+ readonly attribute any dialogArguments;
1407
+ attribute any returnValue;
1364
1408
  };
1365
- Window implements WindowOrWorkerGlobalScope;
1366
- WorkerGlobalScope implements WindowOrWorkerGlobalScope;
1367
1409
 
1368
1410
 
1369
1411
  interface Navigator {
@@ -1374,6 +1416,7 @@ Navigator implements NavigatorLanguage;
1374
1416
  Navigator implements NavigatorOnLine;
1375
1417
  Navigator implements NavigatorContentUtils;
1376
1418
  Navigator implements NavigatorCookies;
1419
+ Navigator implements NavigatorPlugins;
1377
1420
 
1378
1421
 
1379
1422
  [NoInterfaceObject, Exposed=(Window, Worker)]
@@ -1398,11 +1441,7 @@ interface NavigatorLanguage {
1398
1441
  interface NavigatorContentUtils {
1399
1442
  // content handler registration
1400
1443
  void registerProtocolHandler(DOMString scheme, DOMString url, DOMString title);
1401
- void registerContentHandler(DOMString mimeType, DOMString url, DOMString title);
1402
- DOMString isProtocolHandlerRegistered(DOMString scheme, DOMString url);
1403
- DOMString isContentHandlerRegistered(DOMString mimeType, DOMString url);
1404
1444
  void unregisterProtocolHandler(DOMString scheme, DOMString url);
1405
- void unregisterContentHandler(DOMString mimeType, DOMString url);
1406
1445
  };
1407
1446
 
1408
1447
 
@@ -1412,7 +1451,48 @@ interface NavigatorCookies {
1412
1451
  };
1413
1452
 
1414
1453
 
1415
- [Exposed=(Window, Worker), Serializable, Transferable]
1454
+ [NoInterfaceObject]
1455
+ interface NavigatorPlugins {
1456
+ [SameObject] readonly attribute PluginArray plugins;
1457
+ [SameObject] readonly attribute MimeTypeArray mimeTypes;
1458
+ boolean javaEnabled();
1459
+ };
1460
+
1461
+
1462
+ interface PluginArray {
1463
+ void refresh(optional boolean reload = false);
1464
+ readonly attribute unsigned long length;
1465
+ getter Plugin? item(unsigned long index);
1466
+ getter Plugin? namedItem(DOMString name);
1467
+ };
1468
+
1469
+
1470
+ interface MimeTypeArray {
1471
+ readonly attribute unsigned long length;
1472
+ getter MimeType? item(unsigned long index);
1473
+ getter MimeType? namedItem(DOMString name);
1474
+ };
1475
+
1476
+
1477
+ interface Plugin {
1478
+ readonly attribute DOMString name;
1479
+ readonly attribute DOMString description;
1480
+ readonly attribute DOMString filename;
1481
+ readonly attribute unsigned long length;
1482
+ getter MimeType? item(unsigned long index);
1483
+ getter MimeType? namedItem(DOMString name);
1484
+ };
1485
+
1486
+
1487
+ interface MimeType {
1488
+ readonly attribute DOMString type;
1489
+ readonly attribute DOMString description;
1490
+ readonly attribute DOMString suffixes; // comma-separated
1491
+ readonly attribute Plugin enabledPlugin;
1492
+ };
1493
+
1494
+
1495
+ [Exposed=(Window, Worker)]
1416
1496
  interface ImageBitmap {
1417
1497
  readonly attribute unsigned long width;
1418
1498
  readonly attribute unsigned long height;
@@ -1427,35 +1507,42 @@ typedef (HTMLImageElement or
1427
1507
  ImageBitmap) ImageBitmapSource;
1428
1508
 
1429
1509
 
1430
- // Note: intentionally not [HTMLConstructor]
1510
+ [NoInterfaceObject, Exposed=(Window, Worker)]
1511
+ interface ImageBitmapFactories {
1512
+ Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image);
1513
+ Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, long sx, long sy, long sw, long sh);
1514
+ };
1515
+ Window implements ImageBitmapFactories;
1516
+ WorkerGlobalScope implements ImageBitmapFactories;
1517
+
1518
+
1431
1519
  interface HTMLAppletElement : HTMLElement {
1432
1520
  attribute DOMString align;
1433
1521
  attribute DOMString alt;
1434
1522
  attribute DOMString archive;
1435
1523
  attribute DOMString code;
1436
- attribute USVString codeBase;
1524
+ attribute DOMString codeBase;
1437
1525
  attribute DOMString height;
1438
1526
  attribute unsigned long hspace;
1439
1527
  attribute DOMString name;
1440
- attribute USVString _object; // the underscore is not part of the identifier
1528
+ attribute DOMString _object; // the underscore is not part of the identifier
1441
1529
  attribute unsigned long vspace;
1442
1530
  attribute DOMString width;
1443
1531
  };
1444
1532
 
1445
1533
 
1446
- [HTMLConstructor]
1447
1534
  interface HTMLMarqueeElement : HTMLElement {
1448
- [CEReactions] attribute DOMString behavior;
1449
- [CEReactions] attribute DOMString bgColor;
1450
- [CEReactions] attribute DOMString direction;
1451
- [CEReactions] attribute DOMString height;
1452
- [CEReactions] attribute unsigned long hspace;
1453
- [CEReactions] attribute long loop;
1454
- [CEReactions] attribute unsigned long scrollAmount;
1455
- [CEReactions] attribute unsigned long scrollDelay;
1456
- [CEReactions] attribute boolean trueSpeed;
1457
- [CEReactions] attribute unsigned long vspace;
1458
- [CEReactions] attribute DOMString width;
1535
+ attribute DOMString behavior;
1536
+ attribute DOMString bgColor;
1537
+ attribute DOMString direction;
1538
+ attribute DOMString height;
1539
+ attribute unsigned long hspace;
1540
+ attribute long loop;
1541
+ attribute unsigned long scrollAmount;
1542
+ attribute unsigned long scrollDelay;
1543
+ attribute boolean trueSpeed;
1544
+ attribute unsigned long vspace;
1545
+ attribute DOMString width;
1459
1546
 
1460
1547
  attribute EventHandler onbounce;
1461
1548
  attribute EventHandler onfinish;
@@ -1466,275 +1553,304 @@ interface HTMLMarqueeElement : HTMLElement {
1466
1553
  };
1467
1554
 
1468
1555
 
1469
- [HTMLConstructor]
1470
1556
  interface HTMLFrameSetElement : HTMLElement {
1471
- [CEReactions] attribute DOMString cols;
1472
- [CEReactions] attribute DOMString rows;
1557
+ attribute DOMString cols;
1558
+ attribute DOMString rows;
1473
1559
  };
1474
1560
  HTMLFrameSetElement implements WindowEventHandlers;
1475
1561
 
1476
1562
 
1477
- [HTMLConstructor]
1478
1563
  interface HTMLFrameElement : HTMLElement {
1479
- [CEReactions] attribute DOMString name;
1480
- [CEReactions] attribute DOMString scrolling;
1481
- [CEReactions] attribute USVString src;
1482
- [CEReactions] attribute DOMString frameBorder;
1483
- [CEReactions] attribute USVString longDesc;
1484
- [CEReactions] attribute boolean noResize;
1564
+ attribute DOMString name;
1565
+ attribute DOMString scrolling;
1566
+ attribute DOMString src;
1567
+ attribute DOMString frameBorder;
1568
+ attribute boolean noResize;
1485
1569
  readonly attribute Document? contentDocument;
1486
1570
  readonly attribute WindowProxy? contentWindow;
1487
1571
 
1488
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginHeight;
1489
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginWidth;
1572
+ [TreatNullAs=EmptyString] attribute DOMString marginHeight;
1573
+ [TreatNullAs=EmptyString] attribute DOMString marginWidth;
1574
+ };
1575
+
1576
+
1577
+ [Exposed=(Window, SharedWorker)]
1578
+ interface ApplicationCache : EventTarget {
1579
+ // update status
1580
+ const unsigned short UNCACHED = 0;
1581
+ const unsigned short IDLE = 1;
1582
+ const unsigned short CHECKING = 2;
1583
+ const unsigned short DOWNLOADING = 3;
1584
+ const unsigned short UPDATEREADY = 4;
1585
+ const unsigned short OBSOLETE = 5;
1586
+ readonly attribute unsigned short status;
1587
+
1588
+ // updates
1589
+ void update();
1590
+ void abort();
1591
+ void swapCache();
1592
+
1593
+ // events
1594
+ attribute EventHandler onchecking;
1595
+ attribute EventHandler onerror;
1596
+ attribute EventHandler onnoupdate;
1597
+ attribute EventHandler ondownloading;
1598
+ attribute EventHandler onprogress;
1599
+ attribute EventHandler onupdateready;
1600
+ attribute EventHandler oncached;
1601
+ attribute EventHandler onobsolete;
1490
1602
  };
1491
1603
 
1492
1604
 
1493
1605
  partial interface HTMLAnchorElement {
1494
- [CEReactions] attribute DOMString coords;
1495
- [CEReactions] attribute DOMString charset;
1496
- [CEReactions] attribute DOMString name;
1497
- [CEReactions] attribute DOMString shape;
1606
+ attribute DOMString coords;
1607
+ attribute DOMString charset;
1608
+ attribute DOMString name;
1609
+ attribute DOMString shape;
1498
1610
  };
1499
1611
 
1500
1612
 
1501
1613
  partial interface HTMLAreaElement {
1502
- [CEReactions] attribute boolean noHref;
1614
+ attribute boolean noHref;
1503
1615
  };
1504
1616
 
1505
1617
 
1506
1618
  partial interface HTMLBodyElement {
1507
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString text;
1508
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString link;
1509
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString vLink;
1510
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString aLink;
1511
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
1619
+ [TreatNullAs=EmptyString] attribute DOMString text;
1620
+ [TreatNullAs=EmptyString] attribute DOMString link;
1621
+ [TreatNullAs=EmptyString] attribute DOMString vLink;
1622
+ [TreatNullAs=EmptyString] attribute DOMString aLink;
1623
+ [TreatNullAs=EmptyString] attribute DOMString bgColor;
1512
1624
  attribute DOMString background;
1513
1625
  };
1514
1626
 
1515
1627
 
1516
1628
  partial interface HTMLBRElement {
1517
- [CEReactions] attribute DOMString clear;
1629
+ attribute DOMString clear;
1518
1630
  };
1519
1631
 
1520
1632
 
1521
1633
  partial interface HTMLTableCaptionElement {
1522
- [CEReactions] attribute DOMString align;
1634
+ attribute DOMString align;
1523
1635
  };
1524
1636
 
1525
1637
 
1526
1638
  partial interface HTMLTableColElement {
1527
- [CEReactions] attribute DOMString align;
1528
- [CEReactions] attribute DOMString ch;
1529
- [CEReactions] attribute DOMString chOff;
1530
- [CEReactions] attribute DOMString vAlign;
1531
- [CEReactions] attribute DOMString width;
1639
+ attribute DOMString align;
1640
+ attribute DOMString ch;
1641
+ attribute DOMString chOff;
1642
+ attribute DOMString vAlign;
1643
+ attribute DOMString width;
1532
1644
  };
1533
1645
 
1534
1646
 
1535
- [HTMLConstructor]
1536
1647
  interface HTMLDirectoryElement : HTMLElement {
1537
- [CEReactions] attribute boolean compact;
1648
+ attribute boolean compact;
1538
1649
  };
1539
1650
 
1540
1651
 
1541
1652
  partial interface HTMLDivElement {
1542
- [CEReactions] attribute DOMString align;
1653
+ attribute DOMString align;
1543
1654
  };
1544
1655
 
1545
1656
 
1546
1657
  partial interface HTMLDListElement {
1547
- [CEReactions] attribute boolean compact;
1658
+ attribute boolean compact;
1548
1659
  };
1549
1660
 
1550
1661
 
1551
1662
  partial interface HTMLEmbedElement {
1552
- [CEReactions] attribute DOMString align;
1553
- [CEReactions] attribute DOMString name;
1663
+ attribute DOMString align;
1664
+ attribute DOMString name;
1554
1665
  };
1555
1666
 
1556
1667
 
1557
- [HTMLConstructor]
1558
1668
  interface HTMLFontElement : HTMLElement {
1559
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString color;
1560
- [CEReactions] attribute DOMString face;
1561
- [CEReactions] attribute DOMString size;
1669
+ [TreatNullAs=EmptyString] attribute DOMString color;
1670
+ attribute DOMString face;
1671
+ attribute DOMString size;
1562
1672
  };
1563
1673
 
1564
1674
 
1565
1675
  partial interface HTMLHeadingElement {
1566
- [CEReactions] attribute DOMString align;
1676
+ attribute DOMString align;
1567
1677
  };
1568
1678
 
1569
1679
 
1570
1680
  partial interface HTMLHRElement {
1571
- [CEReactions] attribute DOMString align;
1572
- [CEReactions] attribute DOMString color;
1573
- [CEReactions] attribute boolean noShade;
1574
- [CEReactions] attribute DOMString size;
1575
- [CEReactions] attribute DOMString width;
1681
+ attribute DOMString align;
1682
+ attribute DOMString color;
1683
+ attribute boolean noShade;
1684
+ attribute DOMString size;
1685
+ attribute DOMString width;
1576
1686
  };
1577
1687
 
1578
1688
 
1579
1689
  partial interface HTMLHtmlElement {
1580
- [CEReactions] attribute DOMString version;
1690
+ attribute DOMString version;
1581
1691
  };
1582
1692
 
1583
1693
 
1584
1694
  partial interface HTMLIFrameElement {
1585
- [CEReactions] attribute DOMString align;
1586
- [CEReactions] attribute DOMString scrolling;
1587
- [CEReactions] attribute DOMString frameBorder;
1588
- [CEReactions] attribute USVString longDesc;
1589
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginHeight;
1590
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginWidth;
1695
+ attribute DOMString align;
1696
+ attribute DOMString scrolling;
1697
+ attribute DOMString frameBorder;
1698
+
1699
+ [TreatNullAs=EmptyString] attribute DOMString marginHeight;
1700
+ [TreatNullAs=EmptyString] attribute DOMString marginWidth;
1591
1701
  };
1592
1702
 
1593
1703
 
1594
1704
  partial interface HTMLImageElement {
1595
- [CEReactions] attribute DOMString name;
1596
- [CEReactions] attribute USVString lowsrc;
1597
- [CEReactions] attribute DOMString align;
1598
- [CEReactions] attribute unsigned long hspace;
1599
- [CEReactions] attribute unsigned long vspace;
1705
+ attribute DOMString name;
1706
+ attribute DOMString lowsrc;
1707
+ attribute DOMString align;
1708
+ attribute unsigned long hspace;
1709
+ attribute unsigned long vspace;
1600
1710
 
1601
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString border;
1711
+ [TreatNullAs=EmptyString] attribute DOMString border;
1602
1712
  };
1603
1713
 
1604
1714
 
1605
1715
  partial interface HTMLInputElement {
1606
- [CEReactions] attribute DOMString align;
1607
- [CEReactions] attribute DOMString useMap;
1716
+ attribute DOMString align;
1717
+ attribute DOMString useMap;
1608
1718
  };
1609
1719
 
1610
1720
 
1611
1721
  partial interface HTMLLegendElement {
1612
- [CEReactions] attribute DOMString align;
1722
+ attribute DOMString align;
1613
1723
  };
1614
1724
 
1615
1725
 
1616
1726
  partial interface HTMLLIElement {
1617
- [CEReactions] attribute DOMString type;
1727
+ attribute DOMString type;
1618
1728
  };
1619
1729
 
1620
1730
 
1621
1731
  partial interface HTMLLinkElement {
1622
- [CEReactions] attribute DOMString charset;
1623
- [CEReactions] attribute DOMString target;
1732
+ attribute DOMString charset;
1733
+ attribute DOMString target;
1624
1734
  };
1625
1735
 
1626
1736
 
1627
1737
  partial interface HTMLMenuElement {
1628
- [CEReactions] attribute boolean compact;
1738
+ attribute boolean compact;
1629
1739
  };
1630
1740
 
1631
1741
 
1632
1742
  partial interface HTMLMetaElement {
1633
- [CEReactions] attribute DOMString scheme;
1743
+ attribute DOMString scheme;
1634
1744
  };
1635
1745
 
1636
1746
 
1637
1747
  partial interface HTMLObjectElement {
1638
- [CEReactions] attribute DOMString align;
1639
- [CEReactions] attribute DOMString archive;
1640
- [CEReactions] attribute DOMString code;
1641
- [CEReactions] attribute boolean declare;
1642
- [CEReactions] attribute unsigned long hspace;
1643
- [CEReactions] attribute DOMString standby;
1644
- [CEReactions] attribute unsigned long vspace;
1645
- [CEReactions] attribute DOMString codeBase;
1646
- [CEReactions] attribute DOMString codeType;
1748
+ attribute DOMString align;
1749
+ attribute DOMString archive;
1750
+ attribute DOMString code;
1751
+ attribute boolean declare;
1752
+ attribute unsigned long hspace;
1753
+ attribute DOMString standby;
1754
+ attribute unsigned long vspace;
1755
+ attribute DOMString codeBase;
1756
+ attribute DOMString codeType;
1757
+ attribute DOMString useMap;
1647
1758
 
1648
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString border;
1759
+ [TreatNullAs=EmptyString] attribute DOMString border;
1649
1760
  };
1650
1761
 
1651
1762
 
1652
1763
  partial interface HTMLOListElement {
1653
- [CEReactions] attribute boolean compact;
1764
+ attribute boolean compact;
1654
1765
  };
1655
1766
 
1656
1767
 
1657
1768
  partial interface HTMLParagraphElement {
1658
- [CEReactions] attribute DOMString align;
1769
+ attribute DOMString align;
1659
1770
  };
1660
1771
 
1661
1772
 
1662
1773
  partial interface HTMLParamElement {
1663
- [CEReactions] attribute DOMString type;
1664
- [CEReactions] attribute DOMString valueType;
1774
+ attribute DOMString type;
1775
+ attribute DOMString valueType;
1665
1776
  };
1666
1777
 
1667
1778
 
1668
1779
  partial interface HTMLPreElement {
1669
- [CEReactions] attribute long width;
1780
+ attribute long width;
1670
1781
  };
1671
1782
 
1672
1783
 
1673
1784
  partial interface HTMLScriptElement {
1674
- [CEReactions] attribute DOMString event;
1675
- [CEReactions] attribute DOMString htmlFor;
1785
+ attribute DOMString event;
1786
+ attribute DOMString htmlFor;
1676
1787
  };
1677
1788
 
1678
1789
 
1679
1790
  partial interface HTMLTableElement {
1680
- [CEReactions] attribute DOMString align;
1681
- [CEReactions] attribute DOMString border;
1682
- [CEReactions] attribute DOMString frame;
1683
- [CEReactions] attribute DOMString rules;
1684
- [CEReactions] attribute DOMString summary;
1685
- [CEReactions] attribute DOMString width;
1791
+ attribute DOMString align;
1792
+ attribute DOMString border;
1793
+ attribute DOMString frame;
1794
+ attribute DOMString rules;
1795
+ attribute DOMString summary;
1796
+ attribute DOMString width;
1686
1797
 
1687
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
1688
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString cellPadding;
1689
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString cellSpacing;
1798
+ [TreatNullAs=EmptyString] attribute DOMString bgColor;
1799
+ [TreatNullAs=EmptyString] attribute DOMString cellPadding;
1800
+ [TreatNullAs=EmptyString] attribute DOMString cellSpacing;
1690
1801
  };
1691
1802
 
1692
1803
 
1693
1804
  partial interface HTMLTableSectionElement {
1694
- [CEReactions] attribute DOMString align;
1695
- [CEReactions] attribute DOMString ch;
1696
- [CEReactions] attribute DOMString chOff;
1697
- [CEReactions] attribute DOMString vAlign;
1805
+ attribute DOMString align;
1806
+ attribute DOMString ch;
1807
+ attribute DOMString chOff;
1808
+ attribute DOMString vAlign;
1698
1809
  };
1699
1810
 
1700
1811
 
1701
1812
  partial interface HTMLTableCellElement {
1702
- [CEReactions] attribute DOMString align;
1703
- [CEReactions] attribute DOMString axis;
1704
- [CEReactions] attribute DOMString height;
1705
- [CEReactions] attribute DOMString width;
1813
+ attribute DOMString align;
1814
+ attribute DOMString axis;
1815
+ attribute DOMString height;
1816
+ attribute DOMString width;
1817
+
1818
+ attribute DOMString ch;
1819
+ attribute DOMString chOff;
1820
+ attribute boolean noWrap;
1821
+ attribute DOMString vAlign;
1822
+
1823
+ [TreatNullAs=EmptyString] attribute DOMString bgColor;
1824
+ };
1706
1825
 
1707
- [CEReactions] attribute DOMString ch;
1708
- [CEReactions] attribute DOMString chOff;
1709
- [CEReactions] attribute boolean noWrap;
1710
- [CEReactions] attribute DOMString vAlign;
1711
1826
 
1712
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
1827
+ partial interface HTMLTableDataCellElement {
1828
+ attribute DOMString abbr;
1713
1829
  };
1714
1830
 
1715
1831
 
1716
1832
  partial interface HTMLTableRowElement {
1717
- [CEReactions] attribute DOMString align;
1718
- [CEReactions] attribute DOMString ch;
1719
- [CEReactions] attribute DOMString chOff;
1720
- [CEReactions] attribute DOMString vAlign;
1833
+ attribute DOMString align;
1834
+ attribute DOMString ch;
1835
+ attribute DOMString chOff;
1836
+ attribute DOMString vAlign;
1721
1837
 
1722
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
1838
+ [TreatNullAs=EmptyString] attribute DOMString bgColor;
1723
1839
  };
1724
1840
 
1725
1841
 
1726
1842
  partial interface HTMLUListElement {
1727
- [CEReactions] attribute boolean compact;
1728
- [CEReactions] attribute DOMString type;
1843
+ attribute boolean compact;
1844
+ attribute DOMString type;
1729
1845
  };
1730
1846
 
1731
1847
 
1732
1848
  partial interface Document {
1733
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString fgColor;
1734
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString linkColor;
1735
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString vlinkColor;
1736
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString alinkColor;
1737
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
1849
+ [TreatNullAs=EmptyString] attribute DOMString fgColor;
1850
+ [TreatNullAs=EmptyString] attribute DOMString linkColor;
1851
+ [TreatNullAs=EmptyString] attribute DOMString vlinkColor;
1852
+ [TreatNullAs=EmptyString] attribute DOMString alinkColor;
1853
+ [TreatNullAs=EmptyString] attribute DOMString bgColor;
1738
1854
 
1739
1855
  [SameObject] readonly attribute HTMLCollection anchors;
1740
1856
  [SameObject] readonly attribute HTMLCollection applets;
@@ -1762,49 +1878,6 @@ interface External {
1762
1878
  };
1763
1879
 
1764
1880
 
1765
- Navigator implements NavigatorPlugins;
1766
-
1767
- [NoInterfaceObject]
1768
- interface NavigatorPlugins {
1769
- [SameObject] readonly attribute PluginArray plugins;
1770
- [SameObject] readonly attribute MimeTypeArray mimeTypes;
1771
- boolean javaEnabled();
1772
- };
1773
-
1774
-
1775
- interface PluginArray {
1776
- void refresh(optional boolean reload = false);
1777
- readonly attribute unsigned long length;
1778
- getter Plugin? item(unsigned long index);
1779
- getter Plugin? namedItem(DOMString name);
1780
- };
1781
-
1782
-
1783
- interface MimeTypeArray {
1784
- readonly attribute unsigned long length;
1785
- getter MimeType? item(unsigned long index);
1786
- getter MimeType? namedItem(DOMString name);
1787
- };
1788
-
1789
-
1790
- interface Plugin {
1791
- readonly attribute DOMString name;
1792
- readonly attribute DOMString description;
1793
- readonly attribute DOMString filename;
1794
- readonly attribute unsigned long length;
1795
- getter MimeType? item(unsigned long index);
1796
- getter MimeType? namedItem(DOMString name);
1797
- };
1798
-
1799
-
1800
- interface MimeType {
1801
- readonly attribute DOMString type;
1802
- readonly attribute DOMString description;
1803
- readonly attribute DOMString suffixes; // comma-separated
1804
- readonly attribute Plugin enabledPlugin;
1805
- };
1806
-
1807
-
1808
1881
  [LegacyUnenumerableNamedProperties]
1809
1882
  interface HTMLAllCollection {
1810
1883
  readonly attribute unsigned long length;
@@ -1831,29 +1904,34 @@ interface HTMLOptionsCollection : HTMLCollection {
1831
1904
  attribute long selectedIndex;
1832
1905
  };
1833
1906
 
1834
- interface DOMStringList {
1835
- readonly attribute unsigned long length;
1836
- getter DOMString? item(unsigned long index);
1837
- boolean contains(DOMString string);
1907
+ [OverrideBuiltins]
1908
+ interface DOMStringMap {
1909
+ getter DOMString (DOMString name);
1910
+ setter void (DOMString name, DOMString value);
1911
+ deleter void (DOMString name);
1838
1912
  };
1839
1913
 
1840
- enum DocumentReadyState { "loading", "interactive", "complete" };
1914
+ interface DOMElementMap {
1915
+ getter Element (DOMString name);
1916
+ setter creator void (DOMString name, Element value);
1917
+ deleter void (DOMString name);
1918
+ };
1841
1919
 
1842
- typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement;
1920
+ enum DocumentReadyState { "loading", "interactive", "complete" };
1843
1921
 
1844
1922
  [OverrideBuiltins]
1845
- partial interface Document {
1923
+ partial /*sealed*/ interface Document {
1846
1924
  // resource metadata management
1847
1925
  [PutForwards=href, Unforgeable] readonly attribute Location? location;
1848
- attribute USVString domain;
1849
- readonly attribute USVString referrer;
1850
- attribute USVString cookie;
1926
+ attribute DOMString domain;
1927
+ readonly attribute DOMString referrer;
1928
+ attribute DOMString cookie;
1851
1929
  readonly attribute DOMString lastModified;
1852
1930
  readonly attribute DocumentReadyState readyState;
1853
1931
 
1854
1932
  // DOM tree accessors
1855
1933
  getter object (DOMString name);
1856
- [CEReactions] attribute DOMString title;
1934
+ attribute DOMString title;
1857
1935
  attribute DOMString dir;
1858
1936
  attribute HTMLElement? body;
1859
1937
  readonly attribute HTMLHeadElement? head;
@@ -1864,21 +1942,21 @@ partial interface Document {
1864
1942
  [SameObject] readonly attribute HTMLCollection forms;
1865
1943
  [SameObject] readonly attribute HTMLCollection scripts;
1866
1944
  NodeList getElementsByName(DOMString elementName);
1867
- readonly attribute HTMLOrSVGScriptElement? currentScript; // classic scripts in a document tree only
1945
+ readonly attribute HTMLScriptElement? currentScript;
1868
1946
 
1869
1947
  // dynamic markup insertion
1870
1948
  Document open(optional DOMString type = "text/html", optional DOMString replace = "");
1871
1949
  WindowProxy open(DOMString url, DOMString name, DOMString features, optional boolean replace = false);
1872
- [CEReactions] void close();
1873
- [CEReactions] void write(DOMString... text);
1874
- [CEReactions] void writeln(DOMString... text);
1950
+ void close();
1951
+ void write(DOMString... text);
1952
+ void writeln(DOMString... text);
1875
1953
 
1876
1954
  // user interaction
1877
1955
  readonly attribute WindowProxy? defaultView;
1878
1956
  readonly attribute Element? activeElement;
1879
1957
  boolean hasFocus();
1880
- [CEReactions] attribute DOMString designMode;
1881
- [CEReactions] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
1958
+ attribute DOMString designMode;
1959
+ boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
1882
1960
  boolean queryCommandEnabled(DOMString commandId);
1883
1961
  boolean queryCommandIndeterm(DOMString commandId);
1884
1962
  boolean queryCommandState(DOMString commandId);
@@ -1891,41 +1969,37 @@ partial interface Document {
1891
1969
  Document implements GlobalEventHandlers;
1892
1970
  Document implements DocumentAndElementEventHandlers;
1893
1971
 
1894
- [HTMLConstructor]
1972
+ partial interface XMLDocument {
1973
+ boolean load(DOMString url);
1974
+ };
1975
+
1895
1976
  interface HTMLElement : Element {
1896
1977
  // metadata attributes
1897
- [CEReactions] attribute DOMString title;
1898
- [CEReactions] attribute DOMString lang;
1899
- [CEReactions] attribute boolean translate;
1900
- [CEReactions] attribute DOMString dir;
1978
+ attribute DOMString title;
1979
+ attribute DOMString lang;
1980
+ attribute boolean translate;
1981
+ attribute DOMString dir;
1901
1982
  [SameObject] readonly attribute DOMStringMap dataset;
1902
1983
 
1903
1984
  // user interaction
1904
- [CEReactions] attribute boolean hidden;
1985
+ attribute boolean hidden;
1905
1986
  void click();
1906
- [CEReactions] attribute long tabIndex;
1987
+ attribute long tabIndex;
1907
1988
  void focus();
1908
1989
  void blur();
1909
- [CEReactions] attribute DOMString accessKey;
1910
- [CEReactions] attribute boolean draggable;
1911
- [CEReactions] attribute boolean spellcheck;
1990
+ attribute DOMString accessKey;
1991
+ attribute boolean draggable;
1992
+ [PutForwards=value] readonly attribute DOMTokenList dropzone;
1993
+ attribute HTMLMenuElement? contextMenu;
1994
+ attribute boolean spellcheck;
1912
1995
  void forceSpellCheck();
1913
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString innerText;
1914
1996
  };
1915
1997
  HTMLElement implements GlobalEventHandlers;
1916
1998
  HTMLElement implements DocumentAndElementEventHandlers;
1917
1999
  HTMLElement implements ElementContentEditable;
1918
2000
 
1919
- // Note: intentionally not [HTMLConstructor]
1920
2001
  interface HTMLUnknownElement : HTMLElement { };
1921
2002
 
1922
- [OverrideBuiltins]
1923
- interface DOMStringMap {
1924
- getter DOMString (DOMString name);
1925
- [CEReactions] setter void (DOMString name, DOMString value);
1926
- [CEReactions] deleter void (DOMString name);
1927
- };
1928
-
1929
2003
  interface HTMLHtmlElement : HTMLElement {};
1930
2004
 
1931
2005
  interface HTMLHeadElement : HTMLElement {};
@@ -1940,19 +2014,17 @@ interface HTMLBaseElement : HTMLElement {
1940
2014
  };
1941
2015
 
1942
2016
  interface HTMLLinkElement : HTMLElement {
1943
- [CEReactions] attribute USVString href;
1944
- [CEReactions] attribute DOMString? crossOrigin;
1945
- [CEReactions] attribute DOMString rel;
1946
- [CEReactions] attribute DOMString rev;
1947
- [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
1948
- [CEReactions] attribute DOMString media;
1949
- [CEReactions] attribute DOMString nonce;
1950
- [CEReactions] attribute DOMString hreflang;
1951
- [CEReactions] attribute DOMString type;
1952
- [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList sizes;
1953
- [CEReactions] attribute DOMString referrerPolicy;
1954
- };
1955
- HTMLLinkElement implements LinkStyle;
2017
+ attribute DOMString href;
2018
+ attribute DOMString? crossOrigin;
2019
+ attribute DOMString rel;
2020
+ attribute DOMString rev;
2021
+ [SameObject, PutForwards=value]readonly attribute DOMTokenList relList;
2022
+ attribute DOMString media;
2023
+ attribute DOMString hreflang;
2024
+ attribute DOMString type;
2025
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes;
2026
+ };
2027
+ HTMLLinkElement implements LinkStyle;
1956
2028
 
1957
2029
  interface HTMLMetaElement : HTMLElement {
1958
2030
  attribute DOMString name;
@@ -2008,7 +2080,6 @@ interface HTMLAnchorElement : HTMLElement {
2008
2080
  attribute DOMString hreflang;
2009
2081
  attribute DOMString type;
2010
2082
  attribute DOMString text;
2011
- attribute DOMString referrerPolicy;
2012
2083
  };
2013
2084
  HTMLAnchorElement implements HTMLHyperlinkElementUtils;
2014
2085
 
@@ -2031,9 +2102,7 @@ interface HTMLModElement : HTMLElement {
2031
2102
 
2032
2103
  interface HTMLPictureElement : HTMLElement {};
2033
2104
 
2034
- interface HTMLSourceElement : HTMLElement {
2035
- attribute DOMString src;
2036
- attribute DOMString type;
2105
+ partial interface HTMLSourceElement {
2037
2106
  attribute DOMString srcset;
2038
2107
  attribute DOMString sizes;
2039
2108
  attribute DOMString media;
@@ -2047,7 +2116,6 @@ interface HTMLImageElement : HTMLElement {
2047
2116
  attribute DOMString sizes;
2048
2117
  attribute DOMString? crossOrigin;
2049
2118
  attribute DOMString useMap;
2050
- attribute DOMString longDesc;
2051
2119
  attribute boolean isMap;
2052
2120
  attribute unsigned long width;
2053
2121
  attribute unsigned long height;
@@ -2055,19 +2123,16 @@ interface HTMLImageElement : HTMLElement {
2055
2123
  readonly attribute unsigned long naturalHeight;
2056
2124
  readonly attribute boolean complete;
2057
2125
  readonly attribute DOMString currentSrc;
2058
- attribute DOMString referrerPolicy;
2059
2126
  };
2060
2127
 
2061
2128
  interface HTMLIFrameElement : HTMLElement {
2062
2129
  attribute DOMString src;
2063
2130
  attribute DOMString srcdoc;
2064
2131
  attribute DOMString name;
2065
- [SameObject, PutForwards=value] readonly attribute DOMTokenList sandbox;
2132
+ [PutForwards=value] readonly attribute DOMTokenList sandbox;
2066
2133
  attribute boolean allowFullscreen;
2067
- attribute boolean allowPaymentRequest;
2068
2134
  attribute DOMString width;
2069
2135
  attribute DOMString height;
2070
- attribute DOMString referrerPolicy;
2071
2136
  readonly attribute Document? contentDocument;
2072
2137
  readonly attribute WindowProxy? contentWindow;
2073
2138
  };
@@ -2117,6 +2182,11 @@ interface HTMLVideoElement : HTMLMediaElement {
2117
2182
  [NamedConstructor=Audio(optional DOMString src)]
2118
2183
  interface HTMLAudioElement : HTMLMediaElement {};
2119
2184
 
2185
+ interface HTMLSourceElement : HTMLElement {
2186
+ attribute DOMString src;
2187
+ attribute DOMString type;
2188
+ };
2189
+
2120
2190
  interface HTMLTrackElement : HTMLElement {
2121
2191
  attribute DOMString kind;
2122
2192
  attribute DOMString src;
@@ -2308,7 +2378,7 @@ interface TrackEvent : Event {
2308
2378
  };
2309
2379
 
2310
2380
  dictionary TrackEventInit : EventInit {
2311
- (VideoTrack or AudioTrack or TextTrack)? track = null;
2381
+ (VideoTrack or AudioTrack or TextTrack)? track;
2312
2382
  };
2313
2383
 
2314
2384
  interface HTMLMapElement : HTMLElement {
@@ -2324,10 +2394,9 @@ interface HTMLAreaElement : HTMLElement {
2324
2394
  attribute DOMString target;
2325
2395
  attribute DOMString download;
2326
2396
  attribute DOMString rel;
2327
- [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
2397
+ readonly attribute DOMTokenList relList;
2328
2398
  attribute DOMString hreflang;
2329
2399
  attribute DOMString type;
2330
- attribute DOMString referrerPolicy;
2331
2400
  };
2332
2401
  HTMLAreaElement implements HTMLHyperlinkElementUtils;
2333
2402
 
@@ -2393,7 +2462,7 @@ interface HTMLTableHeaderCellElement : HTMLTableCellElement {
2393
2462
  interface HTMLTableCellElement : HTMLElement {
2394
2463
  attribute unsigned long colSpan;
2395
2464
  attribute unsigned long rowSpan;
2396
- [SameObject, PutForwards=value] readonly attribute DOMTokenList headers;
2465
+ [PutForwards=value] readonly attribute DOMTokenList headers;
2397
2466
  readonly attribute long cellIndex;
2398
2467
  };
2399
2468
 
@@ -2444,6 +2513,7 @@ interface HTMLInputElement : HTMLElement {
2444
2513
  attribute DOMString formTarget;
2445
2514
  attribute unsigned long height;
2446
2515
  attribute boolean indeterminate;
2516
+ attribute DOMString inputMode;
2447
2517
  readonly attribute HTMLElement? list;
2448
2518
  attribute DOMString max;
2449
2519
  attribute long maxLength;
@@ -2454,7 +2524,7 @@ interface HTMLInputElement : HTMLElement {
2454
2524
  attribute DOMString pattern;
2455
2525
  attribute DOMString placeholder;
2456
2526
  attribute boolean readOnly;
2457
- attribute boolean _required;
2527
+ attribute boolean required;
2458
2528
  attribute unsigned long size;
2459
2529
  attribute DOMString src;
2460
2530
  attribute DOMString step;
@@ -2478,9 +2548,9 @@ interface HTMLInputElement : HTMLElement {
2478
2548
  [SameObject] readonly attribute NodeList labels;
2479
2549
 
2480
2550
  void select();
2481
- attribute unsigned long? selectionStart;
2482
- attribute unsigned long? selectionEnd;
2483
- attribute DOMString? selectionDirection;
2551
+ attribute unsigned long selectionStart;
2552
+ attribute unsigned long selectionEnd;
2553
+ attribute DOMString selectionDirection;
2484
2554
  void setRangeText(DOMString replacement);
2485
2555
  void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
2486
2556
  void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
@@ -2498,6 +2568,7 @@ interface HTMLButtonElement : HTMLElement {
2498
2568
  attribute DOMString name;
2499
2569
  attribute DOMString type;
2500
2570
  attribute DOMString value;
2571
+ attribute HTMLMenuElement? menu;
2501
2572
 
2502
2573
  readonly attribute boolean willValidate;
2503
2574
  readonly attribute ValidityState validity;
@@ -2516,7 +2587,7 @@ interface HTMLSelectElement : HTMLElement {
2516
2587
  readonly attribute HTMLFormElement? form;
2517
2588
  attribute boolean multiple;
2518
2589
  attribute DOMString name;
2519
- attribute boolean _required;
2590
+ attribute boolean required;
2520
2591
  attribute unsigned long size;
2521
2592
 
2522
2593
  readonly attribute DOMString type;
@@ -2573,12 +2644,13 @@ interface HTMLTextAreaElement : HTMLElement {
2573
2644
  attribute DOMString dirName;
2574
2645
  attribute boolean disabled;
2575
2646
  readonly attribute HTMLFormElement? form;
2647
+ attribute DOMString inputMode;
2576
2648
  attribute long maxLength;
2577
2649
  attribute long minLength;
2578
2650
  attribute DOMString name;
2579
2651
  attribute DOMString placeholder;
2580
2652
  attribute boolean readOnly;
2581
- attribute boolean _required;
2653
+ attribute boolean required;
2582
2654
  attribute unsigned long rows;
2583
2655
  attribute DOMString wrap;
2584
2656
 
@@ -2597,14 +2669,34 @@ interface HTMLTextAreaElement : HTMLElement {
2597
2669
  [SameObject] readonly attribute NodeList labels;
2598
2670
 
2599
2671
  void select();
2600
- attribute unsigned long? selectionStart;
2601
- attribute unsigned long? selectionEnd;
2602
- attribute DOMString? selectionDirection;
2672
+ attribute unsigned long selectionStart;
2673
+ attribute unsigned long selectionEnd;
2674
+ attribute DOMString selectionDirection;
2603
2675
  void setRangeText(DOMString replacement);
2604
2676
  void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
2605
2677
  void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
2606
2678
  };
2607
2679
 
2680
+ interface HTMLKeygenElement : HTMLElement {
2681
+ attribute boolean autofocus;
2682
+ attribute DOMString challenge;
2683
+ attribute boolean disabled;
2684
+ readonly attribute HTMLFormElement? form;
2685
+ attribute DOMString keytype;
2686
+ attribute DOMString name;
2687
+
2688
+ readonly attribute DOMString type;
2689
+
2690
+ readonly attribute boolean willValidate;
2691
+ readonly attribute ValidityState validity;
2692
+ readonly attribute DOMString validationMessage;
2693
+ boolean checkValidity();
2694
+ boolean reportValidity();
2695
+ void setCustomValidity(DOMString error);
2696
+
2697
+ [SameObject] readonly attribute NodeList labels;
2698
+ };
2699
+
2608
2700
  interface HTMLOutputElement : HTMLElement {
2609
2701
  [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor;
2610
2702
  readonly attribute HTMLFormElement? form;
@@ -2687,12 +2779,28 @@ interface HTMLDetailsElement : HTMLElement {
2687
2779
  attribute boolean open;
2688
2780
  };
2689
2781
 
2690
- interface HTMLDialogElement : HTMLElement {
2691
- attribute boolean open;
2692
- attribute DOMString returnValue;
2693
- void show(optional (MouseEvent or Element) anchor);
2694
- void showModal(optional (MouseEvent or Element) anchor);
2695
- void close(optional DOMString returnValue);
2782
+ interface HTMLMenuElement : HTMLElement {
2783
+ attribute DOMString type;
2784
+ attribute DOMString label;
2785
+ };
2786
+
2787
+ interface HTMLMenuItemElement : HTMLElement {
2788
+ attribute DOMString type;
2789
+ attribute DOMString label;
2790
+ attribute DOMString icon;
2791
+ attribute boolean disabled;
2792
+ attribute boolean checked;
2793
+ attribute DOMString radiogroup;
2794
+ attribute boolean default;
2795
+ };
2796
+
2797
+ [Constructor(DOMString type, optional RelatedEventInit eventInitDict)]
2798
+ interface RelatedEvent : Event {
2799
+ readonly attribute EventTarget? relatedTarget;
2800
+ };
2801
+
2802
+ dictionary RelatedEventInit : EventInit {
2803
+ EventTarget? relatedTarget;
2696
2804
  };
2697
2805
 
2698
2806
  interface HTMLScriptElement : HTMLElement {
@@ -2706,8 +2814,6 @@ interface HTMLScriptElement : HTMLElement {
2706
2814
  attribute DOMString nonce;
2707
2815
  };
2708
2816
 
2709
- [Exposed=Window,
2710
- HTMLConstructor]
2711
2817
  interface HTMLTemplateElement : HTMLElement {
2712
2818
  readonly attribute DocumentFragment content;
2713
2819
  };
@@ -2808,9 +2914,6 @@ readonly attribute Element? frameElement;
2808
2914
  WindowProxy open(optional DOMString url = "about:blank", optional DOMString target = "_blank", [TreatNullAs=EmptyString] optional DOMString features = "", optional boolean replace = false);
2809
2915
  getter WindowProxy (unsigned long index);
2810
2916
  getter object (DOMString name);
2811
- // Since this is the global object, the IDL named getter adds a NamedPropertiesObject exotic
2812
- // object on the prototype chain. Indeed, this does not make the global object an exotic object.
2813
- // Indexed access is taken care of by the WindowProxy exotic object.
2814
2917
 
2815
2918
  // the user agent
2816
2919
  readonly attribute Navigator navigator;
@@ -2821,6 +2924,7 @@ void alert(DOMString message);
2821
2924
  boolean confirm(optional DOMString message = "");
2822
2925
  DOMString? prompt(optional DOMString message = "", optional DOMString default = "");
2823
2926
  void print();
2927
+ any showModalDialog(DOMString url, optional any argument); // deprecated
2824
2928
 
2825
2929
  unsigned long requestAnimationFrame(FrameRequestCallback callback);
2826
2930
  void cancelAnimationFrame(unsigned long handle);
@@ -2847,22 +2951,23 @@ interface History {
2847
2951
  void replaceState(any data, DOMString title, optional DOMString? url = null);
2848
2952
  };
2849
2953
 
2954
+ [Unforgeable]
2850
2955
  interface Location {
2851
- [Unforgeable] stringifier attribute USVString href;
2852
- [Unforgeable] readonly attribute USVString origin;
2853
- [Unforgeable] attribute USVString protocol;
2854
- [Unforgeable] attribute USVString host;
2855
- [Unforgeable] attribute USVString hostname;
2856
- [Unforgeable] attribute USVString port;
2857
- [Unforgeable] attribute USVString pathname;
2858
- [Unforgeable] attribute USVString search;
2859
- [Unforgeable] attribute USVString hash;
2956
+ stringifier attribute USVString href;
2957
+ readonly attribute USVString origin;
2958
+ attribute USVString protocol;
2959
+ attribute USVString host;
2960
+ attribute USVString hostname;
2961
+ attribute USVString port;
2962
+ attribute USVString pathname;
2963
+ attribute USVString search;
2964
+ attribute USVString hash;
2860
2965
 
2861
- [Unforgeable] void assign(USVString url);
2862
- [Unforgeable] void replace(USVString url);
2863
- [Unforgeable] void reload();
2966
+ void assign(USVString url);
2967
+ void replace(USVString url);
2968
+ void reload();
2864
2969
 
2865
- [Unforgeable, SameObject] readonly attribute USVString[] ancestorOrigins;
2970
+ [SameObject] readonly attribute USVString[] ancestorOrigins;
2866
2971
  };
2867
2972
 
2868
2973
  [Constructor(DOMString type, optional PopStateEventInit eventInitDict), Exposed=(Window,Worker)]
@@ -2871,18 +2976,18 @@ interface PopStateEvent : Event {
2871
2976
  };
2872
2977
 
2873
2978
  dictionary PopStateEventInit : EventInit {
2874
- any state = null;
2979
+ any state;
2875
2980
  };
2876
2981
 
2877
2982
  [Constructor(DOMString type, optional HashChangeEventInit eventInitDict), Exposed=(Window,Worker)]
2878
2983
  interface HashChangeEvent : Event {
2879
- readonly attribute USVString oldURL;
2880
- readonly attribute USVString newURL;
2984
+ readonly attribute DOMString oldURL;
2985
+ readonly attribute DOMString newURL;
2881
2986
  };
2882
2987
 
2883
2988
  dictionary HashChangeEventInit : EventInit {
2884
- USVString oldURL = "";
2885
- USVString newURL = "";
2989
+ DOMString oldURL;
2990
+ DOMString newURL;
2886
2991
  };
2887
2992
 
2888
2993
  [Constructor(DOMString type, optional PageTransitionEventInit eventInitDict), Exposed=(Window,Worker)]
@@ -2891,7 +2996,7 @@ interface PageTransitionEvent : Event {
2891
2996
  };
2892
2997
 
2893
2998
  dictionary PageTransitionEventInit : EventInit {
2894
- boolean persisted = false;
2999
+ boolean persisted;
2895
3000
  };
2896
3001
 
2897
3002
  interface BeforeUnloadEvent : Event {
@@ -2953,6 +3058,7 @@ interface GlobalEventHandlers {
2953
3058
  attribute EventHandler onchange;
2954
3059
  attribute EventHandler onclick;
2955
3060
  attribute EventHandler onclose;
3061
+ attribute EventHandler oncontextmenu;
2956
3062
  attribute EventHandler oncuechange;
2957
3063
  attribute EventHandler ondblclick;
2958
3064
  attribute EventHandler ondrag;
@@ -3032,28 +3138,29 @@ interface DocumentAndElementEventHandlers {
3032
3138
  attribute EventHandler onpaste;
3033
3139
  };
3034
3140
 
3035
- typedef (DOMString or Function) TimerHandler;
3036
-
3037
3141
  [NoInterfaceObject, Exposed=(Window, Worker)]
3038
- interface WindowOrWorkerGlobalScope {
3039
- [Replaceable] readonly attribute USVString origin;
3040
-
3041
- // Base64 utility methods (WindowBase64)
3142
+ interface WindowBase64 {
3042
3143
  DOMString btoa(DOMString btoa);
3043
3144
  DOMString atob(DOMString atob);
3145
+ };
3146
+ Window implements WindowBase64;
3147
+ WorkerGlobalScope implements WindowBase64;
3044
3148
 
3045
- // Timers (WindowTimers)
3149
+ [NoInterfaceObject, Exposed=(Window,Worker)]
3150
+ interface WindowTimers {
3046
3151
  long setTimeout((Function or DOMString) handler, optional long timeout = 0, any... arguments);
3047
3152
  void clearTimeout(optional long handle = 0);
3048
3153
  long setInterval((Function or DOMString) handler, optional long timeout = 0, any... arguments);
3049
3154
  void clearInterval(optional long handle = 0);
3155
+ };
3156
+ Window implements WindowTimers;
3157
+ WorkerGlobalScope implements WindowTimers;
3050
3158
 
3051
- // ImageBitmap, Images (ImageBitmapFactories)
3052
- Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image);
3053
- Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, long sx, long sy, long sw, long sh);
3159
+ [NoInterfaceObject]
3160
+ interface WindowModal {
3161
+ readonly attribute any dialogArguments;
3162
+ attribute any returnValue;
3054
3163
  };
3055
- Window implements WindowOrWorkerGlobalScope;
3056
- WorkerGlobalScope implements WindowOrWorkerGlobalScope;
3057
3164
 
3058
3165
  interface Navigator {
3059
3166
  // objects implementing this interface also implement the interfaces given below
@@ -3063,6 +3170,7 @@ Navigator implements NavigatorLanguage;
3063
3170
  Navigator implements NavigatorOnLine;
3064
3171
  Navigator implements NavigatorContentUtils;
3065
3172
  Navigator implements NavigatorCookies;
3173
+ Navigator implements NavigatorPlugins;
3066
3174
 
3067
3175
  [NoInterfaceObject, Exposed=(Window, Worker)]
3068
3176
  interface NavigatorID {
@@ -3084,11 +3192,7 @@ interface NavigatorLanguage {
3084
3192
  interface NavigatorContentUtils {
3085
3193
  // content handler registration
3086
3194
  void registerProtocolHandler(DOMString scheme, DOMString url, DOMString title);
3087
- void registerContentHandler(DOMString mimeType, DOMString url, DOMString title);
3088
- DOMString isProtocolHandlerRegistered(DOMString scheme, DOMString url);
3089
- DOMString isContentHandlerRegistered(DOMString mimeType, DOMString url);
3090
3195
  void unregisterProtocolHandler(DOMString scheme, DOMString url);
3091
- void unregisterContentHandler(DOMString mimeType, DOMString url);
3092
3196
  };
3093
3197
 
3094
3198
  [NoInterfaceObject]
@@ -3096,7 +3200,43 @@ interface NavigatorCookies {
3096
3200
  readonly attribute boolean cookieEnabled;
3097
3201
  };
3098
3202
 
3099
- [Exposed=(Window, Worker), Serializable, Transferable]
3203
+ [NoInterfaceObject]
3204
+ interface NavigatorPlugins {
3205
+ [SameObject] readonly attribute PluginArray plugins;
3206
+ [SameObject] readonly attribute MimeTypeArray mimeTypes;
3207
+ boolean javaEnabled();
3208
+ };
3209
+
3210
+ interface PluginArray {
3211
+ void refresh(optional boolean reload = false);
3212
+ readonly attribute unsigned long length;
3213
+ getter Plugin? item(unsigned long index);
3214
+ getter Plugin? namedItem(DOMString name);
3215
+ };
3216
+
3217
+ interface MimeTypeArray {
3218
+ readonly attribute unsigned long length;
3219
+ getter MimeType? item(unsigned long index);
3220
+ getter MimeType? namedItem(DOMString name);
3221
+ };
3222
+
3223
+ interface Plugin {
3224
+ readonly attribute DOMString name;
3225
+ readonly attribute DOMString description;
3226
+ readonly attribute DOMString filename;
3227
+ readonly attribute unsigned long length;
3228
+ getter MimeType? item(unsigned long index);
3229
+ getter MimeType? namedItem(DOMString name);
3230
+ };
3231
+
3232
+ interface MimeType {
3233
+ readonly attribute DOMString type;
3234
+ readonly attribute DOMString description;
3235
+ readonly attribute DOMString suffixes; // comma-separated
3236
+ readonly attribute Plugin enabledPlugin;
3237
+ };
3238
+
3239
+ [Exposed=(Window, Worker)]
3100
3240
  interface ImageBitmap {
3101
3241
  readonly attribute unsigned long width;
3102
3242
  readonly attribute unsigned long height;
@@ -3110,34 +3250,40 @@ typedef (HTMLImageElement or
3110
3250
  CanvasRenderingContext2D or
3111
3251
  ImageBitmap) ImageBitmapSource;
3112
3252
 
3113
- // Note: intentionally not [HTMLConstructor]
3253
+ [NoInterfaceObject, Exposed=(Window, Worker)]
3254
+ interface ImageBitmapFactories {
3255
+ Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image);
3256
+ Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, long sx, long sy, long sw, long sh);
3257
+ };
3258
+ Window implements ImageBitmapFactories;
3259
+ WorkerGlobalScope implements ImageBitmapFactories;
3260
+
3114
3261
  interface HTMLAppletElement : HTMLElement {
3115
3262
  attribute DOMString align;
3116
3263
  attribute DOMString alt;
3117
3264
  attribute DOMString archive;
3118
3265
  attribute DOMString code;
3119
- attribute USVString codeBase;
3266
+ attribute DOMString codeBase;
3120
3267
  attribute DOMString height;
3121
3268
  attribute unsigned long hspace;
3122
3269
  attribute DOMString name;
3123
- attribute USVString _object; // the underscore is not part of the identifier
3270
+ attribute DOMString _object; // the underscore is not part of the identifier
3124
3271
  attribute unsigned long vspace;
3125
3272
  attribute DOMString width;
3126
3273
  };
3127
3274
 
3128
- [HTMLConstructor]
3129
3275
  interface HTMLMarqueeElement : HTMLElement {
3130
- [CEReactions] attribute DOMString behavior;
3131
- [CEReactions] attribute DOMString bgColor;
3132
- [CEReactions] attribute DOMString direction;
3133
- [CEReactions] attribute DOMString height;
3134
- [CEReactions] attribute unsigned long hspace;
3135
- [CEReactions] attribute long loop;
3136
- [CEReactions] attribute unsigned long scrollAmount;
3137
- [CEReactions] attribute unsigned long scrollDelay;
3138
- [CEReactions] attribute boolean trueSpeed;
3139
- [CEReactions] attribute unsigned long vspace;
3140
- [CEReactions] attribute DOMString width;
3276
+ attribute DOMString behavior;
3277
+ attribute DOMString bgColor;
3278
+ attribute DOMString direction;
3279
+ attribute DOMString height;
3280
+ attribute unsigned long hspace;
3281
+ attribute long loop;
3282
+ attribute unsigned long scrollAmount;
3283
+ attribute unsigned long scrollDelay;
3284
+ attribute boolean trueSpeed;
3285
+ attribute unsigned long vspace;
3286
+ attribute DOMString width;
3141
3287
 
3142
3288
  attribute EventHandler onbounce;
3143
3289
  attribute EventHandler onfinish;
@@ -3147,240 +3293,267 @@ interface HTMLMarqueeElement : HTMLElement {
3147
3293
  void stop();
3148
3294
  };
3149
3295
 
3150
- [HTMLConstructor]
3151
3296
  interface HTMLFrameSetElement : HTMLElement {
3152
- [CEReactions] attribute DOMString cols;
3153
- [CEReactions] attribute DOMString rows;
3297
+ attribute DOMString cols;
3298
+ attribute DOMString rows;
3154
3299
  };
3155
3300
  HTMLFrameSetElement implements WindowEventHandlers;
3156
3301
 
3157
- [HTMLConstructor]
3158
3302
  interface HTMLFrameElement : HTMLElement {
3159
- [CEReactions] attribute DOMString name;
3160
- [CEReactions] attribute DOMString scrolling;
3161
- [CEReactions] attribute USVString src;
3162
- [CEReactions] attribute DOMString frameBorder;
3163
- [CEReactions] attribute USVString longDesc;
3164
- [CEReactions] attribute boolean noResize;
3303
+ attribute DOMString name;
3304
+ attribute DOMString scrolling;
3305
+ attribute DOMString src;
3306
+ attribute DOMString frameBorder;
3307
+ attribute boolean noResize;
3165
3308
  readonly attribute Document? contentDocument;
3166
3309
  readonly attribute WindowProxy? contentWindow;
3167
3310
 
3168
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginHeight;
3169
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginWidth;
3311
+ [TreatNullAs=EmptyString] attribute DOMString marginHeight;
3312
+ [TreatNullAs=EmptyString] attribute DOMString marginWidth;
3313
+ };
3314
+
3315
+ [Exposed=(Window, SharedWorker)]
3316
+ interface ApplicationCache : EventTarget {
3317
+ // update status
3318
+ const unsigned short UNCACHED = 0;
3319
+ const unsigned short IDLE = 1;
3320
+ const unsigned short CHECKING = 2;
3321
+ const unsigned short DOWNLOADING = 3;
3322
+ const unsigned short UPDATEREADY = 4;
3323
+ const unsigned short OBSOLETE = 5;
3324
+ readonly attribute unsigned short status;
3325
+
3326
+ // updates
3327
+ void update();
3328
+ void abort();
3329
+ void swapCache();
3330
+
3331
+ // events
3332
+ attribute EventHandler onchecking;
3333
+ attribute EventHandler onerror;
3334
+ attribute EventHandler onnoupdate;
3335
+ attribute EventHandler ondownloading;
3336
+ attribute EventHandler onprogress;
3337
+ attribute EventHandler onupdateready;
3338
+ attribute EventHandler oncached;
3339
+ attribute EventHandler onobsolete;
3170
3340
  };
3171
3341
 
3172
3342
  partial interface HTMLAnchorElement {
3173
- [CEReactions] attribute DOMString coords;
3174
- [CEReactions] attribute DOMString charset;
3175
- [CEReactions] attribute DOMString name;
3176
- [CEReactions] attribute DOMString shape;
3343
+ attribute DOMString coords;
3344
+ attribute DOMString charset;
3345
+ attribute DOMString name;
3346
+ attribute DOMString shape;
3177
3347
  };
3178
3348
 
3179
3349
  partial interface HTMLAreaElement {
3180
- [CEReactions] attribute boolean noHref;
3350
+ attribute boolean noHref;
3181
3351
  };
3182
3352
 
3183
3353
  partial interface HTMLBodyElement {
3184
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString text;
3185
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString link;
3186
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString vLink;
3187
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString aLink;
3188
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
3354
+ [TreatNullAs=EmptyString] attribute DOMString text;
3355
+ [TreatNullAs=EmptyString] attribute DOMString link;
3356
+ [TreatNullAs=EmptyString] attribute DOMString vLink;
3357
+ [TreatNullAs=EmptyString] attribute DOMString aLink;
3358
+ [TreatNullAs=EmptyString] attribute DOMString bgColor;
3189
3359
  attribute DOMString background;
3190
3360
  };
3191
3361
 
3192
3362
  partial interface HTMLBRElement {
3193
- [CEReactions] attribute DOMString clear;
3363
+ attribute DOMString clear;
3194
3364
  };
3195
3365
 
3196
3366
  partial interface HTMLTableCaptionElement {
3197
- [CEReactions] attribute DOMString align;
3367
+ attribute DOMString align;
3198
3368
  };
3199
3369
 
3200
3370
  partial interface HTMLTableColElement {
3201
- [CEReactions] attribute DOMString align;
3202
- [CEReactions] attribute DOMString ch;
3203
- [CEReactions] attribute DOMString chOff;
3204
- [CEReactions] attribute DOMString vAlign;
3205
- [CEReactions] attribute DOMString width;
3371
+ attribute DOMString align;
3372
+ attribute DOMString ch;
3373
+ attribute DOMString chOff;
3374
+ attribute DOMString vAlign;
3375
+ attribute DOMString width;
3206
3376
  };
3207
3377
 
3208
- [HTMLConstructor]
3209
3378
  interface HTMLDirectoryElement : HTMLElement {
3210
- [CEReactions] attribute boolean compact;
3379
+ attribute boolean compact;
3211
3380
  };
3212
3381
 
3213
3382
  partial interface HTMLDivElement {
3214
- [CEReactions] attribute DOMString align;
3383
+ attribute DOMString align;
3215
3384
  };
3216
3385
 
3217
3386
  partial interface HTMLDListElement {
3218
- [CEReactions] attribute boolean compact;
3387
+ attribute boolean compact;
3219
3388
  };
3220
3389
 
3221
3390
  partial interface HTMLEmbedElement {
3222
- [CEReactions] attribute DOMString align;
3223
- [CEReactions] attribute DOMString name;
3391
+ attribute DOMString align;
3392
+ attribute DOMString name;
3224
3393
  };
3225
3394
 
3226
- [HTMLConstructor]
3227
3395
  interface HTMLFontElement : HTMLElement {
3228
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString color;
3229
- [CEReactions] attribute DOMString face;
3230
- [CEReactions] attribute DOMString size;
3396
+ [TreatNullAs=EmptyString] attribute DOMString color;
3397
+ attribute DOMString face;
3398
+ attribute DOMString size;
3231
3399
  };
3232
3400
 
3233
3401
  partial interface HTMLHeadingElement {
3234
- [CEReactions] attribute DOMString align;
3402
+ attribute DOMString align;
3235
3403
  };
3236
3404
 
3237
3405
  partial interface HTMLHRElement {
3238
- [CEReactions] attribute DOMString align;
3239
- [CEReactions] attribute DOMString color;
3240
- [CEReactions] attribute boolean noShade;
3241
- [CEReactions] attribute DOMString size;
3242
- [CEReactions] attribute DOMString width;
3406
+ attribute DOMString align;
3407
+ attribute DOMString color;
3408
+ attribute boolean noShade;
3409
+ attribute DOMString size;
3410
+ attribute DOMString width;
3243
3411
  };
3244
3412
 
3245
3413
  partial interface HTMLHtmlElement {
3246
- [CEReactions] attribute DOMString version;
3414
+ attribute DOMString version;
3247
3415
  };
3248
3416
 
3249
3417
  partial interface HTMLIFrameElement {
3250
- [CEReactions] attribute DOMString align;
3251
- [CEReactions] attribute DOMString scrolling;
3252
- [CEReactions] attribute DOMString frameBorder;
3253
- [CEReactions] attribute USVString longDesc;
3254
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginHeight;
3255
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginWidth;
3418
+ attribute DOMString align;
3419
+ attribute DOMString scrolling;
3420
+ attribute DOMString frameBorder;
3421
+
3422
+ [TreatNullAs=EmptyString] attribute DOMString marginHeight;
3423
+ [TreatNullAs=EmptyString] attribute DOMString marginWidth;
3256
3424
  };
3257
3425
 
3258
3426
  partial interface HTMLImageElement {
3259
- [CEReactions] attribute DOMString name;
3260
- [CEReactions] attribute USVString lowsrc;
3261
- [CEReactions] attribute DOMString align;
3262
- [CEReactions] attribute unsigned long hspace;
3263
- [CEReactions] attribute unsigned long vspace;
3427
+ attribute DOMString name;
3428
+ attribute DOMString lowsrc;
3429
+ attribute DOMString align;
3430
+ attribute unsigned long hspace;
3431
+ attribute unsigned long vspace;
3264
3432
 
3265
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString border;
3433
+ [TreatNullAs=EmptyString] attribute DOMString border;
3266
3434
  };
3267
3435
 
3268
3436
  partial interface HTMLInputElement {
3269
- [CEReactions] attribute DOMString align;
3270
- [CEReactions] attribute DOMString useMap;
3437
+ attribute DOMString align;
3438
+ attribute DOMString useMap;
3271
3439
  };
3272
3440
 
3273
3441
  partial interface HTMLLegendElement {
3274
- [CEReactions] attribute DOMString align;
3442
+ attribute DOMString align;
3275
3443
  };
3276
3444
 
3277
3445
  partial interface HTMLLIElement {
3278
- [CEReactions] attribute DOMString type;
3446
+ attribute DOMString type;
3279
3447
  };
3280
3448
 
3281
3449
  partial interface HTMLLinkElement {
3282
- [CEReactions] attribute DOMString charset;
3283
- [CEReactions] attribute DOMString target;
3450
+ attribute DOMString charset;
3451
+ attribute DOMString target;
3284
3452
  };
3285
3453
 
3286
3454
  partial interface HTMLMenuElement {
3287
- [CEReactions] attribute boolean compact;
3455
+ attribute boolean compact;
3288
3456
  };
3289
3457
 
3290
3458
  partial interface HTMLMetaElement {
3291
- [CEReactions] attribute DOMString scheme;
3459
+ attribute DOMString scheme;
3292
3460
  };
3293
3461
 
3294
3462
  partial interface HTMLObjectElement {
3295
- [CEReactions] attribute DOMString align;
3296
- [CEReactions] attribute DOMString archive;
3297
- [CEReactions] attribute DOMString code;
3298
- [CEReactions] attribute boolean declare;
3299
- [CEReactions] attribute unsigned long hspace;
3300
- [CEReactions] attribute DOMString standby;
3301
- [CEReactions] attribute unsigned long vspace;
3302
- [CEReactions] attribute DOMString codeBase;
3303
- [CEReactions] attribute DOMString codeType;
3463
+ attribute DOMString align;
3464
+ attribute DOMString archive;
3465
+ attribute DOMString code;
3466
+ attribute boolean declare;
3467
+ attribute unsigned long hspace;
3468
+ attribute DOMString standby;
3469
+ attribute unsigned long vspace;
3470
+ attribute DOMString codeBase;
3471
+ attribute DOMString codeType;
3472
+ attribute DOMString useMap;
3304
3473
 
3305
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString border;
3474
+ [TreatNullAs=EmptyString] attribute DOMString border;
3306
3475
  };
3307
3476
 
3308
3477
  partial interface HTMLOListElement {
3309
- [CEReactions] attribute boolean compact;
3478
+ attribute boolean compact;
3310
3479
  };
3311
3480
 
3312
3481
  partial interface HTMLParagraphElement {
3313
- [CEReactions] attribute DOMString align;
3482
+ attribute DOMString align;
3314
3483
  };
3315
3484
 
3316
3485
  partial interface HTMLParamElement {
3317
- [CEReactions] attribute DOMString type;
3318
- [CEReactions] attribute DOMString valueType;
3486
+ attribute DOMString type;
3487
+ attribute DOMString valueType;
3319
3488
  };
3320
3489
 
3321
3490
  partial interface HTMLPreElement {
3322
- [CEReactions] attribute long width;
3491
+ attribute long width;
3323
3492
  };
3324
3493
 
3325
3494
  partial interface HTMLScriptElement {
3326
- [CEReactions] attribute DOMString event;
3327
- [CEReactions] attribute DOMString htmlFor;
3495
+ attribute DOMString event;
3496
+ attribute DOMString htmlFor;
3328
3497
  };
3329
3498
 
3330
3499
  partial interface HTMLTableElement {
3331
- [CEReactions] attribute DOMString align;
3332
- [CEReactions] attribute DOMString border;
3333
- [CEReactions] attribute DOMString frame;
3334
- [CEReactions] attribute DOMString rules;
3335
- [CEReactions] attribute DOMString summary;
3336
- [CEReactions] attribute DOMString width;
3500
+ attribute DOMString align;
3501
+ attribute DOMString border;
3502
+ attribute DOMString frame;
3503
+ attribute DOMString rules;
3504
+ attribute DOMString summary;
3505
+ attribute DOMString width;
3337
3506
 
3338
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
3339
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString cellPadding;
3340
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString cellSpacing;
3507
+ [TreatNullAs=EmptyString] attribute DOMString bgColor;
3508
+ [TreatNullAs=EmptyString] attribute DOMString cellPadding;
3509
+ [TreatNullAs=EmptyString] attribute DOMString cellSpacing;
3341
3510
  };
3342
3511
 
3343
3512
  partial interface HTMLTableSectionElement {
3344
- [CEReactions] attribute DOMString align;
3345
- [CEReactions] attribute DOMString ch;
3346
- [CEReactions] attribute DOMString chOff;
3347
- [CEReactions] attribute DOMString vAlign;
3513
+ attribute DOMString align;
3514
+ attribute DOMString ch;
3515
+ attribute DOMString chOff;
3516
+ attribute DOMString vAlign;
3348
3517
  };
3349
3518
 
3350
3519
  partial interface HTMLTableCellElement {
3351
- [CEReactions] attribute DOMString align;
3352
- [CEReactions] attribute DOMString axis;
3353
- [CEReactions] attribute DOMString height;
3354
- [CEReactions] attribute DOMString width;
3520
+ attribute DOMString align;
3521
+ attribute DOMString axis;
3522
+ attribute DOMString height;
3523
+ attribute DOMString width;
3524
+
3525
+ attribute DOMString ch;
3526
+ attribute DOMString chOff;
3527
+ attribute boolean noWrap;
3528
+ attribute DOMString vAlign;
3355
3529
 
3356
- [CEReactions] attribute DOMString ch;
3357
- [CEReactions] attribute DOMString chOff;
3358
- [CEReactions] attribute boolean noWrap;
3359
- [CEReactions] attribute DOMString vAlign;
3530
+ [TreatNullAs=EmptyString] attribute DOMString bgColor;
3531
+ };
3360
3532
 
3361
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
3533
+ partial interface HTMLTableDataCellElement {
3534
+ attribute DOMString abbr;
3362
3535
  };
3363
3536
 
3364
3537
  partial interface HTMLTableRowElement {
3365
- [CEReactions] attribute DOMString align;
3366
- [CEReactions] attribute DOMString ch;
3367
- [CEReactions] attribute DOMString chOff;
3368
- [CEReactions] attribute DOMString vAlign;
3538
+ attribute DOMString align;
3539
+ attribute DOMString ch;
3540
+ attribute DOMString chOff;
3541
+ attribute DOMString vAlign;
3369
3542
 
3370
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
3543
+ [TreatNullAs=EmptyString] attribute DOMString bgColor;
3371
3544
  };
3372
3545
 
3373
3546
  partial interface HTMLUListElement {
3374
- [CEReactions] attribute boolean compact;
3375
- [CEReactions] attribute DOMString type;
3547
+ attribute boolean compact;
3548
+ attribute DOMString type;
3376
3549
  };
3377
3550
 
3378
3551
  partial interface Document {
3379
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString fgColor;
3380
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString linkColor;
3381
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString vlinkColor;
3382
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString alinkColor;
3383
- [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor;
3552
+ [TreatNullAs=EmptyString] attribute DOMString fgColor;
3553
+ [TreatNullAs=EmptyString] attribute DOMString linkColor;
3554
+ [TreatNullAs=EmptyString] attribute DOMString vlinkColor;
3555
+ [TreatNullAs=EmptyString] attribute DOMString alinkColor;
3556
+ [TreatNullAs=EmptyString] attribute DOMString bgColor;
3384
3557
 
3385
3558
  [SameObject] readonly attribute HTMLCollection anchors;
3386
3559
  [SameObject] readonly attribute HTMLCollection applets;
@@ -3405,41 +3578,3 @@ interface External {
3405
3578
  void IsSearchProviderInstalled();
3406
3579
  };
3407
3580
 
3408
- Navigator implements NavigatorPlugins;
3409
-
3410
- [NoInterfaceObject]
3411
- interface NavigatorPlugins {
3412
- [SameObject] readonly attribute PluginArray plugins;
3413
- [SameObject] readonly attribute MimeTypeArray mimeTypes;
3414
- boolean javaEnabled();
3415
- };
3416
-
3417
- interface PluginArray {
3418
- void refresh(optional boolean reload = false);
3419
- readonly attribute unsigned long length;
3420
- getter Plugin? item(unsigned long index);
3421
- getter Plugin? namedItem(DOMString name);
3422
- };
3423
-
3424
- interface MimeTypeArray {
3425
- readonly attribute unsigned long length;
3426
- getter MimeType? item(unsigned long index);
3427
- getter MimeType? namedItem(DOMString name);
3428
- };
3429
-
3430
- interface Plugin {
3431
- readonly attribute DOMString name;
3432
- readonly attribute DOMString description;
3433
- readonly attribute DOMString filename;
3434
- readonly attribute unsigned long length;
3435
- getter MimeType? item(unsigned long index);
3436
- getter MimeType? namedItem(DOMString name);
3437
- };
3438
-
3439
- interface MimeType {
3440
- readonly attribute DOMString type;
3441
- readonly attribute DOMString description;
3442
- readonly attribute DOMString suffixes; // comma-separated
3443
- readonly attribute Plugin enabledPlugin;
3444
- };
3445
-