| Index: lib/compiler/implementation/lib/native_helper.dart
|
| diff --git a/lib/compiler/implementation/lib/native_helper.dart b/lib/compiler/implementation/lib/native_helper.dart
|
| index 1b62d327897997d632d87173d6d26f10d37e57f8..5c42d048773b9ef80f7e5b8a3c7ce46e10c0b8ad 100644
|
| --- a/lib/compiler/implementation/lib/native_helper.dart
|
| +++ b/lib/compiler/implementation/lib/native_helper.dart
|
| @@ -10,6 +10,15 @@ String typeNameInChrome(obj) {
|
| return name;
|
| }
|
|
|
| +String typeNameInSafari(obj) {
|
| + String name = constructorNameFallback(obj);
|
| + // Safari is very similar to Chrome.
|
| + if (name == 'Window') return 'DOMWindow';
|
| + if (name == 'CanvasPixelArray') return 'Uint8ClampedArray';
|
| + if (name == 'WebKitMutationObserver') return 'MutationObserver';
|
| + return name;
|
| +}
|
| +
|
| String typeNameInOpera(obj) {
|
| String name = constructorNameFallback(obj);
|
| if (name == 'Window') return 'DOMWindow';
|
| @@ -84,6 +93,8 @@ Function getFunctionForTypeNameOf() {
|
| return typeNameInIE;
|
| } else if (userAgent.contains('Opera')) {
|
| return typeNameInOpera;
|
| + } else if (userAgent.contains('Safari')) {
|
| + return typeNameInSafari;
|
| } else {
|
| return constructorNameFallback;
|
| }
|
|
|