OLD | NEW |
(Empty) | |
| 1 <html> |
| 2 <body> |
| 3 |
| 4 <script> |
| 5 if (window.testRunner) { |
| 6 window.testRunner.dumpAsText(); |
| 7 window.testRunner.waitUntilDone(); |
| 8 window.addEventListener('message', function (e) { |
| 9 window.testRunner.notifyDone(); |
| 10 }); |
| 11 } |
| 12 </script> |
| 13 |
| 14 <div id="dart"> |
| 15 main(msg, replyTo) { |
| 16 print("Hello World"); |
| 17 replyTo.send("done"); |
| 18 } |
| 19 </div> |
| 20 |
| 21 <script type="application/dart"> |
| 22 import 'dart:html'; |
| 23 import 'dart:isolate'; |
| 24 import 'dart:js'; |
| 25 |
| 26 void main() { |
| 27 var code = querySelector('#dart'); |
| 28 var dataUri = 'data:application/dart;base64,${window.btoa(code.text)}'; |
| 29 // TODO(17738): Expand this test to validate parameters are passed and |
| 30 // the correct future is returned. |
| 31 var port = new ReceivePort(); |
| 32 try { |
| 33 var isolate = Isolate.spawnUri(Uri.parse(dataUri), [], port.sendPort); |
| 34 port.listen(_notifyDone); |
| 35 isolate.catchError((x) { print("Isolate error $x"); _notifyDone();}); |
| 36 } catch (e) { |
| 37 print("Spawn failed: $e"); |
| 38 _notifyDone(); |
| 39 } |
| 40 code.remove(); |
| 41 } |
| 42 |
| 43 _notifyDone([_]) { |
| 44 window.postMessage('test-done', '*'); |
| 45 } |
| 46 </script> |
| 47 |
| 48 </body> |
| 49 </html> |
OLD | NEW |