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

Side by Side Diff: tools/dom/templates/html/impl/impl_Window.darttemplate

Issue 2124863002: Fix animationFrameRequest for dartium. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 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 | « tools/dom/scripts/htmlrenamer.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of $LIBRARYNAME; 5 part of $LIBRARYNAME;
6 6
7 typedef void RemoveFrameRequestMapping(int id); 7 typedef void RemoveFrameRequestMapping(int id);
8 8
9 /** 9 /**
10 * The task object representing animation-frame requests. 10 * The task object representing animation-frame requests.
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 set location(value) { 180 set location(value) {
181 _location = value; 181 _location = value;
182 } 182 }
183 183
184 // Native getter and setter to access raw Location object. 184 // Native getter and setter to access raw Location object.
185 dynamic get _location => JS('Location|Null', '#.location', this); 185 dynamic get _location => JS('Location|Null', '#.location', this);
186 set _location(value) { 186 set _location(value) {
187 JS('void', '#.location = #', this, value); 187 JS('void', '#.location = #', this, value);
188 } 188 }
189 189
190 $endif
191
190 /** 192 /**
191 * Called to draw an animation frame and then request the window to repaint 193 * Called to draw an animation frame and then request the window to repaint
192 * after [callback] has finished (creating the animation). 194 * after [callback] has finished (creating the animation).
193 * 195 *
194 * Use this method only if you need to later call [cancelAnimationFrame]. If 196 * Use this method only if you need to later call [cancelAnimationFrame]. If
195 * not, the preferred Dart idiom is to set animation frames by calling 197 * not, the preferred Dart idiom is to set animation frames by calling
196 * [animationFrame], which returns a Future. 198 * [animationFrame], which returns a Future.
197 * 199 *
198 * Returns a non-zero valued integer to represent the request id for this 200 * Returns a non-zero valued integer to represent the request id for this
199 * request. This value only needs to be saved if you intend to call 201 * request. This value only needs to be saved if you intend to call
200 * [cancelAnimationFrame] so you can specify the particular animation to 202 * [cancelAnimationFrame] so you can specify the particular animation to
201 * cancel. 203 * cancel.
202 * 204 *
203 * Note: The supplied [callback] needs to call [requestAnimationFrame] again 205 * Note: The supplied [callback] needs to call [requestAnimationFrame] again
204 * for the animation to continue. 206 * for the animation to continue.
205 */ 207 */
206 @DomName('Window.requestAnimationFrame') 208 @DomName('Window.requestAnimationFrame')
207 int requestAnimationFrame(FrameRequestCallback callback) { 209 int requestAnimationFrame(FrameRequestCallback callback) {
210 $if DART2JS
208 _ensureRequestAnimationFrame(); 211 _ensureRequestAnimationFrame();
212 $endif
209 if (identical(Zone.current, Zone.ROOT)) { 213 if (identical(Zone.current, Zone.ROOT)) {
210 return _requestAnimationFrame(callback); 214 return _requestAnimationFrame(callback);
211 } 215 }
212 var spec = new AnimationFrameRequestSpecification(this, callback); 216 var spec = new AnimationFrameRequestSpecification(this, callback);
213 var task = Zone.current.createTask/*<AnimationFrameTask>*/( 217 var task = Zone.current.createTask/*<AnimationFrameTask>*/(
214 _createAnimationFrameTask, spec); 218 _createAnimationFrameTask, spec);
215 AnimationFrameTask._tasks[task.id] = task; 219 AnimationFrameTask._tasks[task.id] = task;
216 return task.id; 220 return task.id;
217 } 221 }
218 222
(...skipping 14 matching lines...) Expand all
233 } 237 }
234 238
235 /** 239 /**
236 * Cancels an animation frame request. 240 * Cancels an animation frame request.
237 * 241 *
238 * ## Other resources 242 * ## Other resources
239 * 243 *
240 * * [Window.cancelAnimationFrame](https://developer.mozilla.org/en-US/docs/We b/API/Window.cancelAnimationFrame) 244 * * [Window.cancelAnimationFrame](https://developer.mozilla.org/en-US/docs/We b/API/Window.cancelAnimationFrame)
241 * from MDN. 245 * from MDN.
242 */ 246 */
247 @DomName('Window.cancelAnimationFrame')
243 void cancelAnimationFrame(int id) { 248 void cancelAnimationFrame(int id) {
244 _ensureRequestAnimationFrame(); 249 _ensureRequestAnimationFrame();
245 var task = AnimationFrameTask._tasks.remove(id); 250 var task = AnimationFrameTask._tasks.remove(id);
246 if (task == null) { 251 if (task == null) {
247 // Assume that the animation frame request wasn't intercepted by a zone. 252 // Assume that the animation frame request wasn't intercepted by a zone.
248 _cancelAnimationFrame(id); 253 _cancelAnimationFrame(id);
249 return; 254 return;
250 } 255 }
251 task.cancel(this); 256 task.cancel(this);
252 } 257 }
253 258
259 $if DART2JS
254 @JSName('requestAnimationFrame') 260 @JSName('requestAnimationFrame')
255 int _requestAnimationFrame(FrameRequestCallback callback) native; 261 int _requestAnimationFrame(FrameRequestCallback callback) native;
256 262
257 @JSName('cancelAnimationFrame') 263 @JSName('cancelAnimationFrame')
258 void _cancelAnimationFrame(int id) native; 264 void _cancelAnimationFrame(int id) native;
259 265
260 _ensureRequestAnimationFrame() { 266 _ensureRequestAnimationFrame() {
261 if (JS('bool', 267 if (JS('bool',
262 '!!(#.requestAnimationFrame && #.cancelAnimationFrame)', this, this)) 268 '!!(#.requestAnimationFrame && #.cancelAnimationFrame)', this, this))
263 return; 269 return;
(...skipping 30 matching lines...) Expand all
294 @SupportedBrowser(SupportedBrowser.IE, '10.0') 300 @SupportedBrowser(SupportedBrowser.IE, '10.0')
295 @Experimental() 301 @Experimental()
296 IdbFactory get indexedDB => 302 IdbFactory get indexedDB =>
297 JS('IdbFactory|Null', // If not supported, returns null. 303 JS('IdbFactory|Null', // If not supported, returns null.
298 '#.indexedDB || #.webkitIndexedDB || #.mozIndexedDB', 304 '#.indexedDB || #.webkitIndexedDB || #.mozIndexedDB',
299 this, this, this); 305 this, this, this);
300 306
301 /// The debugging console for this window. 307 /// The debugging console for this window.
302 @DomName('Window.console') 308 @DomName('Window.console')
303 Console get console => Console._safeConsole; 309 Console get console => Console._safeConsole;
304
305 $else
306 /**
307 * Called to draw an animation frame and then request the window to repaint
308 * after [callback] has finished (creating the animation).
309 *
310 * Use this method only if you need to later call [cancelAnimationFrame]. If
311 * not, the preferred Dart idiom is to set animation frames by calling
312 * [animationFrame], which returns a Future.
313 *
314 * Returns a non-zero valued integer to represent the request id for this
315 * request. This value only needs to be saved if you intend to call
316 * [cancelAnimationFrame] so you can specify the particular animation to
317 * cancel.
318 *
319 * Note: The supplied [callback] needs to call [requestAnimationFrame] again
320 * for the animation to continue.
321 */
322 @DomName('Window.requestAnimationFrame')
323 int requestAnimationFrame(FrameRequestCallback callback) {
324 return _requestAnimationFrame(_wrapZone(callback));
325 }
326 $endif 310 $endif
327 311
328 /** 312 /**
329 * Access a sandboxed file system of the specified `size`. If `persistent` is 313 * Access a sandboxed file system of the specified `size`. If `persistent` is
330 * true, the application will request permission from the user to create 314 * true, the application will request permission from the user to create
331 * lasting storage. This storage cannot be freed without the user's 315 * lasting storage. This storage cannot be freed without the user's
332 * permission. Returns a [Future] whose value stores a reference to the 316 * permission. Returns a [Future] whose value stores a reference to the
333 * sandboxed file system for use. Because the file system is sandboxed, 317 * sandboxed file system for use. Because the file system is sandboxed,
334 * applications cannot access file systems created in other web pages. 318 * applications cannot access file systems created in other web pages.
335 */ 319 */
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 {bool useCapture: false}) { 479 {bool useCapture: false}) {
496 $if DART2JS 480 $if DART2JS
497 // Specify the generic type for _ElementEventStreamImpl only in dart2js to 481 // Specify the generic type for _ElementEventStreamImpl only in dart2js to
498 // avoid checked mode errors in dartium. 482 // avoid checked mode errors in dartium.
499 return new _ElementListEventStreamImpl<BeforeUnloadEvent>(e, _eventType, use Capture); 483 return new _ElementListEventStreamImpl<BeforeUnloadEvent>(e, _eventType, use Capture);
500 $else 484 $else
501 return new _ElementListEventStreamImpl(e, _eventType, useCapture); 485 return new _ElementListEventStreamImpl(e, _eventType, useCapture);
502 $endif 486 $endif
503 } 487 }
504 } 488 }
OLDNEW
« no previous file with comments | « tools/dom/scripts/htmlrenamer.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698