OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | |
3 * Copyright (C) 2011 Google Inc. All rights reserved. | |
4 * | |
5 * Redistribution and use in source and binary forms, with or without | |
6 * modification, are permitted provided that the following conditions | |
7 * are met: | |
8 * 1. Redistributions of source code must retain the above copyright | |
9 * notice, this list of conditions and the following disclaimer. | |
10 * 2. Redistributions in binary form must reproduce the above copyright | |
11 * notice, this list of conditions and the following disclaimer in the | |
12 * documentation and/or other materials provided with the distribution. | |
13 * | |
14 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY | |
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR | |
18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | |
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | |
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
25 */ | |
26 | |
27 [ | |
28 CheckSecurity, | |
29 CustomToV8, | |
30 DoNotGenerateWrap, | |
31 ImplementedAs=DOMWindow | |
32 ] interface Window : EventTarget { | |
33 // DOM Level 0 | |
34 [Replaceable] readonly attribute Screen screen; | |
35 [Replaceable] readonly attribute History history; | |
36 [Replaceable] readonly attribute BarProp locationbar; | |
37 [Replaceable] readonly attribute BarProp menubar; | |
38 [Replaceable] readonly attribute BarProp personalbar; | |
39 [Replaceable] readonly attribute BarProp scrollbars; | |
40 [Replaceable] readonly attribute BarProp statusbar; | |
41 [Replaceable] readonly attribute BarProp toolbar; | |
42 [Replaceable, PerWorldBindings, ActivityLog=GetterForIsolatedWorlds] readonl
y attribute Navigator navigator; | |
43 [Replaceable] readonly attribute Navigator clientInformation; | |
44 [DoNotCheckSecurity, CustomSetter, Unforgeable, Replaceable, PerWorldBinding
s, ActivityLog=AccessForIsolatedWorlds] readonly attribute Location location; | |
45 [MeasureAs=WindowEvent, NotEnumerable, Replaceable, CustomGetter, CustomSett
er] readonly attribute Event event; | |
46 | |
47 Selection getSelection(); | |
48 | |
49 [CheckSecurityForNode] readonly attribute Element frameElement; | |
50 | |
51 [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void focus(); | |
52 [DoNotCheckSecurity] void blur(); | |
53 [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void close(); | |
54 | |
55 void print(); | |
56 void stop(); | |
57 | |
58 [Custom] Window open(DOMString url, | |
59 DOMString name, | |
60 optional DOMString options); | |
61 | |
62 [Custom] any showModalDialog(DOMString url, | |
63 optional any dialogArgs, | |
64 optional DOMString featureArgs); | |
65 | |
66 void alert([Default=Undefined] optional DOMString message); | |
67 boolean confirm([Default=Undefined] optional DOMString message); | |
68 [TreatReturnedNullStringAs=Null] DOMString prompt([Default=Undefined] option
al DOMString message, | |
69 [TreatNullAs=NullString, TreatUn
definedAs=NullString,Default=Undefined] optional DOMString defaultValue); | |
70 | |
71 boolean find([Default=Undefined] optional DOMString string, | |
72 [Default=Undefined] optional boolean caseSensitive, | |
73 [Default=Undefined] optional boolean backwards, | |
74 [Default=Undefined] optional boolean wrap, | |
75 [Default=Undefined] optional boolean wholeWord, | |
76 [Default=Undefined] optional boolean searchInFrames, | |
77 [Default=Undefined] optional boolean showDialog); | |
78 | |
79 [Replaceable] readonly attribute boolean offscreenBuffering; | |
80 | |
81 [Replaceable] readonly attribute long outerHeight; | |
82 [Replaceable] readonly attribute long outerWidth; | |
83 [Replaceable] readonly attribute long innerHeight; | |
84 [Replaceable] readonly attribute long innerWidth; | |
85 [Replaceable] readonly attribute long screenX; | |
86 [Replaceable] readonly attribute long screenY; | |
87 [Replaceable] readonly attribute long screenLeft; | |
88 [Replaceable] readonly attribute long screenTop; | |
89 [Replaceable] readonly attribute long scrollX; | |
90 [Replaceable] readonly attribute long scrollY; | |
91 readonly attribute long pageXOffset; | |
92 readonly attribute long pageYOffset; | |
93 | |
94 void scrollBy([Default=Undefined] optional long x, [Default=Undefined] optio
nal long y); | |
95 void scrollTo([Default=Undefined] optional long x, [Default=Undefined] optio
nal long y); | |
96 void scroll([Default=Undefined] optional long x, [Default=Undefined] optiona
l long y); | |
97 void moveBy([Default=Undefined] optional float x, [Default=Undefined] option
al float y); // FIXME: this should take longs not floats. | |
98 void moveTo([Default=Undefined] optional float x, [Default=Undefined] option
al float y); // FIXME: this should take longs not floats. | |
99 void resizeBy([Default=Undefined] optional float x, [Default=Undefined] opti
onal float y); // FIXME: this should take longs not floats. | |
100 void resizeTo([Default=Undefined] optional float width, [Default=Undefined]
optional float height); // FIXME: this should take longs not floats. | |
101 | |
102 [DoNotCheckSecurity] readonly attribute boolean closed; | |
103 | |
104 [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute unsigned long l
ength; | |
105 | |
106 attribute DOMString name; | |
107 | |
108 attribute DOMString status; | |
109 attribute DOMString defaultStatus; | |
110 // This attribute is an alias of defaultStatus and is necessary for legacy u
ses. | |
111 attribute DOMString defaultstatus; | |
112 | |
113 // Self referential attributes | |
114 [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute Window self; | |
115 [DoNotCheckSecurity, Unforgeable] readonly attribute Window window; | |
116 [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute Window frames; | |
117 | |
118 [Replaceable, DoNotCheckSecurityOnGetter, CustomSetter] readonly attribute W
indow opener; | |
119 [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute Window parent; | |
120 [DoNotCheckSecurityOnGetter, Unforgeable] readonly attribute Window top; | |
121 | |
122 // DOM Level 2 AbstractView Interface | |
123 readonly attribute Document document; | |
124 | |
125 // CSSOM View Module | |
126 MediaQueryList matchMedia(DOMString query); | |
127 | |
128 // styleMedia has been removed from the CSSOM View specification. | |
129 readonly attribute StyleMedia styleMedia; | |
130 | |
131 // DOM Level 2 Style Interface | |
132 [PerWorldBindings] CSSStyleDeclaration getComputedStyle([Default=Undefined]
optional Element element, | |
133 [TreatNullAs=NullS
tring, TreatUndefinedAs=NullString,Default=Undefined] optional DOMString pseudoE
lement); | |
134 | |
135 // WebKit extensions | |
136 CSSRuleList getMatchedCSSRules([Default=Undefined] optional Element element, | |
137 [TreatNullAs=NullString, TreatUndefinedAs=Nul
lString,Default=Undefined] optional DOMString pseudoElement); | |
138 | |
139 [Replaceable] readonly attribute double devicePixelRatio; | |
140 | |
141 WebKitPoint webkitConvertPointFromPageToNode([Default=Undefined] optional No
de node, | |
142 [Default=Undefined] optional We
bKitPoint p); | |
143 WebKitPoint webkitConvertPointFromNodeToPage([Default=Undefined] optional No
de node, | |
144 [Default=Undefined] optional We
bKitPoint p); | |
145 | |
146 [EnabledAtRuntime=ApplicationCache, PerWorldBindings, ActivityLog=GetterForI
solatedWorlds] readonly attribute ApplicationCache applicationCache; | |
147 | |
148 [EnabledAtRuntime=SessionStorage, PerWorldBindings, ActivityLog=GetterForIso
latedWorlds, GetterRaisesException] readonly attribute Storage sessionStorage; | |
149 [EnabledAtRuntime=LocalStorage, PerWorldBindings, ActivityLog=GetterForIsola
tedWorlds, GetterRaisesException] readonly attribute Storage localStorage; | |
150 | |
151 // This is the interface orientation in degrees. Some examples are: | |
152 // 0 is straight up; -90 is when the device is rotated 90 clockwise; | |
153 // 90 is when rotated counter clockwise. | |
154 [Conditional=ORIENTATION_EVENTS] readonly attribute long orientation; | |
155 | |
156 [Replaceable] readonly attribute Console console; | |
157 | |
158 // cross-document messaging | |
159 [DoNotCheckSecurity, Custom, RaisesException] void postMessage(SerializedScr
iptValue message, DOMString targetOrigin, optional Array messagePorts); | |
160 | |
161 [Replaceable] readonly attribute Performance performance; | |
162 | |
163 [MeasureAs=UnprefixedRequestAnimationFrame] long requestAnimationFrame(Reque
stAnimationFrameCallback callback); | |
164 void cancelAnimationFrame(long id); | |
165 [MeasureAs=PrefixedRequestAnimationFrame] long webkitRequestAnimationFrame(R
equestAnimationFrameCallback callback); | |
166 [ImplementedAs=cancelAnimationFrame] void webkitCancelAnimationFrame(long id
); | |
167 [ImplementedAs=cancelAnimationFrame] void webkitCancelRequestAnimationFrame(
long id); // This is a deprecated alias for webkitCancelAnimationFrame(). Remove
this when removing vendor prefix. | |
168 | |
169 [Replaceable] readonly attribute CSS CSS; | |
170 | |
171 // Events | |
172 attribute EventHandler onabort; | |
173 attribute EventHandler onbeforeunload; | |
174 attribute EventHandler onblur; | |
175 attribute EventHandler oncanplay; | |
176 attribute EventHandler oncanplaythrough; | |
177 attribute EventHandler onchange; | |
178 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onclick; | |
179 attribute EventHandler oncontextmenu; | |
180 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er ondblclick; | |
181 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er ondrag; | |
182 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er ondragend; | |
183 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er ondragenter; | |
184 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er ondragleave; | |
185 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er ondragover; | |
186 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er ondragstart; | |
187 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er ondrop; | |
188 attribute EventHandler ondurationchange; | |
189 attribute EventHandler onemptied; | |
190 attribute EventHandler onended; | |
191 attribute EventHandler onerror; | |
192 attribute EventHandler onfocus; | |
193 attribute EventHandler onhashchange; | |
194 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er oninput; | |
195 attribute EventHandler oninvalid; | |
196 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onkeydown; | |
197 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onkeypress; | |
198 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onkeyup; | |
199 attribute EventHandler onload; | |
200 attribute EventHandler onloadeddata; | |
201 attribute EventHandler onloadedmetadata; | |
202 attribute EventHandler onloadstart; | |
203 attribute EventHandler onmessage; | |
204 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onmousedown; | |
205 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onmouseenter; | |
206 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onmouseleave; | |
207 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onmousemove; | |
208 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onmouseout; | |
209 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onmouseover; | |
210 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onmouseup; | |
211 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onmousewheel; // Deprecated in favor of onwheel. | |
212 [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandl
er onwheel; | |
213 attribute EventHandler onoffline; | |
214 attribute EventHandler ononline; | |
215 attribute EventHandler onpagehide; | |
216 attribute EventHandler onpageshow; | |
217 attribute EventHandler onpause; | |
218 attribute EventHandler onplay; | |
219 attribute EventHandler onplaying; | |
220 attribute EventHandler onpopstate; | |
221 attribute EventHandler onprogress; | |
222 attribute EventHandler onratechange; | |
223 attribute EventHandler onresize; | |
224 attribute EventHandler onscroll; | |
225 attribute EventHandler onseeked; | |
226 attribute EventHandler onseeking; | |
227 attribute EventHandler onselect; | |
228 attribute EventHandler onstalled; | |
229 attribute EventHandler onstorage; | |
230 attribute EventHandler onsubmit; | |
231 attribute EventHandler onsuspend; | |
232 attribute EventHandler ontimeupdate; | |
233 attribute EventHandler onunload; | |
234 attribute EventHandler onvolumechange; | |
235 attribute EventHandler onwaiting; | |
236 | |
237 // Not implemented yet. | |
238 // attribute EventHandler onafterprint; | |
239 // attribute EventHandler onbeforeprint; | |
240 // attribute EventHandler onreadystatechange; | |
241 // attribute EventHandler onredo; | |
242 // attribute EventHandler onshow; | |
243 // attribute EventHandler onundo; | |
244 | |
245 // Webkit extensions | |
246 attribute EventHandler onreset; | |
247 attribute EventHandler onsearch; | |
248 [EnabledAtRuntime=CSSAnimationUnprefixed] attribute EventHandler onanimation
end; | |
249 [EnabledAtRuntime=CSSAnimationUnprefixed] attribute EventHandler onanimation
iteration; | |
250 [EnabledAtRuntime=CSSAnimationUnprefixed] attribute EventHandler onanimation
start; | |
251 attribute EventHandler onwebkitanimationend; | |
252 attribute EventHandler onwebkitanimationiteration; | |
253 attribute EventHandler onwebkitanimationstart; | |
254 attribute EventHandler onwebkittransitionend; | |
255 attribute EventHandler ontransitionend; | |
256 [Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange; | |
257 [EnabledAtRuntime=Touch] attribute EventHandler ontouchstart; | |
258 [EnabledAtRuntime=Touch] attribute EventHandler ontouchmove; | |
259 [EnabledAtRuntime=Touch] attribute EventHandler ontouchend; | |
260 [EnabledAtRuntime=Touch] attribute EventHandler ontouchcancel; | |
261 | |
262 [EnabledAtRuntime=DeviceMotion] attribute EventHandler ondevicemotion; | |
263 [EnabledAtRuntime=DeviceOrientation] attribute EventHandler ondeviceorientat
ion; | |
264 | |
265 [DeprecateAs=CaptureEvents] void captureEvents(); | |
266 [DeprecateAs=ReleaseEvents] void releaseEvents(); | |
267 | |
268 // Additional constructors. | |
269 attribute TransitionEventConstructor WebKitTransitionEvent; | |
270 [EnabledAtRuntime=CSSAnimationUnprefixed] attribute WebKitAnimationEventCons
tructor AnimationEvent; | |
271 [CustomConstructor] attribute HTMLImageElementConstructorConstructor Image;
// Usable with new operator | |
272 // Mozilla has a separate XMLDocument object for XML documents. | |
273 // We just use Document for this. | |
274 attribute DocumentConstructor XMLDocument; | |
275 attribute URLConstructor webkitURL; // FIXME: deprecate this. | |
276 attribute MutationObserverConstructor WebKitMutationObserver; // FIXME: Add
metrics to determine when we can remove this. | |
277 attribute IDBCursorConstructor webkitIDBCursor; | |
278 attribute IDBDatabaseConstructor webkitIDBDatabase; | |
279 attribute IDBFactoryConstructor webkitIDBFactory; | |
280 attribute IDBIndexConstructor webkitIDBIndex; | |
281 attribute IDBKeyRangeConstructor webkitIDBKeyRange; | |
282 attribute IDBObjectStoreConstructor webkitIDBObjectStore; | |
283 attribute IDBRequestConstructor webkitIDBRequest; | |
284 attribute IDBTransactionConstructor webkitIDBTransaction; | |
285 | |
286 // Constructors whose name does not match the interface name. | |
287 // FIXME: Remove these once [ImplementedAs] is used and once constructor nam
es match interface names. | |
288 [EnabledAtRuntime=MediaStream] attribute MediaStreamConstructor webkitMediaS
tream; | |
289 [Conditional=WEB_AUDIO, EnabledAtRuntime=WebAudio] attribute AudioContextCon
structor webkitAudioContext; | |
290 [Conditional=WEB_AUDIO, EnabledAtRuntime=WebAudio] attribute OfflineAudioCon
textConstructor webkitOfflineAudioContext; | |
291 [EnabledAtRuntime=PeerConnection] attribute RTCPeerConnectionConstructor web
kitRTCPeerConnection; | |
292 [EnabledAtRuntime=ScriptedSpeech] attribute SpeechGrammarConstructor webkitS
peechGrammar; | |
293 [EnabledAtRuntime=ScriptedSpeech] attribute SpeechGrammarListConstructor web
kitSpeechGrammarList; | |
294 [EnabledAtRuntime=ScriptedSpeech] attribute SpeechRecognitionConstructor web
kitSpeechRecognition; | |
295 [EnabledAtRuntime=ScriptedSpeech] attribute SpeechRecognitionErrorConstructo
r webkitSpeechRecognitionError; | |
296 [EnabledAtRuntime=ScriptedSpeech] attribute SpeechRecognitionEventConstructo
r webkitSpeechRecognitionEvent; | |
297 [Conditional=WEB_AUDIO] attribute PannerNodeConstructor webkitAudioPannerNod
e; | |
298 | |
299 // Prefixed ShadowRoot constructor should be phased out eventually, but for
the moment it must be always exposed. | |
300 // Unprefixed ShadowRoot constructor should be visible when the feature flag
is enabled. | |
301 // FIXME: When it's ready to remove WebKitShadowRoot, get rid of both constr
uctors from Window.idl and remove | |
302 // [NoInterfaceObject] from ShadowRoot interface definition. | |
303 [EnabledAtRuntime=ShadowDOM] attribute ShadowRootConstructor ShadowRoot; | |
304 [MeasureAs=PrefixedShadowRootConstructor] attribute ShadowRootConstructor We
bKitShadowRoot; | |
305 | |
306 // window.toString() requires special handling in V8 | |
307 [DoNotCheckSignature, DoNotCheckSecurity, Custom, NotEnumerable] DOMString t
oString(); | |
308 | |
309 [ImplementedAs=anonymousIndexedGetter, NotEnumerable] getter Window(unsigned
long index); | |
310 [Custom, NotEnumerable] getter Window (DOMString name); | |
311 }; | |
312 | |
313 Window implements ImageBitmapFactories; | |
314 Window implements WindowTimers; | |
315 Window implements WindowBase64; | |
OLD | NEW |