| Index: sdk/lib/_internal/lib/async_patch.dart
|
| diff --git a/sdk/lib/_internal/lib/async_patch.dart b/sdk/lib/_internal/lib/async_patch.dart
|
| deleted file mode 100644
|
| index 88ab1d0479a5dbbf8f3f721c8f460868ec73f943..0000000000000000000000000000000000000000
|
| --- a/sdk/lib/_internal/lib/async_patch.dart
|
| +++ /dev/null
|
| @@ -1,116 +0,0 @@
|
| -// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -// Patch file for the dart:async library.
|
| -
|
| -import 'dart:_js_helper' show
|
| - patch,
|
| - Primitives,
|
| - convertDartClosureToJS,
|
| - requiresPreamble;
|
| -import 'dart:_isolate_helper' show
|
| - IsolateNatives,
|
| - TimerImpl,
|
| - leaveJsAsync,
|
| - enterJsAsync,
|
| - isWorker;
|
| -
|
| -import 'dart:_foreign_helper' show JS;
|
| -
|
| -@patch
|
| -class _AsyncRun {
|
| - @patch
|
| - static void _scheduleImmediate(void callback()) {
|
| - scheduleImmediateClosure(callback);
|
| - }
|
| -
|
| - // Lazily initialized.
|
| - static final Function scheduleImmediateClosure =
|
| - _initializeScheduleImmediate();
|
| -
|
| - static Function _initializeScheduleImmediate() {
|
| - requiresPreamble();
|
| - if (JS('', 'self.scheduleImmediate') != null) {
|
| - return _scheduleImmediateJsOverride;
|
| - }
|
| - if (JS('', 'self.MutationObserver') != null &&
|
| - JS('', 'self.document') != null) {
|
| - // Use mutationObservers.
|
| - var div = JS('', 'self.document.createElement("div")');
|
| - var span = JS('', 'self.document.createElement("span")');
|
| - var storedCallback;
|
| -
|
| - internalCallback(_) {
|
| - leaveJsAsync();
|
| - var f = storedCallback;
|
| - storedCallback = null;
|
| - f();
|
| - };
|
| -
|
| - var observer = JS('', 'new self.MutationObserver(#)',
|
| - convertDartClosureToJS(internalCallback, 1));
|
| - JS('', '#.observe(#, { childList: true })',
|
| - observer, div);
|
| -
|
| - return (void callback()) {
|
| - assert(storedCallback == null);
|
| - enterJsAsync();
|
| - storedCallback = callback;
|
| - // Because of a broken shadow-dom polyfill we have to change the
|
| - // children instead a cheap property.
|
| - // See https://github.com/Polymer/ShadowDOM/issues/468
|
| - JS('', '#.firstChild ? #.removeChild(#): #.appendChild(#)',
|
| - div, div, span, div, span);
|
| - };
|
| -
|
| - }
|
| - // TODO(9002): don't use the Timer to enqueue the immediate callback.
|
| - // Also check for other JS options like setImmediate.
|
| - // TODO(20055): We should use DOM promises when available.
|
| - return _scheduleImmediateWithTimer;
|
| - }
|
| -
|
| - static void _scheduleImmediateJsOverride(void callback()) {
|
| - internalCallback() {
|
| - leaveJsAsync();
|
| - callback();
|
| - };
|
| - enterJsAsync();
|
| - JS('void', 'self.scheduleImmediate(#)',
|
| - convertDartClosureToJS(internalCallback, 0));
|
| - }
|
| -
|
| - static void _scheduleImmediateWithTimer(void callback()) {
|
| - Timer._createTimer(Duration.ZERO, callback);
|
| - }
|
| -}
|
| -
|
| -@patch
|
| -class DeferredLibrary {
|
| - @patch
|
| - Future<Null> load() {
|
| - throw 'DeferredLibrary not supported. '
|
| - 'please use the `import "lib.dart" deferred as lib` syntax.';
|
| - }
|
| -}
|
| -
|
| -@patch
|
| -class Timer {
|
| - @patch
|
| - static Timer _createTimer(Duration duration, void callback()) {
|
| - int milliseconds = duration.inMilliseconds;
|
| - if (milliseconds < 0) milliseconds = 0;
|
| - return new TimerImpl(milliseconds, callback);
|
| - }
|
| -
|
| - @patch
|
| - static Timer _createPeriodicTimer(Duration duration,
|
| - void callback(Timer timer)) {
|
| - int milliseconds = duration.inMilliseconds;
|
| - if (milliseconds < 0) milliseconds = 0;
|
| - return new TimerImpl.periodic(milliseconds, callback);
|
| - }
|
| -}
|
| -
|
| -bool get _hasDocument => JS('String', 'typeof document') == 'object';
|
|
|