| Index: lib/src/runner/browser/iframe_listener.dart
|
| diff --git a/lib/src/runner/browser/iframe_listener.dart b/lib/src/runner/browser/iframe_listener.dart
|
| index b345f3795adecb5bf59702faa12c4f8367b11281..76804517adbcb9adf3422e950dd0b608cd1cfa91 100644
|
| --- a/lib/src/runner/browser/iframe_listener.dart
|
| +++ b/lib/src/runner/browser/iframe_listener.dart
|
| @@ -56,24 +56,23 @@ class IframeListener {
|
| }
|
|
|
| var declarer = new Declarer();
|
| - try {
|
| - runZoned(main, zoneValues: {#test.declarer: declarer});
|
| - } catch (error, stackTrace) {
|
| + runZoned(() => new Future.sync(main), zoneValues: {
|
| + #test.declarer: declarer
|
| + }).then((_) {
|
| + var url = Uri.parse(window.location.href);
|
| + var message = JSON.decode(Uri.decodeFull(url.fragment));
|
| + var metadata = new Metadata.deserialize(message['metadata']);
|
| + var browser = TestPlatform.find(message['browser']);
|
| +
|
| + var suite = new Suite(declarer.tests, metadata: metadata)
|
| + .forPlatform(browser);
|
| + new IframeListener._(suite)._listen(channel);
|
| + }, onError: (error, stackTrace) {
|
| channel.sink.add({
|
| "type": "error",
|
| "error": RemoteException.serialize(error, stackTrace)
|
| });
|
| - return;
|
| - }
|
| -
|
| - var url = Uri.parse(window.location.href);
|
| - var message = JSON.decode(Uri.decodeFull(url.fragment));
|
| - var metadata = new Metadata.deserialize(message['metadata']);
|
| - var browser = TestPlatform.find(message['browser']);
|
| -
|
| - var suite = new Suite(declarer.tests, metadata: metadata)
|
| - .forPlatform(browser);
|
| - new IframeListener._(suite)._listen(channel);
|
| + });
|
| }
|
|
|
| /// Constructs a [MultiChannel] wrapping the `postMessage` communication with
|
|
|