diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/frame/Window.idl')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/frame/Window.idl | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/chromium/third_party/WebKit/Source/core/frame/Window.idl b/chromium/third_party/WebKit/Source/core/frame/Window.idl new file mode 100644 index 00000000000..632e3a26b45 --- /dev/null +++ b/chromium/third_party/WebKit/Source/core/frame/Window.idl @@ -0,0 +1,243 @@ +/* + * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. + * Copyright (C) 2011 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// HTML 5 draft spec: +// http://www.w3.org/html/wg/drafts/html/master/browsers.html#window +// FIXME: explain all uses of [DoNotCheckSecurity] +[ + CheckSecurity=Frame, + Custom=ToV8, + ImplementedAs=DOMWindow, +] interface Window : EventTarget { + // DOM Level 0 + [Replaceable] readonly attribute Screen screen; + [Replaceable] readonly attribute History history; + [Replaceable] readonly attribute BarProp locationbar; + [Replaceable] readonly attribute BarProp menubar; + [Replaceable] readonly attribute BarProp personalbar; + [Replaceable] readonly attribute BarProp scrollbars; + [Replaceable] readonly attribute BarProp statusbar; + [Replaceable] readonly attribute BarProp toolbar; + [Replaceable, PerWorldBindings, ActivityLogging=GetterForIsolatedWorlds] readonly attribute Navigator navigator; + [Replaceable] readonly attribute Navigator clientInformation; + [DoNotCheckSecurity, Unforgeable, Replaceable, PerWorldBindings, ActivityLogging=ForIsolatedWorlds, PutForwards=href] readonly attribute Location location; + [Custom, MeasureAs=WindowEvent, NotEnumerable] attribute Event event; + + Selection getSelection(); + + [CheckSecurity=Node, Custom=Getter] readonly attribute Element frameElement; + + [DoNotCheckSecurity, CallWith=ExecutionContext] void focus(); + [DoNotCheckSecurity] void blur(); + [DoNotCheckSecurity, CallWith=ExecutionContext] void close(); + + void print(); + void stop(); + + [Custom] Window open(DOMString url, + DOMString name, + optional DOMString options); + + [Custom] any showModalDialog(DOMString url, + optional any dialogArgs, + optional DOMString featureArgs); + + void alert([Default=Undefined] optional DOMString message); + boolean confirm([Default=Undefined] optional DOMString message); + [TreatReturnedNullStringAs=Null] DOMString prompt([Default=Undefined] optional DOMString message, + [TreatNullAs=NullString, TreatUndefinedAs=NullString,Default=Undefined] optional DOMString defaultValue); + + boolean find([Default=Undefined] optional DOMString string, + [Default=Undefined] optional boolean caseSensitive, + [Default=Undefined] optional boolean backwards, + [Default=Undefined] optional boolean wrap, + [Default=Undefined] optional boolean wholeWord, + [Default=Undefined] optional boolean searchInFrames, + [Default=Undefined] optional boolean showDialog); + + [Replaceable] readonly attribute boolean offscreenBuffering; + + [Replaceable] readonly attribute long outerHeight; + [Replaceable] readonly attribute long outerWidth; + [Replaceable] readonly attribute long innerHeight; + [Replaceable] readonly attribute long innerWidth; + [Replaceable] readonly attribute long screenX; + [Replaceable] readonly attribute long screenY; + [Replaceable] readonly attribute long screenLeft; + [Replaceable] readonly attribute long screenTop; + [Replaceable] readonly attribute long scrollX; + [Replaceable] readonly attribute long scrollY; + readonly attribute long pageXOffset; + readonly attribute long pageYOffset; + + void scrollBy(long x, long y); + void scrollTo(long x, long y); + void scroll(long x, long y); + void moveBy([Default=Undefined] optional float x, [Default=Undefined] optional float y); // FIXME: this should take longs not floats. + void moveTo([Default=Undefined] optional float x, [Default=Undefined] optional float y); // FIXME: this should take longs not floats. + void resizeBy([Default=Undefined] optional float x, [Default=Undefined] optional float y); // FIXME: this should take longs not floats. + void resizeTo([Default=Undefined] optional float width, [Default=Undefined] optional float height); // FIXME: this should take longs not floats. + + [DoNotCheckSecurity] readonly attribute boolean closed; + + [Replaceable, DoNotCheckSecurity] readonly attribute unsigned long length; + + attribute DOMString name; + + attribute DOMString status; + attribute DOMString defaultStatus; + // This attribute is an alias of defaultStatus and is necessary for legacy uses. + [ImplementedAs=defaultStatus] attribute DOMString defaultstatus; + + // Self referential attributes + [Replaceable, DoNotCheckSecurity] readonly attribute Window self; + [DoNotCheckSecurity, Unforgeable] readonly attribute Window window; + [Replaceable, DoNotCheckSecurity] readonly attribute Window frames; + + [DoNotCheckSecurity, Custom=Setter] attribute Window opener; + [Replaceable, DoNotCheckSecurity] readonly attribute Window parent; + [DoNotCheckSecurity, Unforgeable] readonly attribute Window top; + + // DOM Level 2 AbstractView Interface + readonly attribute Document document; + + // CSSOM View Module + MediaQueryList matchMedia(DOMString query); + + // styleMedia has been removed from the CSSOM View specification. + readonly attribute StyleMedia styleMedia; + + // DOM Level 2 Style Interface + [PerWorldBindings] CSSStyleDeclaration getComputedStyle([Default=Undefined] optional Element element, + [TreatNullAs=NullString, TreatUndefinedAs=NullString,Default=Undefined] optional DOMString pseudoElement); + + // WebKit extensions + CSSRuleList getMatchedCSSRules([Default=Undefined] optional Element element, + [TreatNullAs=NullString, TreatUndefinedAs=NullString,Default=Undefined] optional DOMString pseudoElement); + + [Replaceable] readonly attribute double devicePixelRatio; + + WebKitPoint webkitConvertPointFromPageToNode([Default=Undefined] optional Node node, + [Default=Undefined] optional WebKitPoint p); + WebKitPoint webkitConvertPointFromNodeToPage([Default=Undefined] optional Node node, + [Default=Undefined] optional WebKitPoint p); + + [RuntimeEnabled=ApplicationCache, PerWorldBindings, ActivityLogging=GetterForIsolatedWorlds] readonly attribute ApplicationCache applicationCache; + + [RuntimeEnabled=SessionStorage, PerWorldBindings, ActivityLogging=GetterForIsolatedWorlds, RaisesException=Getter] readonly attribute Storage sessionStorage; + [RuntimeEnabled=LocalStorage, PerWorldBindings, ActivityLogging=GetterForIsolatedWorlds, RaisesException=Getter] readonly attribute Storage localStorage; + + // This is the interface orientation in degrees. Some examples are: + // 0 is straight up; -90 is when the device is rotated 90 clockwise; + // 90 is when rotated counter clockwise. + [Conditional=ORIENTATION_EVENTS] readonly attribute long orientation; + + [Replaceable] readonly attribute Console console; + + // cross-document messaging + [DoNotCheckSecurity, Custom, RaisesException] void postMessage(SerializedScriptValue message, DOMString targetOrigin, optional Array messagePorts); + + [Replaceable] readonly attribute Performance performance; + + [MeasureAs=UnprefixedRequestAnimationFrame] long requestAnimationFrame(RequestAnimationFrameCallback callback); + void cancelAnimationFrame(long id); + [MeasureAs=PrefixedRequestAnimationFrame] long webkitRequestAnimationFrame(RequestAnimationFrameCallback callback); + [ImplementedAs=cancelAnimationFrame] void webkitCancelAnimationFrame(long id); + [ImplementedAs=cancelAnimationFrame] void webkitCancelRequestAnimationFrame(long id); // This is a deprecated alias for webkitCancelAnimationFrame(). Remove this when removing vendor prefix. + + [Replaceable] readonly attribute CSS CSS; + + // Event handler attributes + [RuntimeEnabled=CSSAnimationUnprefixed] attribute EventHandler onanimationend; + [RuntimeEnabled=CSSAnimationUnprefixed] attribute EventHandler onanimationiteration; + [RuntimeEnabled=CSSAnimationUnprefixed] attribute EventHandler onanimationstart; + [RuntimeEnabled=DeviceMotion] attribute EventHandler ondevicemotion; + [RuntimeEnabled=DeviceOrientation] attribute EventHandler ondeviceorientation; + [Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange; + attribute EventHandler onsearch; + [RuntimeEnabled=Touch] attribute EventHandler ontouchcancel; + [RuntimeEnabled=Touch] attribute EventHandler ontouchend; + [RuntimeEnabled=Touch] attribute EventHandler ontouchmove; + [RuntimeEnabled=Touch] attribute EventHandler ontouchstart; + attribute EventHandler ontransitionend; + attribute EventHandler onwebkitanimationend; + attribute EventHandler onwebkitanimationiteration; + attribute EventHandler onwebkitanimationstart; + attribute EventHandler onwebkittransitionend; + [PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute EventHandler onwheel; + + [DeprecateAs=CaptureEvents] void captureEvents(); + [DeprecateAs=ReleaseEvents] void releaseEvents(); + + // Additional constructors. + attribute TransitionEventConstructor WebKitTransitionEvent; + [RuntimeEnabled=CSSAnimationUnprefixed] attribute WebKitAnimationEventConstructor AnimationEvent; + // Mozilla has a separate XMLDocument object for XML documents. + // We just use Document for this. + attribute DocumentConstructor XMLDocument; + attribute URLConstructor webkitURL; // FIXME: deprecate this. + attribute MutationObserverConstructor WebKitMutationObserver; // FIXME: Add metrics to determine when we can remove this. + attribute IDBCursorConstructor webkitIDBCursor; + attribute IDBDatabaseConstructor webkitIDBDatabase; + attribute IDBFactoryConstructor webkitIDBFactory; + attribute IDBIndexConstructor webkitIDBIndex; + attribute IDBKeyRangeConstructor webkitIDBKeyRange; + attribute IDBObjectStoreConstructor webkitIDBObjectStore; + attribute IDBRequestConstructor webkitIDBRequest; + attribute IDBTransactionConstructor webkitIDBTransaction; + + // Constructors whose name does not match the interface name. + // FIXME: Remove these once [ImplementedAs] is used and once constructor names match interface names. + [RuntimeEnabled=MediaStream] attribute MediaStreamConstructor webkitMediaStream; + [Conditional=WEB_AUDIO, RuntimeEnabled=WebAudio] attribute AudioContextConstructor webkitAudioContext; + [Conditional=WEB_AUDIO, RuntimeEnabled=WebAudio] attribute OfflineAudioContextConstructor webkitOfflineAudioContext; + [RuntimeEnabled=PeerConnection] attribute RTCPeerConnectionConstructor webkitRTCPeerConnection; + [RuntimeEnabled=ScriptedSpeech] attribute SpeechGrammarConstructor webkitSpeechGrammar; + [RuntimeEnabled=ScriptedSpeech] attribute SpeechGrammarListConstructor webkitSpeechGrammarList; + [RuntimeEnabled=ScriptedSpeech] attribute SpeechRecognitionConstructor webkitSpeechRecognition; + [RuntimeEnabled=ScriptedSpeech] attribute SpeechRecognitionErrorConstructor webkitSpeechRecognitionError; + [RuntimeEnabled=ScriptedSpeech] attribute SpeechRecognitionEventConstructor webkitSpeechRecognitionEvent; + [Conditional=WEB_AUDIO] attribute PannerNodeConstructor webkitAudioPannerNode; + + // Prefixed ShadowRoot constructor should be phased out eventually, but for the moment it must be always exposed. + // Unprefixed ShadowRoot constructor should be visible when the feature flag is enabled. + // FIXME: When it's ready to remove WebKitShadowRoot, get rid of both constructors from Window.idl and remove + // [NoInterfaceObject] from ShadowRoot interface definition. + [RuntimeEnabled=ShadowDOM] attribute ShadowRootConstructor ShadowRoot; + [MeasureAs=PrefixedShadowRootConstructor] attribute ShadowRootConstructor WebKitShadowRoot; + + // window.toString() requires special handling in V8 + [DoNotCheckSignature, DoNotCheckSecurity, Custom, NotEnumerable] DOMString toString(); + + [ImplementedAs=anonymousIndexedGetter, NotEnumerable] getter Window(unsigned long index); + [Custom, NotEnumerable] getter Window (DOMString name); +}; + +Window implements GlobalEventHandlers; +Window implements ImageBitmapFactories; +Window implements WindowBase64; +Window implements WindowEventHandlers; +Window implements WindowTimers; |