| Index: lib/dom/src/frog_DOMImplementation.dart
|
| diff --git a/lib/dom/src/frog_DOMImplementation.dart b/lib/dom/src/frog_DOMImplementation.dart
|
| index f0b006686841f09cd305f6a293914871e81f3eae..86bac7b22839fcf1644073b1cce0762f2db5f535 100644
|
| --- a/lib/dom/src/frog_DOMImplementation.dart
|
| +++ b/lib/dom/src/frog_DOMImplementation.dart
|
| @@ -31,12 +31,23 @@ class _DOMWindowCrossFrameImpl implements DOMType, DOMWindow {
|
| String targetOrigin,
|
| [List messagePorts = null]) {
|
| if (messagePorts == null) {
|
| - _window.postMessage(message, targetOrigin);
|
| + _postMessage2(_window, message, targetOrigin);
|
| } else {
|
| - _window.postMessage(message, targetOrigin, messagePorts);
|
| + _postMessage3(_window, message, targetOrigin, messagePorts);
|
| }
|
| }
|
|
|
| + // TODO(vsm): This is a hack to workaround dartbug.com/3175. We
|
| + // need a more robust convention to invoke JS methods on the
|
| + // underlying window.
|
| + static void _postMessage2(win, message, targetOrigin) native """
|
| + win.postMessage(message, targetOrigin);
|
| +""";
|
| +
|
| + static void _postMessage3(win, message, targetOrigin, messagePorts) native """
|
| + win.postMessage(message, targetOrigin, messagePorts);
|
| +""";
|
| +
|
| // Implementation support.
|
| _DOMWindowCrossFrameImpl(this._window);
|
|
|
|
|