| Index: lib/html/src/dart2js_Conversions.dart
|
| diff --git a/lib/html/src/dart2js_Conversions.dart b/lib/html/src/dart2js_Conversions.dart
|
| index e0e2ff2289a80ecb885b053eb6acb83d41b8d3d6..8c6ab8372dc430c03cc9b8252b4a473c23612619 100644
|
| --- a/lib/html/src/dart2js_Conversions.dart
|
| +++ b/lib/html/src/dart2js_Conversions.dart
|
| @@ -84,15 +84,23 @@ _convertDartToNative_ImageData(ImageData imageData) {
|
|
|
|
|
| /// Converts a JavaScript object with properties into a Dart Map.
|
| +/// Not suitable for nested objects.
|
| Map _convertNativeToDart_Dictionary(object) {
|
| // TODO: Implement.
|
| - return object;
|
| + var dict = {};
|
| + for (final key in JS('List', 'Object.getOwnPropertyNames(#)', object)) {
|
| + dict[key] = JS('var', '#[#]', object, key);
|
| + }
|
| + return dict;
|
| }
|
|
|
| -/// Converts a Dart map into a JavaScript object with properties.
|
| +/// Converts a flat Dart map into a JavaScript object with properties.
|
| _convertDartToNative_Dictionary(Map dict) {
|
| - // TODO: Implement.
|
| - return dict;
|
| + var object = JS('var', '{}');
|
| + dict.forEach((String key, value) {
|
| + JS('void', '#[#] = #', object, key, value);
|
| + });
|
| + return object;
|
| }
|
|
|
|
|
|
|