| OLD | NEW |
| 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 trydart.compilation; | 5 library trydart.compilation; |
| 6 | 6 |
| 7 import 'dart:html' show | 7 import 'dart:html' show |
| 8 AnchorElement, |
| 8 Blob, | 9 Blob, |
| 9 Element, | 10 Element, |
| 10 ErrorEvent, | 11 ErrorEvent, |
| 11 IFrameElement, | 12 IFrameElement, |
| 12 MessageEvent, | 13 MessageEvent, |
| 13 Url, | 14 Url, |
| 14 Worker, | 15 Worker, |
| 16 document, |
| 15 window; | 17 window; |
| 16 | 18 |
| 17 import 'dart:async' show | 19 import 'dart:async' show |
| 18 Timer; | 20 Timer; |
| 19 | 21 |
| 20 import 'dart:isolate' show | 22 import 'dart:isolate' show |
| 21 ReceivePort, | 23 ReceivePort, |
| 22 SendPort; | 24 SendPort; |
| 23 | 25 |
| 24 import 'editor.dart' show | 26 import 'editor.dart' show |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 */ | 61 */ |
| 60 const String PRIVATE_SCHEME = 'org-trydart'; | 62 const String PRIVATE_SCHEME = 'org-trydart'; |
| 61 | 63 |
| 62 SendPort compilerPort; | 64 SendPort compilerPort; |
| 63 | 65 |
| 64 // TODO(ahe): Remove this. | 66 // TODO(ahe): Remove this. |
| 65 String get currentSource => window.localStorage['currentSource']; | 67 String get currentSource => window.localStorage['currentSource']; |
| 66 | 68 |
| 67 void set currentSource(String text) { | 69 void set currentSource(String text) { |
| 68 window.localStorage['currentSource'] = text; | 70 window.localStorage['currentSource'] = text; |
| 71 AnchorElement a = document.querySelector('#share-link'); |
| 72 if (a != null) { |
| 73 String sourceQuery = '?source=${Uri.encodeQueryComponent(text)}'; |
| 74 a.href = '${Uri.base.resolve(sourceQuery)}'; |
| 75 } |
| 69 } | 76 } |
| 70 | 77 |
| 71 bool startCompilation() { | 78 bool startCompilation() { |
| 72 if (!CompilationProcess.shouldStartCompilation()) return false; | 79 if (!CompilationProcess.shouldStartCompilation()) return false; |
| 73 new CompilationProcess(currentSource, outputDiv).start(); | 80 new CompilationProcess(currentSource, outputDiv).start(); |
| 74 return true; | 81 return true; |
| 75 } | 82 } |
| 76 | 83 |
| 77 class CompilationProcess { | 84 class CompilationProcess { |
| 78 final String source; | 85 final String source; |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 compile(list[0], list[1]); | 304 compile(list[0], list[1]); |
| 298 } catch (exception, stack) { | 305 } catch (exception, stack) { |
| 299 port.send('$exception\n$stack'); | 306 port.send('$exception\n$stack'); |
| 300 } | 307 } |
| 301 }); | 308 }); |
| 302 var notTrue = false; // Confuse the analyzer. | 309 var notTrue = false; // Confuse the analyzer. |
| 303 if (notTrue) { | 310 if (notTrue) { |
| 304 cacheCompiler.compilerFor(null); | 311 cacheCompiler.compilerFor(null); |
| 305 } | 312 } |
| 306 } | 313 } |
| OLD | NEW |