From ae0e07c1e13a38acea1b2fe29d1fc6ab4dafc816 Mon Sep 17 00:00:00 2001 From: George Kalpakas Date: Thu, 5 Apr 2018 16:06:05 +0300 Subject: [PATCH] fix($compile): correctly handle `null`/`undefined` href `attrs.$set()` Accidentally broken while backporting #14890. --- src/ng/compile.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ng/compile.js b/src/ng/compile.js index 9063ca2f55f6..9d636b89c5e9 100644 --- a/src/ng/compile.js +++ b/src/ng/compile.js @@ -1723,7 +1723,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if ((nodeName === 'a' && (key === 'href' || key === 'xlinkHref')) || (nodeName === 'img' && key === 'src')) { // sanitize a[href] and img[src] values - this[key] = value = $$sanitizeUri(value, key === 'src'); + this[key] = value = (value == null) ? value : $$sanitizeUri(value, key === 'src'); } else if (nodeName === 'img' && key === 'srcset' && isDefined(value)) { // sanitize img[srcset] values var result = ''; @@ -1761,7 +1761,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } if (writeAttr !== false) { - if (value === null || isUndefined(value)) { + if (value == null) { this.$$element.removeAttr(attrName); } else { if (SIMPLE_ATTR_NAME.test(attrName)) {