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

Side by Side Diff: lib/src/utils_observe.dart

Issue 49223002: fix webui for sdk 0.8.7 (Closed) Base URL: git@github.com:dart-lang/web-ui.git@master
Patch Set: Created 7 years, 1 month 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 | « lib/src/messages.dart ('k') | test/data/expected/code_in_dart_file_test.html.txt » ('j') | 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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 library web_ui.src.utils_observe; 5 library web_ui.src.utils_observe;
6 6
7 import 'dart:async';
7 import 'dart:collection'; 8 import 'dart:collection';
8 import 'dart:isolate';
9 9
10 // TODO(jmesserly): helpers to combine hash codes. Reuse these from somewhere. 10 // TODO(jmesserly): helpers to combine hash codes. Reuse these from somewhere.
11 hash2(x, y) => x.hashCode * 31 + y.hashCode; 11 hash2(x, y) => x.hashCode * 31 + y.hashCode;
12 12
13 hash3(x, y, z) => hash2(hash2(x, y), z); 13 hash3(x, y, z) => hash2(hash2(x, y), z);
14 14
15 hash4(w, x, y, z) => hash2(hash2(w, x), hash2(y, z)); 15 hash4(w, x, y, z) => hash2(hash2(w, x), hash2(y, z));
16 16
17 // TODO(jmesserly): replace with something in dart:async, as long as it is based
18 // on window.setImmediate/mutation observers/postMessage and not setTimeout(0)
19 // Maybe we can use Future.value? We need it to be fast (next microtask)
20 // like this though: http://dartbug.com/8757.
21 /**
22 * Adds an event to call [callback], so the event loop will call this after the
23 * current stack has unwound.
24 */
25 void setImmediate(void callback()) {
26 var port = new ReceivePort();
27 port.receive((msg, sendPort) {
28 port.close();
29 callback();
30 });
31 port.toSendPort().send(null);
32 }
33
34 class Arrays { 17 class Arrays {
35 static void copy(List src, int srcStart, 18 static void copy(List src, int srcStart,
36 List dst, int dstStart, int count) { 19 List dst, int dstStart, int count) {
37 if (srcStart == null) srcStart = 0; 20 if (srcStart == null) srcStart = 0;
38 if (dstStart == null) dstStart = 0; 21 if (dstStart == null) dstStart = 0;
39 22
40 if (srcStart < dstStart) { 23 if (srcStart < dstStart) {
41 for (int i = srcStart + count - 1, j = dstStart + count - 1; 24 for (int i = srcStart + count - 1, j = dstStart + count - 1;
42 i >= srcStart; i--, j--) { 25 i >= srcStart; i--, j--) {
43 dst[j] = src[i]; 26 dst[j] = src[i];
(...skipping 17 matching lines...) Expand all
61 String message = "$start + $length must be in the range [0..${a.length})"; 44 String message = "$start + $length must be in the range [0..${a.length})";
62 throw new RangeError(message); 45 throw new RangeError(message);
63 } 46 }
64 } 47 }
65 } 48 }
66 49
67 // TODO(jmesserly): bogus type to workaround spurious VM bug with generic base 50 // TODO(jmesserly): bogus type to workaround spurious VM bug with generic base
68 // class and mixins. 51 // class and mixins.
69 abstract class IterableWorkaround extends IterableBase<dynamic> {} 52 abstract class IterableWorkaround extends IterableBase<dynamic> {}
70 abstract class ListMixinWorkaround extends ListMixin<dynamic> {} 53 abstract class ListMixinWorkaround extends ListMixin<dynamic> {}
OLDNEW
« no previous file with comments | « lib/src/messages.dart ('k') | test/data/expected/code_in_dart_file_test.html.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698