| Index: client/dom/scripts/template_wrapping_dom.js
|
| diff --git a/client/dom/scripts/template_wrapping_dom.js b/client/dom/scripts/template_wrapping_dom.js
|
| index 1634ff35b583a180128f77b53d33065702e8b214..adee42977b7ce565093bc61cda3f11f965c6ed4d 100644
|
| --- a/client/dom/scripts/template_wrapping_dom.js
|
| +++ b/client/dom/scripts/template_wrapping_dom.js
|
| @@ -174,7 +174,10 @@ var __dom_type_map = {
|
| $!MAP
|
| // Patches for non-WebKit browsers
|
| 'Window': native__DOMWindowWrappingImplementation_create__DOMWindowWrappingImplementation,
|
| - 'global': native__DOMWindowWrappingImplementation_create__DOMWindowWrappingImplementation
|
| + 'global': native__DOMWindowWrappingImplementation_create__DOMWindowWrappingImplementation,
|
| + 'KeyEvent': native__KeyboardEventWrappingImplementation_create__KeyboardEventWrappingImplementation, // Opera
|
| + 'HTMLPhraseElement': native__HTMLElementWrappingImplementation_create__HTMLElementWrappingImplementation, // IE9
|
| + 'MSStyleCSSProperties': native__CSSStyleDeclarationWrappingImplementation_create__CSSStyleDeclarationWrappingImplementation // IE9
|
| };
|
|
|
| function __dom_get_class_chrome(ptr) {
|
| @@ -182,18 +185,27 @@ function __dom_get_class_chrome(ptr) {
|
| }
|
|
|
| function __dom_get_class_generic(ptr) {
|
| - var isolatetoken = __dom_isolate_token();
|
| - var result = __dom_get_cached('dart_class', ptr.__proto__, isolatetoken);
|
| - if (result) {
|
| - return result;
|
| - }
|
| var str = Object.prototype.toString.call(ptr);
|
| var name = str.substring(8, str.length - 1);
|
| var cls = __dom_type_map[name];
|
| - __dom_set_cached('dart_class', ptr.__proto__, isolatetoken, cls);
|
| return cls;
|
| }
|
|
|
| +if (Object.__proto__) {
|
| + __dom_get_class_generic = function(ptr) {
|
| + var isolatetoken = __dom_isolate_token();
|
| + var result = __dom_get_cached('dart_class', ptr.__proto__, isolatetoken);
|
| + if (result) {
|
| + return result;
|
| + }
|
| + var str = Object.prototype.toString.call(ptr);
|
| + var name = str.substring(8, str.length - 1);
|
| + var cls = __dom_type_map[name];
|
| + __dom_set_cached('dart_class', ptr.__proto__, isolatetoken, cls);
|
| + return cls;
|
| + }
|
| +}
|
| +
|
| var __dom_get_class = __dom_get_class_generic;
|
| if (typeof window !== 'undefined' && // webworkers don't have a window
|
| window.constructor.name == "DOMWindow") {
|
|
|