webr 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. data/README.md +4 -0
  2. data/Rakefile +19 -0
  3. data/app/webr.rb +57 -0
  4. data/bin/webr +6 -0
  5. data/ext/jasmine/lib/jasmine.js +2423 -0
  6. data/ext/jsdom/lib/jsdom.js +70 -0
  7. data/ext/jsdom/lib/jsdom/browser/domtohtml.js +198 -0
  8. data/ext/jsdom/lib/jsdom/browser/htmlencoding.js +381 -0
  9. data/ext/jsdom/lib/jsdom/browser/htmltodom.js +151 -0
  10. data/ext/jsdom/lib/jsdom/browser/index.js +484 -0
  11. data/ext/jsdom/lib/jsdom/level1/core.js +1610 -0
  12. data/ext/jsdom/lib/jsdom/level2/core.js +406 -0
  13. data/ext/jsdom/lib/jsdom/level2/events.js +358 -0
  14. data/ext/jsdom/lib/jsdom/level2/html.js +1424 -0
  15. data/ext/jsdom/lib/jsdom/level2/index.js +7 -0
  16. data/ext/jsdom/lib/jsdom/level2/languages/javascript.js +17 -0
  17. data/ext/jsdom/lib/jsdom/level3/core.js +514 -0
  18. data/ext/jsdom/lib/jsdom/level3/events.js +296 -0
  19. data/ext/jsdom/lib/jsdom/level3/html.js +5 -0
  20. data/ext/jsdom/lib/jsdom/level3/index.js +7 -0
  21. data/ext/node-htmlparser/lib/node-htmlparser.js +769 -0
  22. data/ext/node-htmlparser/lib/node-htmlparser.min.js +22 -0
  23. data/ext/request/request.js +116 -0
  24. data/js/jasmine-start.js +10 -0
  25. data/js/webr.js +97 -0
  26. data/jspec/jasmine_spec.js +23 -0
  27. data/lib/webr.rb +17 -0
  28. data/lib/webr/browser.rb +44 -0
  29. data/lib/webr/jasmine.rb +6 -0
  30. data/lib/webr/jasmine/browser.rb +15 -0
  31. data/lib/webr/jasmine/reporter.rb +16 -0
  32. data/lib/webr/jasmine/reporter/base.rb +40 -0
  33. data/lib/webr/jasmine/reporter/console.rb +79 -0
  34. data/lib/webr/jasmine/reporter/html.rb +179 -0
  35. data/lib/webr/portal.rb +19 -0
  36. data/lib/webr/runtime.rb +23 -0
  37. data/lib/webr/version.rb +3 -0
  38. data/spec/data/plain.html +13 -0
  39. data/spec/data/script-embedded.html +17 -0
  40. data/spec/data/script-external-onload.html +11 -0
  41. data/spec/data/script-external-onload.js +11 -0
  42. data/spec/data/script-external.html +11 -0
  43. data/spec/data/script-external.js +1 -0
  44. data/spec/data/script-jquery-1.4.2.html +12 -0
  45. data/spec/data/script-jquery-1.4.3.html +12 -0
  46. data/spec/data/script-jquery.js +3 -0
  47. data/spec/lib/webr/browser_spec.rb +133 -0
  48. data/spec/lib/webr/jasmine/browser_spec.rb +22 -0
  49. data/spec/lib/webr/jasmine/reporter/html_spec.rb +15 -0
  50. data/spec/spec_helper.rb +4 -0
  51. data/tasks/spec.rake +16 -0
  52. data/webr.gemspec +30 -0
  53. metadata +207 -0
