Index: tools/dom/templates/html/dart2js/impl_Window.darttemplate |
diff --git a/tools/dom/templates/html/impl/impl_Window.darttemplate b/tools/dom/templates/html/dart2js/impl_Window.darttemplate |
similarity index 71% |
rename from tools/dom/templates/html/impl/impl_Window.darttemplate |
rename to tools/dom/templates/html/dart2js/impl_Window.darttemplate |
index 083aebd2d559dac2d1867356598f496bf624e79b..1f74f224a8997af2b79797e2b8ad335c20438d9f 100644 |
--- a/tools/dom/templates/html/impl/impl_Window.darttemplate |
+++ b/tools/dom/templates/html/dart2js/impl_Window.darttemplate |
@@ -4,63 +4,8 @@ |
part of $LIBRARYNAME; |
-$if DART2JS |
$(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS native "@*DOMWindow" { |
-$else |
-$(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { |
-$endif |
- /** |
- * Executes a [callback] after the immediate execution stack has completed. |
- * |
- * This differs from using Timer.run(callback) |
- * because Timer will run in about 4-15 milliseconds, depending on browser, |
- * depending on load. [setImmediate], in contrast, makes browser-specific |
- * changes in behavior to attempt to run immediately after the current |
- * frame unwinds, causing the future to complete after all processing has |
- * completed for the current event, but before any subsequent events. |
- */ |
- void setImmediate(TimeoutHandler callback) { |
- _addMicrotaskCallback(callback); |
- } |
- /** |
- * Lookup a port by its [name]. Return null if no port is |
- * registered under [name]. |
- */ |
- SendPortSync lookupPort(String name) { |
- var port = |
- json.parse(document.documentElement.attributes['dart-port:$name']); |
- return _deserialize(port); |
- } |
- |
- /** |
- * Register a [port] on this window under the given [name]. This |
- * port may be retrieved by any isolate (or JavaScript script) |
- * running in this window. |
- */ |
- void registerPort(String name, var port) { |
- var serialized = _serialize(port); |
- document.documentElement.attributes['dart-port:$name'] = |
- json.stringify(serialized); |
- } |
- |
- /** |
- * Returns a Future that completes just before the window is about to repaint |
- * so the user can draw an animation frame |
- * |
- * If you need to later cancel this animation, use [requestAnimationFrame] |
- * instead. |
- * |
- * Note: The code that runs when the future completes should call |
- * [animationFrame] again for the animation to continue. |
- */ |
- Future<num> get animationFrame { |
- var completer = new Completer<int>(); |
- requestAnimationFrame(completer.complete); |
- return completer.future; |
- } |
- |
-$if DART2JS |
Document get document => JS('Document', '#.document', this); |
WindowBase _open2(url, name) => JS('Window', '#.open(#,#)', this, url, name); |
@@ -126,21 +71,15 @@ $if DART2JS |
} |
/** |
- * Called to draw an animation frame and then request the window to repaint |
- * after [callback] has finished (creating the animation). |
- * |
- * Use this method only if you need to later call [cancelAnimationFrame]. If |
- * not, the preferred Dart idiom is to set animation frames by calling |
- * [animationFrame], which returns a Future. |
- * |
- * Returns a non-zero valued integer to represent the request id for this |
- * request. This value only needs to be saved if you intend to call |
- * [cancelAnimationFrame] so you can specify the particular animation to |
- * cancel. |
+ * Executes a [callback] after the immediate execution stack has completed. |
* |
- * Note: The supplied [callback] needs to call [requestAnimationFrame] again |
- * for the animation to continue. |
+ * This will cause the callback to be executed after all processing has |
+ * completed for the current event, but before any subsequent events. |
*/ |
+ void setImmediate(TimeoutHandler callback) { |
+ _addMicrotaskCallback(callback); |
+ } |
+ |
@DomName('DOMWindow.requestAnimationFrame') |
int requestAnimationFrame(RequestAnimationFrameCallback callback) { |
_ensureRequestAnimationFrame(); |
@@ -199,6 +138,25 @@ $if DART2JS |
'#.indexedDB || #.webkitIndexedDB || #.mozIndexedDB', |
this, this, this); |
+ /** |
+ * Lookup a port by its [name]. Return null if no port is |
+ * registered under [name]. |
+ */ |
+ SendPortSync lookupPort(String name) { |
+ var port = json.parse(document.documentElement.attributes['dart-port:$name']); |
+ return _deserialize(port); |
+ } |
+ |
+ /** |
+ * Register a [port] on this window under the given [name]. This |
+ * port may be retrieved by any isolate (or JavaScript script) |
+ * running in this window. |
+ */ |
+ void registerPort(String name, var port) { |
+ var serialized = _serialize(port); |
+ document.documentElement.attributes['dart-port:$name'] = json.stringify(serialized); |
+ } |
+ |
@DomName('Window.console') |
Console get console => Console.safeConsole; |
@@ -210,15 +168,6 @@ $if DART2JS |
void _setImmediate(void callback()) { |
JS('void', '#.setImmediate(#)', this, convertDartClosureToJS(callback, 0)); |
} |
-$else |
- /// Checks if _setImmediate is supported. |
- static bool get _supportsSetImmediate => false; |
- |
- /// Dartium stub for IE's setImmediate. |
- void _setImmediate(void callback()) { |
- throw new UnsupportedError('setImmediate is not supported'); |
- } |
-$endif |
$!MEMBERS |
} |