1 /* 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26 module window { 27 28 interface [ 29 CheckDomainSecurity, 30 CustomDefineGetter, 31 CustomDefineSetter, 32 CustomDeleteProperty, 33 CustomGetOwnPropertySlot, 34 CustomGetPropertyNames, 35 CustomLookupGetter, 36 CustomLookupSetter, 37 CustomMarkFunction, 38 CustomNativeConverter, 39 CustomPutFunction, 40 EventTarget, 41 OmitConstructor, 42 ExtendsDOMGlobalObject, 43 GenerateNativeConverter, 44 LegacyParent=JSDOMWindowBase 45 ] DOMWindow { 46 // DOM Level 0 47 readonly attribute Screen screen; 48 readonly attribute [DoNotCheckDomainSecurity, JSCCustomGetter] History history; 49 attribute [Replaceable] BarInfo locationbar; 50 attribute [Replaceable] BarInfo menubar; 51 attribute [Replaceable] BarInfo personalbar; 52 attribute [Replaceable] BarInfo scrollbars; 53 attribute [Replaceable] BarInfo statusbar; 54 attribute [Replaceable] BarInfo toolbar; 55 attribute [Replaceable] Navigator navigator; 56 attribute [Replaceable] Navigator clientInformation; 57 attribute [DoNotCheckDomainSecurity, JSCCustom, V8CustomSetter, V8DisallowShadowing] Location location; 58 59 attribute [Replaceable, CustomGetter, V8CustomSetter] Event event; 60 61 readonly attribute [Custom] Crypto crypto; 62 63 DOMSelection getSelection(); 64 65 readonly attribute [CheckNodeSecurity] Element frameElement; 66 67 [DoNotCheckDomainSecurity] void focus(); 68 [DoNotCheckDomainSecurity] void blur(); 69 [DoNotCheckDomainSecurity] void close(); 70 71 void print(); 72 void stop(); 73 74 [Custom] DOMWindow open(in DOMString url, 75 in DOMString name, 76 in [Optional] DOMString options); 77 78 [Custom] DOMObject showModalDialog(in DOMString url, 79 in [Optional] DOMObject dialogArgs, 80 in [Optional] DOMString featureArgs); 81 82 void alert(in DOMString message); 83 boolean confirm(in DOMString message); 84 [ConvertNullStringTo=Null] DOMString prompt(in DOMString message, 85 in [ConvertUndefinedOrNullToNullString] DOMString defaultValue); 86 87 boolean find(in DOMString string, 88 in boolean caseSensitive, 89 in boolean backwards, 90 in boolean wrap, 91 in boolean wholeWord, 92 in boolean searchInFrames, 93 in boolean showDialog); 94 95 attribute [Replaceable] boolean offscreenBuffering; 96 97 attribute [Replaceable] long outerHeight; 98 attribute [Replaceable] long outerWidth; 99 attribute [Replaceable] long innerHeight; 100 attribute [Replaceable] long innerWidth; 101 attribute [Replaceable] long screenX; 102 attribute [Replaceable] long screenY; 103 attribute [Replaceable] long screenLeft; 104 attribute [Replaceable] long screenTop; 105 attribute [Replaceable] long scrollX; 106 attribute [Replaceable] long scrollY; 107 readonly attribute long pageXOffset; 108 readonly attribute long pageYOffset; 109 110 [RequiresAllArguments] void scrollBy(in long x, in long y); 111 [RequiresAllArguments] void scrollTo(in long x, in long y); 112 [RequiresAllArguments] void scroll(in long x, in long y); 113 [RequiresAllArguments] void moveBy(in float x, in float y); // FIXME: this should take longs not floats. 114 [RequiresAllArguments] void moveTo(in float x, in float y); // FIXME: this should take longs not floats. 115 [RequiresAllArguments] void resizeBy(in float x, in float y); // FIXME: this should take longs not floats. 116 [RequiresAllArguments] void resizeTo(in float width, in float height); // FIXME: this should take longs not floats. 117 118 readonly attribute [DoNotCheckDomainSecurity] boolean closed; 119 120 attribute [Replaceable, DoNotCheckDomainSecurityOnGet] unsigned long length; 121 122 attribute DOMString name; 123 124 attribute DOMString status; 125 attribute DOMString defaultStatus; 126 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT 127 // This attribute is an alias of defaultStatus and is necessary for legacy uses. 128 attribute DOMString defaultstatus; 129 #endif 130 131 // Self referential attributes 132 attribute [Replaceable, DoNotCheckDomainSecurityOnGet] DOMWindow self; 133 readonly attribute [DoNotCheckDomainSecurity, V8DisallowShadowing] DOMWindow window; 134 attribute [Replaceable, DoNotCheckDomainSecurityOnGet] DOMWindow frames; 135 136 attribute [Replaceable, DoNotCheckDomainSecurityOnGet, V8CustomSetter] DOMWindow opener; 137 attribute [Replaceable, DoNotCheckDomainSecurityOnGet] DOMWindow parent; 138 attribute [Replaceable, DoNotCheckDomainSecurityOnGet, V8DisallowShadowing, V8ReadOnly] DOMWindow top; 139 140 // DOM Level 2 AbstractView Interface 141 readonly attribute Document document; 142 143 // CSSOM View Module 144 readonly attribute Media media; 145 146 // DOM Level 2 Style Interface 147 CSSStyleDeclaration getComputedStyle(in Element element, 148 in DOMString pseudoElement); 149 150 // WebKit extensions 151 CSSRuleList getMatchedCSSRules(in Element element, 152 in DOMString pseudoElement, 153 in [Optional] boolean authorOnly); 154 attribute [Replaceable] double devicePixelRatio; 155 156 WebKitPoint webkitConvertPointFromPageToNode(in Node node, in WebKitPoint p); 157 WebKitPoint webkitConvertPointFromNodeToPage(in Node node, in WebKitPoint p); 158 159 #if defined(ENABLE_OFFLINE_WEB_APPLICATIONS) && ENABLE_OFFLINE_WEB_APPLICATIONS 160 readonly attribute [EnabledAtRuntime] DOMApplicationCache applicationCache; 161 #endif 162 #if defined(ENABLE_DATABASE) && ENABLE_DATABASE 163 [EnabledAtRuntime] Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize) 164 raises(DOMException); 165 #endif 166 #if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE 167 readonly attribute [EnabledAtRuntime] Storage sessionStorage; 168 readonly attribute [EnabledAtRuntime] Storage localStorage; 169 #endif 170 #if defined(ENABLE_NOTIFICATIONS) && ENABLE_NOTIFICATIONS 171 readonly attribute [EnabledAtRuntime] NotificationCenter webkitNotifications; 172 #endif 173 #if defined(ENABLE_INDEXED_DATABASE) && ENABLE_INDEXED_DATABASE 174 readonly attribute [EnabledAtRuntime] IndexedDatabaseRequest indexedDB; 175 #endif 176 177 #if defined(ENABLE_ORIENTATION_EVENTS) && ENABLE_ORIENTATION_EVENTS 178 // This is the interface orientation in degrees. Some examples are: 179 // 0 is straight up; -90 is when the device is rotated 90 clockwise; 180 // 90 is when rotated counter clockwise. 181 readonly attribute long orientation; 182 #endif 183 184 attribute [Replaceable] Console console; 185 186 // cross-document messaging 187 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT 188 [DoNotCheckDomainSecurity, Custom] void postMessage(in SerializedScriptValue message, in [Optional] Array messagePorts, in DOMString targetOrigin) 189 raises(DOMException); 190 #else 191 // There's no good way to expose an array via the ObjC bindings, so for now just allow passing in a single port. 192 [DoNotCheckDomainSecurity, Custom] void postMessage(in SerializedScriptValue message, in [Optional] MessagePort messagePort, in DOMString targetOrigin) 193 raises(DOMException); 194 #endif 195 196 // Timers 197 [Custom] long setTimeout(in TimeoutHandler handler, in long timeout); 198 // [Custom] long setTimeout(in TimeoutHandler handler, in long timeout, arguments...); 199 // [Custom] long setTimeout(in DOMString code, in long timeout); 200 void clearTimeout(in long handle); 201 [Custom] long setInterval(in TimeoutHandler handler, in long timeout); 202 // [Custom] long setInterval(in TimeoutHandler handler, in long timeout, arguments...); 203 // [Custom] long setInterval(in DOMString code, in long timeout); 204 void clearInterval(in long handle); 205 206 // Base64 207 [Custom] DOMString atob(in DOMString string) 208 raises(DOMException); 209 [Custom] DOMString btoa(in DOMString string) 210 raises(DOMException); 211 212 // Events 213 214 attribute EventListener onabort; 215 attribute EventListener onbeforeunload; 216 attribute EventListener onblur; 217 attribute EventListener oncanplay; 218 attribute EventListener oncanplaythrough; 219 attribute EventListener onchange; 220 attribute EventListener onclick; 221 attribute EventListener oncontextmenu; 222 attribute EventListener ondblclick; 223 attribute EventListener ondrag; 224 attribute EventListener ondragend; 225 attribute EventListener ondragenter; 226 attribute EventListener ondragleave; 227 attribute EventListener ondragover; 228 attribute EventListener ondragstart; 229 attribute EventListener ondrop; 230 attribute EventListener ondurationchange; 231 attribute EventListener onemptied; 232 attribute EventListener onended; 233 attribute EventListener onerror; 234 attribute EventListener onfocus; 235 attribute EventListener onhashchange; 236 attribute EventListener oninput; 237 attribute EventListener oninvalid; 238 attribute EventListener onkeydown; 239 attribute EventListener onkeypress; 240 attribute EventListener onkeyup; 241 attribute EventListener onload; 242 attribute EventListener onloadeddata; 243 attribute EventListener onloadedmetadata; 244 attribute EventListener onloadstart; 245 attribute EventListener onmessage; 246 attribute EventListener onmousedown; 247 attribute EventListener onmousemove; 248 attribute EventListener onmouseout; 249 attribute EventListener onmouseover; 250 attribute EventListener onmouseup; 251 attribute EventListener onmousewheel; 252 attribute EventListener onoffline; 253 attribute EventListener ononline; 254 attribute EventListener onpagehide; 255 attribute EventListener onpageshow; 256 attribute EventListener onpause; 257 attribute EventListener onplay; 258 attribute EventListener onplaying; 259 attribute EventListener onpopstate; 260 attribute EventListener onprogress; 261 attribute EventListener onratechange; 262 attribute EventListener onresize; 263 attribute EventListener onscroll; 264 attribute EventListener onseeked; 265 attribute EventListener onseeking; 266 attribute EventListener onselect; 267 attribute EventListener onstalled; 268 attribute EventListener onstorage; 269 attribute EventListener onsubmit; 270 attribute EventListener onsuspend; 271 attribute EventListener ontimeupdate; 272 attribute EventListener onunload; 273 attribute EventListener onvolumechange; 274 attribute EventListener onwaiting; 275 276 // Not implemented yet. 277 // attribute EventListener onafterprint; 278 // attribute EventListener onbeforeprint; 279 // attribute EventListener onformchange; 280 // attribute EventListener onforminput; 281 // attribute EventListener onreadystatechange; 282 // attribute EventListener onredo; 283 // attribute EventListener onshow; 284 // attribute EventListener onundo; 285 286 // Webkit extensions 287 attribute EventListener onreset; 288 attribute EventListener onsearch; 289 attribute EventListener onwebkitanimationend; 290 attribute EventListener onwebkitanimationiteration; 291 attribute EventListener onwebkitanimationstart; 292 attribute EventListener onwebkittransitionend; 293 #if defined(ENABLE_ORIENTATION_EVENTS) && ENABLE_ORIENTATION_EVENTS 294 attribute EventListener onorientationchange; 295 #endif 296 #if defined(ENABLE_TOUCH_EVENTS) && ENABLE_TOUCH_EVENTS 297 attribute [DontEnum] EventListener ontouchstart; 298 attribute [DontEnum] EventListener ontouchmove; 299 attribute [DontEnum] EventListener ontouchend; 300 attribute [DontEnum] EventListener ontouchcancel; 301 #endif 302 303 // EventTarget interface 304 [Custom] void addEventListener(in DOMString type, 305 in EventListener listener, 306 in boolean useCapture); 307 [Custom] void removeEventListener(in DOMString type, 308 in EventListener listener, 309 in boolean useCapture); 310 boolean dispatchEvent(in Event evt) 311 raises(EventException); 312 313 [V8Custom=DOMWindowNOP] void captureEvents(/*in long eventFlags*/); 314 [V8Custom=DOMWindowNOP] void releaseEvents(/*in long eventFlags*/); 315 316 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT 317 // Global constructors 318 attribute StyleSheetConstructor StyleSheet; 319 attribute CSSStyleSheetConstructor CSSStyleSheet; 320 321 attribute CSSValueConstructor CSSValue; 322 attribute CSSPrimitiveValueConstructor CSSPrimitiveValue; 323 attribute CSSValueListConstructor CSSValueList; 324 attribute WebKitCSSTransformValueConstructor WebKitCSSTransformValue; 325 326 attribute CSSRuleConstructor CSSRule; 327 attribute CSSCharsetRuleConstructor CSSCharsetRule; 328 attribute CSSFontFaceRuleConstructor CSSFontFaceRule; 329 attribute CSSImportRuleConstructor CSSImportRule; 330 attribute CSSMediaRuleConstructor CSSMediaRule; 331 attribute CSSPageRuleConstructor CSSPageRule; 332 attribute CSSStyleRuleConstructor CSSStyleRule; 333 334 attribute CSSVariablesRuleConstructor CSSVariablesRule; 335 attribute CSSVariablesDeclarationConstructor CSSVariablesDeclaration; 336 337 attribute CSSStyleDeclarationConstructor CSSStyleDeclaration; 338 attribute MediaListConstructor MediaList; 339 attribute CounterConstructor Counter; 340 attribute CSSRuleListConstructor CSSRuleList; 341 attribute RectConstructor Rect; 342 attribute RGBColorConstructor RGBColor; 343 attribute StyleSheetListConstructor StyleSheetList; 344 345 // FIXME: Implement the commented-out global constructors for interfaces listed in DOM Level 3 Core specification. 346 attribute DOMCoreExceptionConstructor DOMException; 347 // attribute DOMStringListConstructor DOMStringList; 348 // attribute NameListConstructor NameList; 349 // attribute DOMImplementationListConstructor DOMImplementationList; 350 // attribute DOMImplementationSourceConstructor DOMImplementationSource; 351 attribute DOMImplementationConstructor DOMImplementation; 352 attribute DocumentFragmentConstructor DocumentFragment; 353 attribute DocumentConstructor Document; 354 attribute NodeConstructor Node; 355 attribute NodeListConstructor NodeList; 356 attribute NamedNodeMapConstructor NamedNodeMap; 357 attribute CharacterDataConstructor CharacterData; 358 attribute AttrConstructor Attr; 359 attribute ElementConstructor Element; 360 attribute TextConstructor Text; 361 attribute CommentConstructor Comment; 362 // attribute TypeInfoConstructor TypeInfo; 363 // attribute UserDataHandlerConstructor UserDataHandler; 364 // attribute DOMErrorConstructor DOMError; 365 // attribute DOMErrorHandlerConstructor DOMErrorHandler 366 // attribute DOMLocatorConstructor DOMLocator; 367 // attribute DOMConfigurationConstructor DOMConfiguration; 368 attribute CDATASectionConstructor CDATASection; 369 attribute DocumentTypeConstructor DocumentType; 370 attribute NotationConstructor Notation; 371 attribute EntityConstructor Entity; 372 attribute EntityReferenceConstructor EntityReference; 373 attribute ProcessingInstructionConstructor ProcessingInstruction; 374 375 attribute HTMLDocumentConstructor HTMLDocument; 376 377 attribute HTMLElementConstructor HTMLElement; 378 attribute HTMLAnchorElementConstructor HTMLAnchorElement; 379 attribute HTMLAppletElementConstructor HTMLAppletElement; 380 attribute HTMLAreaElementConstructor HTMLAreaElement; 381 attribute HTMLBRElementConstructor HTMLBRElement; 382 attribute HTMLBaseElementConstructor HTMLBaseElement; 383 attribute HTMLBaseFontElementConstructor HTMLBaseFontElement; 384 attribute HTMLBlockquoteElementConstructor HTMLBlockquoteElement; 385 attribute HTMLBodyElementConstructor HTMLBodyElement; 386 attribute HTMLButtonElementConstructor HTMLButtonElement; 387 attribute HTMLCanvasElementConstructor HTMLCanvasElement; 388 attribute [Conditional=DATAGRID] HTMLDataGridElementConstructor HTMLDataGridElement; 389 attribute [Conditional=DATAGRID] HTMLDataGridCellElementConstructor HTMLDataGridCellElement; 390 attribute [Conditional=DATAGRID] HTMLDataGridColElementConstructor HTMLDataGridColElement; 391 attribute HTMLDListElementConstructor HTMLDListElement; 392 attribute HTMLDirectoryElementConstructor HTMLDirectoryElement; 393 attribute HTMLDivElementConstructor HTMLDivElement; 394 attribute HTMLEmbedElementConstructor HTMLEmbedElement; 395 attribute HTMLFieldSetElementConstructor HTMLFieldSetElement; 396 attribute HTMLFontElementConstructor HTMLFontElement; 397 attribute HTMLFormElementConstructor HTMLFormElement; 398 attribute HTMLFrameElementConstructor HTMLFrameElement; 399 attribute HTMLFrameSetElementConstructor HTMLFrameSetElement; 400 attribute HTMLHRElementConstructor HTMLHRElement; 401 attribute HTMLHeadElementConstructor HTMLHeadElement; 402 attribute HTMLHeadingElementConstructor HTMLHeadingElement; 403 attribute HTMLHtmlElementConstructor HTMLHtmlElement; 404 attribute HTMLIFrameElementConstructor HTMLIFrameElement; 405 attribute HTMLImageElementConstructor HTMLImageElement; 406 attribute HTMLInputElementConstructor HTMLInputElement; 407 attribute HTMLIsIndexElementConstructor HTMLIsIndexElement; 408 attribute HTMLLIElementConstructor HTMLLIElement; 409 attribute HTMLLabelElementConstructor HTMLLabelElement; 410 attribute HTMLLegendElementConstructor HTMLLegendElement; 411 attribute HTMLLinkElementConstructor HTMLLinkElement; 412 attribute HTMLMapElementConstructor HTMLMapElement; 413 attribute HTMLMarqueeElementConstructor HTMLMarqueeElement; 414 attribute HTMLMenuElementConstructor HTMLMenuElement; 415 attribute HTMLMetaElementConstructor HTMLMetaElement; 416 attribute HTMLModElementConstructor HTMLModElement; 417 attribute HTMLOListElementConstructor HTMLOListElement; 418 attribute HTMLObjectElementConstructor HTMLObjectElement; 419 attribute HTMLOptGroupElementConstructor HTMLOptGroupElement; 420 attribute HTMLOptionElementConstructor HTMLOptionElement; 421 attribute HTMLParagraphElementConstructor HTMLParagraphElement; 422 attribute HTMLParamElementConstructor HTMLParamElement; 423 attribute HTMLPreElementConstructor HTMLPreElement; 424 attribute HTMLQuoteElementConstructor HTMLQuoteElement; 425 attribute HTMLScriptElementConstructor HTMLScriptElement; 426 attribute HTMLSelectElementConstructor HTMLSelectElement; 427 attribute HTMLStyleElementConstructor HTMLStyleElement; 428 attribute HTMLTableCaptionElementConstructor HTMLTableCaptionElement; 429 attribute HTMLTableCellElementConstructor HTMLTableCellElement; 430 attribute HTMLTableColElementConstructor HTMLTableColElement; 431 attribute HTMLTableElementConstructor HTMLTableElement; 432 attribute HTMLTableRowElementConstructor HTMLTableRowElement; 433 attribute HTMLTableSectionElementConstructor HTMLTableSectionElement; 434 attribute HTMLTextAreaElementConstructor HTMLTextAreaElement; 435 attribute HTMLTitleElementConstructor HTMLTitleElement; 436 attribute HTMLUListElementConstructor HTMLUListElement; 437 438 attribute HTMLCollectionConstructor HTMLCollection; 439 attribute HTMLAllCollectionConstructor HTMLAllCollection; 440 441 attribute [CustomGetter] HTMLImageElementConstructor Image; // Usable with new operator 442 attribute [CustomGetter] HTMLOptionElementConstructor Option; // Usable with new operator 443 444 attribute CanvasRenderingContext2DConstructor CanvasRenderingContext2D; 445 attribute ImageDataConstructor ImageData; 446 attribute [Conditional=3D_CANVAS] WebGLRenderingContextConstructor WebGLRenderingContext; 447 attribute TextMetricsConstructor TextMetrics; 448 449 attribute [JSCCustomGetter,Conditional=3D_CANVAS] WebGLArrayBufferConstructor WebGLArrayBuffer; // Usable with new operator 450 attribute [JSCCustomGetter,Conditional=3D_CANVAS] WebGLByteArrayConstructor WebGLByteArray; // Usable with new operator 451 attribute [JSCCustomGetter,Conditional=3D_CANVAS] WebGLUnsignedByteArrayConstructor WebGLUnsignedByteArray; // Usable with new operator 452 attribute [JSCCustomGetter,Conditional=3D_CANVAS] WebGLShortArrayConstructor WebGLShortArray; // Usable with new operator 453 attribute [JSCCustomGetter,Conditional=3D_CANVAS] WebGLUnsignedShortArrayConstructor WebGLUnsignedShortArray; // Usable with new operator 454 attribute [JSCCustomGetter,Conditional=3D_CANVAS] WebGLIntArrayConstructor WebGLIntArray; // Usable with new operator 455 attribute [JSCCustomGetter,Conditional=3D_CANVAS] WebGLUnsignedIntArrayConstructor WebGLUnsignedIntArray; // Usable with new operator 456 attribute [JSCCustomGetter,Conditional=3D_CANVAS] WebGLFloatArrayConstructor WebGLFloatArray; // Usable with new operator 457 458 attribute EventConstructor Event; 459 attribute BeforeLoadEventConstructor BeforeLoadEvent; 460 attribute KeyboardEventConstructor KeyboardEvent; 461 attribute MouseEventConstructor MouseEvent; 462 attribute MutationEventConstructor MutationEvent; 463 attribute OverflowEventConstructor OverflowEvent; 464 attribute PageTransitionEventConstructor PageTransitionEvent; 465 attribute ProgressEventConstructor ProgressEvent; 466 attribute TextEventConstructor TextEvent; 467 attribute UIEventConstructor UIEvent; 468 attribute WebKitAnimationEventConstructor WebKitAnimationEvent; 469 attribute WebKitTransitionEventConstructor WebKitTransitionEvent; 470 attribute WheelEventConstructor WheelEvent; 471 attribute MessageEventConstructor MessageEvent; 472 attribute EventExceptionConstructor EventException; 473 474 attribute WebKitCSSKeyframeRuleConstructor WebKitCSSKeyframeRule; 475 attribute WebKitCSSKeyframesRuleConstructor WebKitCSSKeyframesRule; 476 477 attribute [JSCCustomGetter] WebKitCSSMatrixConstructor WebKitCSSMatrix; // Usable with the new operator 478 479 attribute [JSCCustomGetter] WebKitPointConstructor WebKitPoint; // Usable with new the operator 480 481 attribute ClipboardConstructor Clipboard; 482 483 attribute FileConstructor File; 484 attribute FileListConstructor FileList; 485 attribute BlobConstructor Blob; 486 487 attribute NodeFilterConstructor NodeFilter; 488 attribute RangeConstructor Range; 489 attribute RangeExceptionConstructor RangeException; 490 491 #if ENABLE_EVENTSOURCE 492 attribute [JSCCustomGetter] EventSourceConstructor EventSource; // Usable with new the operator 493 #endif 494 495 // Mozilla has a separate XMLDocument object for XML documents. 496 // We just use Document for this. 497 attribute DocumentConstructor XMLDocument; 498 499 attribute DOMParserConstructor DOMParser; 500 attribute XMLSerializerConstructor XMLSerializer; 501 502 attribute [JSCCustomGetter] XMLHttpRequestConstructor XMLHttpRequest; // Usable with the new operator 503 attribute XMLHttpRequestUploadConstructor XMLHttpRequestUpload; 504 attribute XMLHttpRequestExceptionConstructor XMLHttpRequestException; 505 506 attribute [JSCCustomGetter,Conditional=XSLT] XSLTProcessorConstructor XSLTProcessor; // Usable with the new operator 507 508 #if defined(ENABLE_CHANNEL_MESSAGING) && ENABLE_CHANNEL_MESSAGING 509 attribute MessagePortConstructor MessagePort; 510 attribute [JSCCustomGetter] MessageChannelConstructor MessageChannel; // Usable with the new operator 511 #endif 512 513 #if defined(ENABLE_WORKERS) && ENABLE_WORKERS 514 attribute [JSCCustomGetter] WorkerConstructor Worker; // Usable with the new operator 515 #endif 516 517 #if defined(ENABLE_SHARED_WORKERS) && ENABLE_SHARED_WORKERS 518 attribute [JSCCustomGetter, EnabledAtRuntime] SharedWorkerConstructor SharedWorker; // Usable with the new operator 519 #endif 520 521 #if defined(ENABLE_WEB_SOCKETS) && ENABLE_WEB_SOCKETS 522 attribute [JSCCustomGetter,EnabledAtRuntime] WebSocketConstructor WebSocket; // Usable with the new operator 523 #endif 524 525 attribute PluginConstructor Plugin; 526 attribute PluginArrayConstructor PluginArray; 527 528 attribute MimeTypeConstructor MimeType; 529 attribute MimeTypeArrayConstructor MimeTypeArray; 530 531 attribute ClientRectConstructor ClientRect; 532 attribute ClientRectListConstructor ClientRectList; 533 534 #if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE 535 attribute StorageConstructor Storage; 536 attribute StorageEventConstructor StorageEvent; 537 #endif 538 539 attribute [CustomGetter, Conditional=VIDEO, EnabledAtRuntime] HTMLAudioElementConstructor Audio; // Usable with the new operator 540 attribute [Conditional=VIDEO, EnabledAtRuntime] HTMLAudioElementConstructor HTMLAudioElement; 541 attribute [Conditional=VIDEO, EnabledAtRuntime] HTMLMediaElementConstructor HTMLMediaElement; 542 attribute [Conditional=VIDEO, EnabledAtRuntime] HTMLVideoElementConstructor HTMLVideoElement; 543 attribute [Conditional=VIDEO, EnabledAtRuntime] MediaErrorConstructor MediaError; 544 545 #if defined(ENABLE_XPATH) && ENABLE_XPATH 546 attribute XPathEvaluatorConstructor XPathEvaluator; 547 attribute XPathResultConstructor XPathResult; 548 attribute XPathExceptionConstructor XPathException; 549 #endif 550 551 #if defined(ENABLE_SVG) && ENABLE_SVG 552 // Expose all implemented SVG 1.1 interfaces, excluding the SVG MI interfaces: 553 // SVGAnimatedPathData, SVGAnimatedPoints, SVGExternalResourcesRequired, 554 // SVGFilterPrimitiveStandardAttributes, SVGFitToViewBox, SVGLangSpace, SVGLocatable 555 // SVGStylable, SVGTests, SVGTransformable, SVGURIReference, SVGZoomAndPan 556 attribute SVGAElementConstructor SVGAElement; 557 attribute SVGAngleConstructor SVGAngle; 558 attribute SVGAnimatedAngleConstructor SVGAnimatedAngle; 559 attribute SVGAnimatedBooleanConstructor SVGAnimatedBoolean; 560 attribute SVGAnimatedEnumerationConstructor SVGAnimatedEnumeration; 561 attribute SVGAnimatedIntegerConstructor SVGAnimatedInteger; 562 attribute SVGAnimatedLengthConstructor SVGAnimatedLength; 563 attribute SVGAnimatedLengthListConstructor SVGAnimatedLengthList; 564 attribute SVGAnimatedNumberConstructor SVGAnimatedNumber; 565 attribute SVGAnimatedNumberListConstructor SVGAnimatedNumberList; 566 attribute SVGAnimatedPreserveAspectRatioConstructor SVGAnimatedPreserveAspectRatio; 567 attribute SVGAnimatedRectConstructor SVGAnimatedRect; 568 attribute SVGAnimatedStringConstructor SVGAnimatedString; 569 attribute SVGAnimatedTransformListConstructor SVGAnimatedTransformList; 570 attribute SVGCircleElementConstructor SVGCircleElement; 571 attribute SVGClipPathElementConstructor SVGClipPathElement; 572 attribute SVGColorConstructor SVGColor; 573 attribute SVGCursorElementConstructor SVGCursorElement; 574 // attribute SVGCSSRuleConstructor SVGCSSRule; 575 attribute SVGDefsElementConstructor SVGDefsElement; 576 attribute SVGDescElementConstructor SVGDescElement; 577 attribute SVGDocumentConstructor SVGDocument; 578 attribute SVGElementConstructor SVGElement; 579 attribute SVGElementInstanceConstructor SVGElementInstance; 580 attribute SVGElementInstanceListConstructor SVGElementInstanceList; 581 attribute SVGEllipseElementConstructor SVGEllipseElement; 582 attribute SVGExceptionConstructor SVGException; 583 attribute SVGGElementConstructor SVGGElement; 584 attribute SVGGradientElementConstructor SVGGradientElement; 585 attribute SVGImageElementConstructor SVGImageElement; 586 attribute SVGLengthConstructor SVGLength; 587 attribute SVGLengthListConstructor SVGLengthList; 588 attribute SVGLinearGradientElementConstructor SVGLinearGradientElement; 589 attribute SVGLineElementConstructor SVGLineElement; 590 attribute SVGMarkerElementConstructor SVGMarkerElement; 591 attribute SVGMaskElementConstructor SVGMaskElement; 592 attribute SVGMatrixConstructor SVGMatrix; 593 attribute SVGMetadataElementConstructor SVGMetadataElement; 594 attribute SVGNumberConstructor SVGNumber; 595 attribute SVGNumberListConstructor SVGNumberList; 596 attribute SVGPaintConstructor SVGPaint; 597 attribute SVGPathElementConstructor SVGPathElement; 598 attribute SVGPathSegConstructor SVGPathSeg; 599 attribute SVGPathSegArcAbsConstructor SVGPathSegArcAbs; 600 attribute SVGPathSegArcRelConstructor SVGPathSegArcRel; 601 attribute SVGPathSegClosePathConstructor SVGPathSegClosePath; 602 attribute SVGPathSegCurvetoCubicAbsConstructor SVGPathSegCurvetoCubicAbs; 603 attribute SVGPathSegCurvetoCubicRelConstructor SVGPathSegCurvetoCubicRel; 604 attribute SVGPathSegCurvetoCubicSmoothAbsConstructor SVGPathSegCurvetoCubicSmoothAbs; 605 attribute SVGPathSegCurvetoCubicSmoothRelConstructor SVGPathSegCurvetoCubicSmoothRel; 606 attribute SVGPathSegCurvetoQuadraticAbsConstructor SVGPathSegCurvetoQuadraticAbs; 607 attribute SVGPathSegCurvetoQuadraticRelConstructor SVGPathSegCurvetoQuadraticRel; 608 attribute SVGPathSegCurvetoQuadraticSmoothAbsConstructor SVGPathSegCurvetoQuadraticSmoothAbs; 609 attribute SVGPathSegCurvetoQuadraticSmoothRelConstructor SVGPathSegCurvetoQuadraticSmoothRel; 610 attribute SVGPathSegLinetoAbsConstructor SVGPathSegLinetoAbs; 611 attribute SVGPathSegLinetoHorizontalAbsConstructor SVGPathSegLinetoHorizontalAbs; 612 attribute SVGPathSegLinetoHorizontalRelConstructor SVGPathSegLinetoHorizontalRel; 613 attribute SVGPathSegLinetoRelConstructor SVGPathSegLinetoRel; 614 attribute SVGPathSegLinetoVerticalAbsConstructor SVGPathSegLinetoVerticalAbs; 615 attribute SVGPathSegLinetoVerticalRelConstructor SVGPathSegLinetoVerticalRel; 616 attribute SVGPathSegListConstructor SVGPathSegList; 617 attribute SVGPathSegMovetoAbsConstructor SVGPathSegMovetoAbs; 618 attribute SVGPathSegMovetoRelConstructor SVGPathSegMovetoRel; 619 attribute SVGPatternElementConstructor SVGPatternElement; 620 attribute SVGPointConstructor SVGPoint; 621 attribute SVGPointListConstructor SVGPointList; 622 attribute SVGPolygonElementConstructor SVGPolygonElement; 623 attribute SVGPolylineElementConstructor SVGPolylineElement; 624 attribute SVGPreserveAspectRatioConstructor SVGPreserveAspectRatio; 625 attribute SVGRadialGradientElementConstructor SVGRadialGradientElement; 626 attribute SVGRectConstructor SVGRect; 627 attribute SVGRectElementConstructor SVGRectElement; 628 attribute SVGRenderingIntentConstructor SVGRenderingIntent; 629 attribute SVGScriptElementConstructor SVGScriptElement; 630 attribute SVGStopElementConstructor SVGStopElement; 631 attribute SVGStringListConstructor SVGStringList; 632 attribute SVGStyleElementConstructor SVGStyleElement; 633 attribute SVGSVGElementConstructor SVGSVGElement; 634 attribute SVGSwitchElementConstructor SVGSwitchElement; 635 attribute SVGSymbolElementConstructor SVGSymbolElement; 636 attribute SVGTextContentElementConstructor SVGTextContentElement; 637 attribute SVGTextElementConstructor SVGTextElement; 638 attribute SVGTextPathElementConstructor SVGTextPathElement; 639 attribute SVGTextPositioningElementConstructor SVGTextPositioningElement; 640 attribute SVGTitleElementConstructor SVGTitleElement; 641 attribute SVGTransformConstructor SVGTransform; 642 attribute SVGTransformListConstructor SVGTransformList; 643 attribute SVGTRefElementConstructor SVGTRefElement; 644 attribute SVGTSpanElementConstructor SVGTSpanElement; 645 attribute SVGUnitTypesConstructor SVGUnitTypes; 646 attribute SVGUseElementConstructor SVGUseElement; 647 attribute SVGViewElementConstructor SVGViewElement; 648 // attribute SVGViewSpecConstructor SVGViewSpec; 649 attribute SVGZoomEventConstructor SVGZoomEvent; 650 651 #if defined(ENABLE_SVG_ANIMATION) && ENABLE_SVG_ANIMATION 652 attribute SVGAnimateColorElementConstructor SVGAnimateColorElement; 653 attribute SVGAnimateElementConstructor SVGAnimateElement; 654 // attribute SVGAnimateMotionElementConstructor SVGAnimateMotionElement; 655 attribute SVGAnimateTransformElementConstructor SVGAnimateTransformElement; 656 // attribute SVGMPathElementConstructor SVGMPathElement; 657 attribute SVGSetElementConstructor SVGSetElement; 658 #endif 659 660 #if ENABLE_SVG_FONTS && ENABLE_SVG_FONTS 661 // attribute SVGAltGlyphDefElementConstructor SVGAltGlyphDefElement; 662 attribute SVGAltGlyphElementConstructor SVGAltGlyphElement; 663 // attribute SVGAltGlyphItemElementConstructor SVGAltGlyphItemElement; 664 // attribute SVGDefinitionSrcElementConstructor SVGDefinitionSrcElement; 665 attribute SVGFontElementConstructor SVGFontElement; 666 attribute SVGFontFaceElementConstructor SVGFontFaceElement; 667 attribute SVGFontFaceFormatElementConstructor SVGFontFaceFormatElement; 668 attribute SVGFontFaceNameElementConstructor SVGFontFaceNameElement; 669 attribute SVGFontFaceSrcElementConstructor SVGFontFaceSrcElement; 670 attribute SVGFontFaceUriElementConstructor SVGFontFaceUriElement; 671 attribute SVGGlyphElementConstructor SVGGlyphElement; 672 // attribute SVGGlyphRefElementConstructor SVGGlyphRefElement; 673 // attribute SVGHKernElementConstructor SVGHKernElement; 674 attribute SVGMissingGlyphElementConstructor SVGMissingGlyphElement; 675 // attribute SVGVKernElementConstructor SVGVKernElement; 676 #endif 677 678 #if defined(ENABLE_SVG_FOREIGN_OBJECT) && ENABLE_SVG_FOREIGN_OBJECT 679 attribute SVGForeignObjectElementConstructor SVGForeignObjectElement; 680 #endif 681 682 #if defined(ENABLE_FILTERS) && ENABLE_FILTERS 683 attribute SVGComponentTransferFunctionElementConstructor SVGComponentTransferFunctionElement; 684 attribute SVGFEBlendElementConstructor SVGFEBlendElement; 685 attribute SVGFEColorMatrixElementConstructor SVGFEColorMatrixElement; 686 attribute SVGFEComponentTransferElementConstructor SVGFEComponentTransferElement; 687 attribute SVGFECompositeElementConstructor SVGFECompositeElement; 688 // attribute SVGFEConvolveMatrixElementConstructor SVGFEConvolveMatrixElement; 689 attribute SVGFEDiffuseLightingElementConstructor SVGFEDiffuseLightingElement; 690 attribute SVGFEDisplacementMapElementConstructor SVGFEDisplacementMapElement; 691 attribute SVGFEDistantLightElementConstructor SVGFEDistantLightElement; 692 attribute SVGFEFloodElementConstructor SVGFEFloodElement; 693 attribute SVGFEFuncAElementConstructor SVGFEFuncAElement; 694 attribute SVGFEFuncBElementConstructor SVGFEFuncBElement; 695 attribute SVGFEFuncGElementConstructor SVGFEFuncGElement; 696 attribute SVGFEFuncRElementConstructor SVGFEFuncRElement; 697 attribute SVGFEGaussianBlurElementConstructor SVGFEGaussianBlurElement; 698 attribute SVGFEImageElementConstructor SVGFEImageElement; 699 attribute SVGFEMergeElementConstructor SVGFEMergeElement; 700 attribute SVGFEMergeNodeElementConstructor SVGFEMergeNodeElement; 701 attribute SVGFEMorphologyElementConstructor SVGFEMorphologyElement; 702 attribute SVGFEOffsetElementConstructor SVGFEOffsetElement; 703 attribute SVGFEPointLightElementConstructor SVGFEPointLightElement; 704 attribute SVGFESpecularLightingElementConstructor SVGFESpecularLightingElement; 705 attribute SVGFESpotLightElementConstructor SVGFESpotLightElement; 706 attribute SVGFETileElementConstructor SVGFETileElement; 707 attribute SVGFETurbulenceElementConstructor SVGFETurbulenceElement; 708 attribute SVGFilterElementConstructor SVGFilterElement; 709 #endif 710 #endif 711 712 #if defined(ENABLE_TOUCH_EVENTS) && ENABLE_TOUCH_EVENTS 713 attribute TouchEventConstructor TouchEvent; 714 #endif 715 716 #endif // defined(LANGUAGE_JAVASCRIPT) 717 718 #if defined(V8_BINDING) && V8_BINDING 719 // window.toString() requires special handling in V8 720 [V8DoNotCheckSignature, DoNotCheckDomainSecurity, Custom, DontEnum] DOMString toString(); 721 #endif // defined(V8_BINDING) 722 }; 723 724 } 725 726