@@ -0,0 +1,7 @@
1
+ exports.dom = {
2
+ level2 : {
3
+ core : require("./core").dom.level2.core,
4
+ events : require("./events").dom.level2.events,
5
+ html : require("./html").dom.level2.html
6
+ }
7
+ };
@@ -0,0 +1,17 @@
1
+ exports.javascript = function(element, data) {
2
+ var document = element.ownerDocument;
3
+
4
+ try {
5
+ process.binding('evals').Script.runInNewContext(
6
+ data,
7
+ document.parentWindow || { document: document }
8
+ );
9
+ } catch(e) {
10
+ console.log(e.stack);
11
+ }
12
+
13
+ element.readyState = 'complete';
14
+ if (element.onload) {
15
+ element.onload();
16
+ }
17
+ };
@@ -0,0 +1,514 @@
1
+ var core = require("../level2/core").dom.level2.core;
2
+
3
+ /*
4
+ valuetype DOMString sequence<unsigned short>;
5
+ typedef unsigned long long DOMTimeStamp;
6
+ typedef any DOMUserData;
7
+ typedef Object DOMObject;
8
+
9
+ */
10
+ // ExceptionCode
11
+ core.VALIDATION_ERR = 16;
12
+ core.TYPE_MISMATCH_ERR = 17;
13
+
14
+ /*
15
+ // Introduced in DOM Level 3:
16
+ interface DOMStringList {
17
+ DOMString item(in unsigned long index);
18
+ readonly attribute unsigned long length;
19
+ boolean contains(in DOMString str);
20
+ };
21
+
22
+ // Introduced in DOM Level 3:
23
+ interface NameList {
24
+ DOMString getName(in unsigned long index);
25
+ DOMString getNamespaceURI(in unsigned long index);
26
+ readonly attribute unsigned long length;
27
+ boolean contains(in DOMString str);
28
+ boolean containsNS(in DOMString namespaceURI,
29
+ in DOMString name);
30
+ };
31
+
32
+ // Introduced in DOM Level 3:
33
+ interface DOMImplementationList {
34
+ DOMImplementation item(in unsigned long index);
35
+ readonly attribute unsigned long length;
36
+ };
37
+
38
+ // Introduced in DOM Level 3:
39
+ interface DOMImplementationSource {
40
+ DOMImplementation getDOMImplementation(in DOMString features);
41
+ DOMImplementationList getDOMImplementationList(in DOMString features);
42
+ };
43
+
44
+ interface DOMImplementation {
45
+ boolean hasFeature(in DOMString feature,
46
+ in DOMString version);
47
+ // Introduced in DOM Level 2:
48
+ DocumentType createDocumentType(in DOMString qualifiedName,
49
+ in DOMString publicId,
50
+ in DOMString systemId)
51
+ raises(DOMException);
52
+ // Introduced in DOM Level 2:
53
+ Document createDocument(in DOMString namespaceURI,
54
+ in DOMString qualifiedName,
55
+ in DocumentType doctype)
56
+ raises(DOMException);
57
+ // Introduced in DOM Level 3:
58
+ DOMObject getFeature(in DOMString feature,
59
+ in DOMString version);
60
+ };
61
+
62
+ interface Node {
63
+ // Modified in DOM Level 3:
64
+ Node insertBefore(in Node newChild,
65
+ in Node refChild)
66
+ raises(DOMException);
67
+ // Modified in DOM Level 3:
68
+ Node replaceChild(in Node newChild,
69
+ in Node oldChild)
70
+ raises(DOMException);
71
+ // Modified in DOM Level 3:
72
+ Node removeChild(in Node oldChild)
73
+ raises(DOMException);
74
+ // Modified in DOM Level 3:
75
+ Node appendChild(in Node newChild)
76
+ raises(DOMException);
77
+ boolean hasChildNodes();
78
+ Node cloneNode(in boolean deep);
79
+ // Modified in DOM Level 3:
80
+ void normalize();
81
+ // Introduced in DOM Level 3:
82
+ readonly attribute DOMString baseURI;
83
+ */
84
+
85
+ // Compare Document Position
86
+ var DOCUMENT_POSITION_DISCONNECTED = core.Node.prototype.DOCUMENT_POSITION_DISCONNECTED = 0x01;
87
+ var DOCUMENT_POSITION_PRECEDING = core.Node.prototype.DOCUMENT_POSITION_PRECEDING = 0x02;
88
+ var DOCUMENT_POSITION_FOLLOWING = core.Node.prototype.DOCUMENT_POSITION_FOLLOWING = 0x04;
89
+ var DOCUMENT_POSITION_CONTAINS = core.Node.prototype.DOCUMENT_POSITION_CONTAINS = 0x08;
90
+ var DOCUMENT_POSITION_CONTAINED_BY = core.Node.prototype.DOCUMENT_POSITION_CONTAINED_BY = 0x10;
91
+ var DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = core.Node.prototype.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
92
+
93
+ core.Node.prototype.compareDocumentPosition = function compareDocumentPosition( otherNode ) {
94
+ if( !(otherNode instanceof core.Node) ) {
95
+ throw Error("Comparing position against non-Node values is not allowed")
96
+ }
97
+ if( this === otherNode ) return 0
98
+ if( this.ownerDocument !== otherNode.ownerDocument ) {
99
+ return DOCUMENT_POSITION_DISCONNECTED
100
+ }
101
+ var point = this
102
+ var parents = [ ]
103
+ while( point ) {
104
+ if( point == otherNode ) return DOCUMENT_POSITION_CONTAINS
105
+ parents.push( point )
106
+ point = point.parentNode
107
+ }
108
+ point = otherNode
109
+ while( point ) {
110
+ if( point == this ) return DOCUMENT_POSITION_CONTAINED_BY
111
+ var location_index = parents.indexOf( point )
112
+ if( location_index !== -1) {
113
+ var smallest_common_ancestor = parents[ location_index ]
114
+ var this_index = smallest_common_ancestor.childNodes.indexOf( this )
115
+ var other_index = smallest_common_ancestor.childNodes.indexOf( otherNode )
116
+ if( this_index > other_index ) {
117
+ return DOCUMENT_POSITION_PRECEDING
118
+ }
119
+ else {
120
+ return DOCUMENT_POSITION_FOLLOWING
121
+ }
122
+ }
123
+ point = point.parentNode
124
+ }
125
+ return DOCUMENT_POSITION_DISCONNECTED
126
+ };
127
+ /*
128
+ // Introduced in DOM Level 3:
129
+ attribute DOMString textContent;
130
+ // raises(DOMException) on setting
131
+ // raises(DOMException) on retrieval
132
+ */
133
+ core.Node.prototype.isSameNode = function(other) {
134
+ return (other === this);
135
+ };
136
+
137
+ /*
138
+ // Introduced in DOM Level 3:
139
+ DOMString lookupPrefix(in DOMString namespaceURI);
140
+ // Introduced in DOM Level 3:
141
+ boolean isDefaultNamespace(in DOMString namespaceURI);
142
+ // Introduced in DOM Level 3:
143
+ DOMString lookupNamespaceURI(in DOMString prefix);
144
+ // Introduced in DOM Level 3:
145
+ boolean isEqualNode(in Node arg);
146
+ // Introduced in DOM Level 3:
147
+ DOMObject getFeature(in DOMString feature,
148
+ in DOMString version);
149
+ // Introduced in DOM Level 3:
150
+ DOMUserData setUserData(in DOMString key,
151
+ in DOMUserData data,
152
+ in UserDataHandler handler);
153
+ // Introduced in DOM Level 3:
154
+ DOMUserData getUserData(in DOMString key);
155
+ };
156
+
157
+ interface NodeList {
158
+ Node item(in unsigned long index);
159
+ readonly attribute unsigned long length;
160
+ };
161
+
162
+ interface NamedNodeMap {
163
+ Node getNamedItem(in DOMString name);
164
+ Node setNamedItem(in Node arg)
165
+ raises(DOMException);
166
+ Node removeNamedItem(in DOMString name)
167
+ raises(DOMException);
168
+ Node item(in unsigned long index);
169
+ readonly attribute unsigned long length;
170
+ // Introduced in DOM Level 2:
171
+ Node getNamedItemNS(in DOMString namespaceURI,
172
+ in DOMString localName)
173
+ raises(DOMException);
174
+ // Introduced in DOM Level 2:
175
+ Node setNamedItemNS(in Node arg)
176
+ raises(DOMException);
177
+ // Introduced in DOM Level 2:
178
+ Node removeNamedItemNS(in DOMString namespaceURI,
179
+ in DOMString localName)
180
+ raises(DOMException);
181
+ };
182
+
183
+ interface CharacterData : Node {
184
+ attribute DOMString data;
185
+ // raises(DOMException) on setting
186
+ // raises(DOMException) on retrieval
187
+
188
+ readonly attribute unsigned long length;
189
+ DOMString substringData(in unsigned long offset,
190
+ in unsigned long count)
191
+ raises(DOMException);
192
+ void appendData(in DOMString arg)
193
+ raises(DOMException);
194
+ void insertData(in unsigned long offset,
195
+ in DOMString arg)
196
+ raises(DOMException);
197
+ void deleteData(in unsigned long offset,
198
+ in unsigned long count)
199
+ raises(DOMException);
200
+ void replaceData(in unsigned long offset,
201
+ in unsigned long count,
202
+ in DOMString arg)
203
+ raises(DOMException);
204
+ };
205
+
206
+ interface Attr : Node {
207
+ readonly attribute DOMString name;
208
+ readonly attribute boolean specified;
209
+ attribute DOMString value;
210
+ // raises(DOMException) on setting
211
+
212
+ // Introduced in DOM Level 2:
213
+ readonly attribute Element ownerElement;
214
+ // Introduced in DOM Level 3:
215
+ readonly attribute TypeInfo schemaTypeInfo;
216
+
217
+ */
218
+ // Introduced in DOM Level 3:
219
+ core.Attr.prototype.__defineGetter__('isId', function() {
220
+ return (this.name.toLowerCase() === 'id');
221
+ });
222
+ /*
223
+ };
224
+
225
+ interface Element : Node {
226
+ readonly attribute DOMString tagName;
227
+ DOMString getAttribute(in DOMString name);
228
+ void setAttribute(in DOMString name,
229
+ in DOMString value)
230
+ raises(DOMException);
231
+ void removeAttribute(in DOMString name)
232
+ raises(DOMException);
233
+ Attr getAttributeNode(in DOMString name);
234
+ Attr setAttributeNode(in Attr newAttr)
235
+ raises(DOMException);
236
+ Attr removeAttributeNode(in Attr oldAttr)
237
+ raises(DOMException);
238
+ NodeList getElementsByTagName(in DOMString name);
239
+ // Introduced in DOM Level 2:
240
+ DOMString getAttributeNS(in DOMString namespaceURI,
241
+ in DOMString localName)
242
+ raises(DOMException);
243
+ // Introduced in DOM Level 2:
244
+ void setAttributeNS(in DOMString namespaceURI,
245
+ in DOMString qualifiedName,
246
+ in DOMString value)
247
+ raises(DOMException);
248
+ // Introduced in DOM Level 2:
249
+ void removeAttributeNS(in DOMString namespaceURI,
250
+ in DOMString localName)
251
+ raises(DOMException);
252
+ // Introduced in DOM Level 2:
253
+ Attr getAttributeNodeNS(in DOMString namespaceURI,
254
+ in DOMString localName)
255
+ raises(DOMException);
256
+ // Introduced in DOM Level 2:
257
+ Attr setAttributeNodeNS(in Attr newAttr)
258
+ raises(DOMException);
259
+ // Introduced in DOM Level 2:
260
+ NodeList getElementsByTagNameNS(in DOMString namespaceURI,
261
+ in DOMString localName)
262
+ raises(DOMException);
263
+ // Introduced in DOM Level 2:
264
+ boolean hasAttribute(in DOMString name);
265
+ // Introduced in DOM Level 2:
266
+ boolean hasAttributeNS(in DOMString namespaceURI,
267
+ in DOMString localName)
268
+ raises(DOMException);
269
+ // Introduced in DOM Level 3:
270
+ readonly attribute TypeInfo schemaTypeInfo;
271
+ // Introduced in DOM Level 3:
272
+ void setIdAttribute(in DOMString name,
273
+ in boolean isId)
274
+ raises(DOMException);
275
+ // Introduced in DOM Level 3:
276
+ void setIdAttributeNS(in DOMString namespaceURI,
277
+ in DOMString localName,
278
+ in boolean isId)
279
+ raises(DOMException);
280
+ // Introduced in DOM Level 3:
281
+ void setIdAttributeNode(in Attr idAttr,
282
+ in boolean isId)
283
+ raises(DOMException);
284
+ };
285
+
286
+ interface Text : CharacterData {
287
+ Text splitText(in unsigned long offset)
288
+ raises(DOMException);
289
+ // Introduced in DOM Level 3:
290
+ readonly attribute boolean isElementContentWhitespace;
291
+ // Introduced in DOM Level 3:
292
+ readonly attribute DOMString wholeText;
293
+ // Introduced in DOM Level 3:
294
+ Text replaceWholeText(in DOMString content)
295
+ raises(DOMException);
296
+ };
297
+
298
+ interface Comment : CharacterData {
299
+ };
300
+
301
+ // Introduced in DOM Level 3:
302
+ interface TypeInfo {
303
+ readonly attribute DOMString typeName;
304
+ readonly attribute DOMString typeNamespace;
305
+
306
+ // DerivationMethods
307
+ const unsigned long DERIVATION_RESTRICTION = 0x00000001;
308
+ const unsigned long DERIVATION_EXTENSION = 0x00000002;
309
+ const unsigned long DERIVATION_UNION = 0x00000004;
310
+ const unsigned long DERIVATION_LIST = 0x00000008;
311
+
312
+ boolean isDerivedFrom(in DOMString typeNamespaceArg,
313
+ in DOMString typeNameArg,
314
+ in unsigned long derivationMethod);
315
+ };
316
+
317
+ // Introduced in DOM Level 3:
318
+ interface UserDataHandler {
319
+
320
+ // OperationType
321
+ const unsigned short NODE_CLONED = 1;
322
+ const unsigned short NODE_IMPORTED = 2;
323
+ const unsigned short NODE_DELETED = 3;
324
+ const unsigned short NODE_RENAMED = 4;
325
+ const unsigned short NODE_ADOPTED = 5;
326
+
327
+ void handle(in unsigned short operation,
328
+ in DOMString key,
329
+ in DOMUserData data,
330
+ in Node src,
331
+ in Node dst);
332
+ };
333
+ */
334
+ // Introduced in DOM Level 3:
335
+ core.DOMError = function(severity, message, type, relatedException, relatedData, location) {
336
+ this._severity = severity;
337
+ this._message = message;
338
+ this._type = type;
339
+ this._relatedException = relatedException;
340
+ this._relatedData = relatedData;
341
+ this._location = location;
342
+ };
343
+ core.DOMError.prototype = {};
344
+ core.DOMError.prototype.SEVERITY_WARNING = 1;
345
+ core.DOMError.prototype.SEVERITY_ERROR = 2;
346
+ core.DOMError.prototype.SEVERITY_FATAL_ERROR = 3;
347
+ core.DOMError.prototype.__defineGetter__('severity', function() {
348
+ return this._severity;
349
+ });
350
+ core.DOMError.prototype.__defineGetter__('message', function() {
351
+ return this._message;
352
+ });
353
+ core.DOMError.prototype.__defineGetter__('type', function() {
354
+ return this._type;
355
+ });
356
+ core.DOMError.prototype.__defineGetter__('relatedException', function() {
357
+ return this._relatedException;
358
+ });
359
+ core.DOMError.prototype.__defineGetter__('relatedData', function() {
360
+ return this._relatedData;
361
+ });
362
+ core.DOMError.prototype.__defineGetter__('location', function() {
363
+ return this._location;
364
+ });
365
+
366
+ /*
367
+ // Introduced in DOM Level 3:
368
+ interface DOMErrorHandler {
369
+ boolean handleError(in DOMError error);
370
+ };
371
+
372
+ // Introduced in DOM Level 3:
373
+ interface DOMLocator {
374
+ readonly attribute long lineNumber;
375
+ readonly attribute long columnNumber;
376
+ readonly attribute long byteOffset;
377
+ readonly attribute long utf16Offset;
378
+ readonly attribute Node relatedNode;
379
+ readonly attribute DOMString uri;
380
+ };
381
+
382
+ // Introduced in DOM Level 3:
383
+ interface DOMConfiguration {
384
+ void setParameter(in DOMString name,
385
+ in DOMUserData value)
386
+ raises(DOMException);
387
+ DOMUserData getParameter(in DOMString name)
388
+ raises(DOMException);
389
+ boolean canSetParameter(in DOMString name,
390
+ in DOMUserData value);
391
+ readonly attribute DOMStringList parameterNames;
392
+ };
393
+
394
+ interface CDATASection : Text {
395
+ };
396
+
397
+ interface DocumentType : Node {
398
+ readonly attribute DOMString name;
399
+ readonly attribute NamedNodeMap entities;
400
+ readonly attribute NamedNodeMap notations;
401
+ // Introduced in DOM Level 2:
402
+ readonly attribute DOMString publicId;
403
+ // Introduced in DOM Level 2:
404
+ readonly attribute DOMString systemId;
405
+ // Introduced in DOM Level 2:
406
+ readonly attribute DOMString internalSubset;
407
+ };
408
+
409
+ interface Notation : Node {
410
+ readonly attribute DOMString publicId;
411
+ readonly attribute DOMString systemId;
412
+ };
413
+
414
+ interface Entity : Node {
415
+ readonly attribute DOMString publicId;
416
+ readonly attribute DOMString systemId;
417
+ readonly attribute DOMString notationName;
418
+ // Introduced in DOM Level 3:
419
+ readonly attribute DOMString inputEncoding;
420
+ // Introduced in DOM Level 3:
421
+ readonly attribute DOMString xmlEncoding;
422
+ // Introduced in DOM Level 3:
423
+ readonly attribute DOMString xmlVersion;
424
+ };
425
+
426
+ interface EntityReference : Node {
427
+ };
428
+
429
+ interface ProcessingInstruction : Node {
430
+ readonly attribute DOMString target;
431
+ attribute DOMString data;
432
+ // raises(DOMException) on setting
433
+
434
+ };
435
+
436
+ interface DocumentFragment : Node {
437
+ };
438
+
439
+ interface Document : Node {
440
+ // Modified in DOM Level 3:
441
+ readonly attribute DocumentType doctype;
442
+ readonly attribute DOMImplementation implementation;
443
+ readonly attribute Element documentElement;
444
+ Element createElement(in DOMString tagName)
445
+ raises(DOMException);
446
+ DocumentFragment createDocumentFragment();
447
+ Text createTextNode(in DOMString data);
448
+ Comment createComment(in DOMString data);
449
+ CDATASection createCDATASection(in DOMString data)
450
+ raises(DOMException);
451
+ ProcessingInstruction createProcessingInstruction(in DOMString target,
452
+ in DOMString data)
453
+ raises(DOMException);
454
+ Attr createAttribute(in DOMString name)
455
+ raises(DOMException);
456
+ EntityReference createEntityReference(in DOMString name)
457
+ raises(DOMException);
458
+ NodeList getElementsByTagName(in DOMString tagname);
459
+ // Introduced in DOM Level 2:
460
+ Node importNode(in Node importedNode,
461
+ in boolean deep)
462
+ raises(DOMException);
463
+ // Introduced in DOM Level 2:
464
+ Element createElementNS(in DOMString namespaceURI,
465
+ in DOMString qualifiedName)
466
+ raises(DOMException);
467
+ // Introduced in DOM Level 2:
468
+ Attr createAttributeNS(in DOMString namespaceURI,
469
+ in DOMString qualifiedName)
470
+ raises(DOMException);
471
+ // Introduced in DOM Level 2:
472
+ NodeList getElementsByTagNameNS(in DOMString namespaceURI,
473
+ in DOMString localName);
474
+ // Introduced in DOM Level 2:
475
+ Element getElementById(in DOMString elementId);
476
+ // Introduced in DOM Level 3:
477
+ readonly attribute DOMString inputEncoding;
478
+ // Introduced in DOM Level 3:
479
+ readonly attribute DOMString xmlEncoding;
480
+ // Introduced in DOM Level 3:
481
+ attribute boolean xmlStandalone;
482
+ // raises(DOMException) on setting
483
+
484
+ // Introduced in DOM Level 3:
485
+ attribute DOMString xmlVersion;
486
+ // raises(DOMException) on setting
487
+
488
+ // Introduced in DOM Level 3:
489
+ attribute boolean strictErrorChecking;
490
+ // Introduced in DOM Level 3:
491
+ attribute DOMString documentURI;
492
+ // Introduced in DOM Level 3:
493
+ Node adoptNode(in Node source)
494
+ raises(DOMException);
495
+ // Introduced in DOM Level 3:
496
+ readonly attribute DOMConfiguration domConfig;
497
+ // Introduced in DOM Level 3:
498
+ void normalizeDocument();
499
+ // Introduced in DOM Level 3:
500
+ Node renameNode(in Node n,
501
+ in DOMString namespaceURI,
502
+ in DOMString qualifiedName)
503
+ raises(DOMException);
504
+ };
505
+ };
506
+
507
+ #endif // _DOM_IDL_
508
+ */
509
+
510
+ exports.dom = {
511
+ level3 : {
512
+ core: core
513
+ }
514
+ };