diff --git a/src/lib/settings.html b/src/lib/settings.html
index 77eccef239..7e4c4288f7 100644
--- a/src/lib/settings.html
+++ b/src/lib/settings.html
@@ -38,6 +38,8 @@
var useNativeCustomElements = (!window.CustomElements ||
window.CustomElements.useNative);
+ var usePolyfillProto = !useNativeCustomElements && !Object.__proto__;
+
return {
wantShadow: wantShadow,
hasShadow: hasShadow,
@@ -45,7 +47,8 @@
useShadow: useShadow,
useNativeShadow: useShadow && nativeShadow,
useNativeImports: useNativeImports,
- useNativeCustomElements: useNativeCustomElements
+ useNativeCustomElements: useNativeCustomElements,
+ usePolyfillProto: usePolyfillProto
};
})()
};
diff --git a/src/standard/configure.html b/src/standard/configure.html
index 0619bad2d0..b994b00367 100644
--- a/src/standard/configure.html
+++ b/src/standard/configure.html
@@ -9,7 +9,7 @@
-->
diff --git a/test/unit/configure.html b/test/unit/configure.html
index a51a1d7597..dc125a89a0 100644
--- a/test/unit/configure.html
+++ b/test/unit/configure.html
@@ -104,6 +104,10 @@
});
test('pre-register property assignment does not break getters and setters', function() {
+ // don't test if __proto__ is polyfilled (IE10); cannot be fixed in this case.
+ if (Polymer.Settings.usePolyfillProto) {
+ return;
+ }
var x = document.createElement('x-late-register');
document.body.appendChild(x);
// set property