diff --git a/src/lib/bind/accessors.html b/src/lib/bind/accessors.html
index 594902a409..58e301f5cf 100644
--- a/src/lib/bind/accessors.html
+++ b/src/lib/bind/accessors.html
@@ -23,7 +23,7 @@
value = value === undefined ? this[source] : value;
event = event || Polymer.CaseMap.camelToDashCase(source) + '-changed';
this.fire(event, {value: value},
- {bubbles: false, cancelable: false, _useCache: true});
+ {bubbles: false, cancelable: false, _useCache: Polymer.Settings.eventDataCache || !CustomElements.isIE});
},
// TODO(sjmiles): removing _notifyListener from here breaks accessors.html
diff --git a/src/lib/lang.html b/src/lib/lang.html
index d80e8fd1b6..bb21af6cc1 100644
--- a/src/lib/lang.html
+++ b/src/lib/lang.html
@@ -14,7 +14,7 @@
enumerable: true,
configurable: true,
get: function() {
- return (document._currentScript || document.currentScript).ownerDocument;
+ return (document._currentScript || document.currentScript || {}).ownerDocument;
}
});
diff --git a/src/lib/resolve-url.html b/src/lib/resolve-url.html
index 8fc464dab6..6b1b358c5b 100644
--- a/src/lib/resolve-url.html
+++ b/src/lib/resolve-url.html
@@ -63,8 +63,8 @@
}
function getUrlResolver(ownerDocument) {
- return ownerDocument.__urlResolver ||
- (ownerDocument.__urlResolver = ownerDocument.createElement('a'));
+ return ownerDocument.body.__urlResolver ||
+ (ownerDocument.body.__urlResolver = ownerDocument.createElement('a'));
}
var CSS_URL_RX = /(url\()([^)]*)(\))/g;
diff --git a/src/standard/events.html b/src/standard/events.html
index d4ea2a2cb4..a795526fb0 100644
--- a/src/standard/events.html
+++ b/src/standard/events.html
@@ -108,7 +108,9 @@
var bl = hbl.get(target);
if (!bl) {
bl = {};
- hbl.set(target, bl);
+ if( !CustomElements.isIE || target != window ) {
+ hbl.set(target, bl);
+ }
}
var key = this._boundListenerKey(eventName, methodName);
bl[key] = handler;
diff --git a/src/standard/notify-path.html b/src/standard/notify-path.html
index 2979566fa9..e850b2304f 100644
--- a/src/standard/notify-path.html
+++ b/src/standard/notify-path.html
@@ -376,7 +376,7 @@
this.fire(eventName, {
path: path,
value: value
- }, {bubbles: false, _useCache: true});
+ }, {bubbles: false, _useCache: Polymer.Settings.eventDataCache || !CustomElements.isIE});
},
_EVENT_CHANGED: '-changed',