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

Side by Side Diff: client/html/src/Window.dart

Issue 9148015: Example showing alternate async measurement solution (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Final version Created 8 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, 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 typedef void LayoutCallback();
6 typedef LayoutCallback MeasurementCallback();
7
5 interface WindowEvents extends Events { 8 interface WindowEvents extends Events {
6 EventListenerList get abort(); 9 EventListenerList get abort();
7 EventListenerList get beforeUnload(); 10 EventListenerList get beforeUnload();
8 EventListenerList get blur(); 11 EventListenerList get blur();
9 EventListenerList get canPlay(); 12 EventListenerList get canPlay();
10 EventListenerList get canPlayThrough(); 13 EventListenerList get canPlayThrough();
11 EventListenerList get change(); 14 EventListenerList get change();
12 EventListenerList get click(); 15 EventListenerList get click();
13 EventListenerList get contextMenu(); 16 EventListenerList get contextMenu();
14 EventListenerList get dblClick(); 17 EventListenerList get dblClick();
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 int setInterval(TimeoutHandler handler, int timeout); 297 int setInterval(TimeoutHandler handler, int timeout);
295 298
296 int setTimeout(TimeoutHandler handler, int timeout); 299 int setTimeout(TimeoutHandler handler, int timeout);
297 300
298 Object showModalDialog(String url, [Object dialogArgs, String featureArgs]); 301 Object showModalDialog(String url, [Object dialogArgs, String featureArgs]);
299 302
300 void stop(); 303 void stop();
301 304
302 void webkitCancelRequestAnimationFrame(int id); 305 void webkitCancelRequestAnimationFrame(int id);
303 306
304 // TODO(jacobr): make these return Future<Point>.
305 Point webkitConvertPointFromNodeToPage([Node node, Point p]); 307 Point webkitConvertPointFromNodeToPage([Node node, Point p]);
306
307 Point webkitConvertPointFromPageToNode([Node node, Point p]); 308 Point webkitConvertPointFromPageToNode([Node node, Point p]);
308 309
309 int webkitRequestAnimationFrame(RequestAnimationFrameCallback callback, [Eleme nt element]); 310 int webkitRequestAnimationFrame(RequestAnimationFrameCallback callback, [Eleme nt element]);
310 311
311 /** 312 /**
312 * Executes a [callback] after the next batch of browser layout measurements 313 * Executes [callback] after the event loop unwinds but before the page is
313 * has completed or would have completed if any browser layout measurements 314 * rendered. Inside the callback, synchronous element measurement is
314 * had been scheduled. 315 * allowed and dom manipulation that could trigger a layout is disallowed.
316 * The [callback] may return a closure that is run in the normal
317 * context where dom manipulation is allowed but sync measurement is
318 * disallowed.
315 */ 319 */
316 void requestLayoutFrame(TimeoutHandler callback); 320 void requestMeasurementFrame(MeasurementCallback callback);
321
322 /**
323 * True iff within a call to [:requestMeasurementFrame:]
324 * When inside a measurement frame, any DOM manipulation that could trigger
325 * a layout is prohibited to avoid accidentally triggering large numbers of
326 * layouts.
327 */
328 bool get inMeasurementFrame();
317 329
318 // Window open(String url, String target, WindowSpec features); 330 // Window open(String url, String target, WindowSpec features);
319 331
320 WindowEvents get on(); 332 WindowEvents get on();
321 } 333 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698