Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Side by Side Diff: Source/core/frame/Window.idl

Issue 393353003: Improve the declared IDL type for postMessage()'s transferables (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Use sequence<Transferable> rather than Transferable[] Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/dom/MessagePort.idl ('k') | Source/core/workers/DedicatedWorkerGlobalScope.idl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 * Copyright (C) 2011 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 [RuntimeEnabled=LocalStorage, LogActivity=GetterOnly, RaisesException=Getter ] readonly attribute Storage localStorage; 159 [RuntimeEnabled=LocalStorage, LogActivity=GetterOnly, RaisesException=Getter ] readonly attribute Storage localStorage;
160 160
161 // This is the interface orientation in degrees. Some examples are: 161 // This is the interface orientation in degrees. Some examples are:
162 // 0 is straight up; -90 is when the device is rotated 90 clockwise; 162 // 0 is straight up; -90 is when the device is rotated 90 clockwise;
163 // 90 is when rotated counter clockwise. 163 // 90 is when rotated counter clockwise.
164 [RuntimeEnabled=OrientationEvent, MeasureAs=WindowOrientation] readonly attr ibute long orientation; 164 [RuntimeEnabled=OrientationEvent, MeasureAs=WindowOrientation] readonly attr ibute long orientation;
165 165
166 [Replaceable] readonly attribute Console console; 166 [Replaceable] readonly attribute Console console;
167 167
168 // cross-document messaging 168 // cross-document messaging
169 [DoNotCheckSecurity, Custom, RaisesException] void postMessage(SerializedScr iptValue message, DOMString targetOrigin, optional MessagePort[] messagePorts); 169 [DoNotCheckSecurity, Custom, RaisesException] void postMessage(SerializedScr iptValue message, DOMString targetOrigin, optional sequence<Transferable> transf er);
170 170
171 [Replaceable] readonly attribute Performance performance; 171 [Replaceable] readonly attribute Performance performance;
172 172
173 [MeasureAs=UnprefixedRequestAnimationFrame] long requestAnimationFrame(Reque stAnimationFrameCallback callback); 173 [MeasureAs=UnprefixedRequestAnimationFrame] long requestAnimationFrame(Reque stAnimationFrameCallback callback);
174 void cancelAnimationFrame(long id); 174 void cancelAnimationFrame(long id);
175 [DeprecateAs=PrefixedRequestAnimationFrame] long webkitRequestAnimationFrame (RequestAnimationFrameCallback callback); 175 [DeprecateAs=PrefixedRequestAnimationFrame] long webkitRequestAnimationFrame (RequestAnimationFrameCallback callback);
176 [DeprecateAs=PrefixedCancelAnimationFrame, ImplementedAs=cancelAnimationFram e] void webkitCancelAnimationFrame(long id); 176 [DeprecateAs=PrefixedCancelAnimationFrame, ImplementedAs=cancelAnimationFram e] void webkitCancelAnimationFrame(long id);
177 [DeprecateAs=PrefixedCancelRequestAnimationFrame, ImplementedAs=cancelAnimat ionFrame] void webkitCancelRequestAnimationFrame(long id); 177 [DeprecateAs=PrefixedCancelRequestAnimationFrame, ImplementedAs=cancelAnimat ionFrame] void webkitCancelRequestAnimationFrame(long id);
178 178
179 [Replaceable] readonly attribute CSS CSS; 179 [Replaceable] readonly attribute CSS CSS;
(...skipping 24 matching lines...) Expand all
204 [MeasureAs=PrefixedWindowURL] attribute URLConstructor webkitURL; // FIXME: deprecate this. 204 [MeasureAs=PrefixedWindowURL] attribute URLConstructor webkitURL; // FIXME: deprecate this.
205 [MeasureAs=PrefixedMutationObserverConstructor] attribute MutationObserverCo nstructor WebKitMutationObserver; 205 [MeasureAs=PrefixedMutationObserverConstructor] attribute MutationObserverCo nstructor WebKitMutationObserver;
206 206
207 // window.toString() requires special handling in V8 207 // window.toString() requires special handling in V8
208 [DoNotCheckSignature, DoNotCheckSecurity, Custom, NotEnumerable] stringifier ; 208 [DoNotCheckSignature, DoNotCheckSecurity, Custom, NotEnumerable] stringifier ;
209 209
210 [NotEnumerable] getter Window (unsigned long index); 210 [NotEnumerable] getter Window (unsigned long index);
211 [Custom, NotEnumerable] getter Window (DOMString name); 211 [Custom, NotEnumerable] getter Window (DOMString name);
212 }; 212 };
213 213
214 // http://www.whatwg.org/specs/web-apps/current-work/#transferable-objects
215 //
216 // Expressing the Transferable typedef in IDL depends on http://crbug.com/240176 .
217 // The postMessage() methods taking a Transferable array argument have custom
218 // binding code that is able to handle the Transferables that we currently
219 // recognize. To be able to declare a postMessage() signature that matches
220 // the implementation, we provide a Transferable typedef but with an
221 // incomplete type.
222 //
223 // FIXME: make this typedef accurate once enough of http://crbug.com/240176
224 // is in place.
225 // FIXME: consider putting this typedef in an .idl file containing spec-wide
226 // utility type definitions.
227 typedef MessagePort Transferable;
228
214 Window implements GlobalEventHandlers; 229 Window implements GlobalEventHandlers;
215 Window implements WindowBase64; 230 Window implements WindowBase64;
216 Window implements WindowEventHandlers; 231 Window implements WindowEventHandlers;
217 Window implements WindowTimers; 232 Window implements WindowTimers;
OLDNEW
« no previous file with comments | « Source/core/dom/MessagePort.idl ('k') | Source/core/workers/DedicatedWorkerGlobalScope.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698