Index: sdk/lib/html/src/dart2js_Conversions.dart |
diff --git a/sdk/lib/html/src/dart2js_Conversions.dart b/sdk/lib/html/src/dart2js_Conversions.dart |
index 5e69b7c9d6bad43de87c51e7fbc72518f49ab7bf..b5daaf300f2a707d6c1e84b6190401c5af5e6b79 100644 |
--- a/sdk/lib/html/src/dart2js_Conversions.dart |
+++ b/sdk/lib/html/src/dart2js_Conversions.dart |
@@ -27,7 +27,7 @@ |
// window as a parameter. |
Window _convertNativeToDart_Window(win) { |
- return _DOMWindowCrossFrameImpl._createSafe(win); |
+ return _DOMWindowCrossFrame._createSafe(win); |
} |
EventTarget _convertNativeToDart_EventTarget(e) { |
@@ -35,13 +35,13 @@ EventTarget _convertNativeToDart_EventTarget(e) { |
// from a different frame - without a patched prototype - so we cannot |
// rely on Dart type checking. |
if (JS('bool', r'"setInterval" in #', e)) |
- return _DOMWindowCrossFrameImpl._createSafe(e); |
+ return _DOMWindowCrossFrame._createSafe(e); |
else |
return e; |
} |
EventTarget _convertDartToNative_EventTarget(e) { |
- if (e is _DOMWindowCrossFrameImpl) { |
+ if (e is _DOMWindowCrossFrame) { |
return e._window; |
} else { |
return e; |
@@ -75,9 +75,11 @@ ImageData _convertNativeToDart_ImageData(nativeImageData) { |
// We can get rid of this conversion if _TypedImageData implements the fields |
// with native names. |
_convertDartToNative_ImageData(ImageData imageData) { |
- if (imageData is _ImageDataImpl) return imageData; |
- return JS('Object', '{data: #, height: #, width: #}', |
- imageData.data, imageData.height, imageData.width); |
+ if (imageData is _TypedImageData) { |
+ return JS('Object', '{data: #, height: #, width: #}', |
+ imageData.data, imageData.height, imageData.width); |
+ } |
+ return imageData; |
} |
@@ -231,33 +233,15 @@ _convertDartToNative_PrepareForStructuredClone(value) { |
// TODO(sra): The JavaScript objects suitable for direct cloning by the |
// structured clone algorithm could be tagged with an private interface. |
- if (e is _FileImpl) return e; |
- if (e is File) { |
- throw new UnimplementedError('structured clone of File'); |
- } |
- |
- if (e is _BlobImpl) return e; |
- if (e is Blob) { |
- throw new UnimplementedError('structured clone of Blob'); |
- } |
- |
- if (e is _FileListImpl) return e; |
+ if (e is File) return e; |
+ if (e is Blob) return e; |
+ if (e is _FileList) return e; |
// TODO(sra): Firefox: How to convert _TypedImageData on the other end? |
- if (e is _ImageDataImpl) return e; |
- if (e is ImageData) { |
- throw new UnimplementedError('structured clone of ImageData'); |
- } |
- |
- if (e is _ArrayBufferImpl) return e; |
- if (e is ArrayBuffer) { |
- throw new UnimplementedError('structured clone of ArrayBuffer'); |
- } |
+ if (e is ImageData) return e; |
+ if (e is ArrayBuffer) return e; |
- if (e is _ArrayBufferViewImpl) return e; |
- if (e is ArrayBufferView) { |
- throw new UnimplementedError('structured clone of ArrayBufferView'); |
- } |
+ if (e is ArrayBufferView) return e; |
if (e is Map) { |
var slot = findSlot(e); |