Skip to content

Commit e4befa9

Browse files
committed
fix(ngSrcset): ignore undefined ng-srcset directive
Closes angular#14470
1 parent 253cb8d commit e4befa9

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

Diff for: src/ng/compile.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1447,7 +1447,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
14471447
(nodeName === 'img' && key === 'src')) {
14481448
// sanitize a[href] and img[src] values
14491449
this[key] = value = $$sanitizeUri(value, key === 'src');
1450-
} else if (nodeName === 'img' && key === 'srcset') {
1450+
} else if (nodeName === 'img' && key === 'srcset' && isDefined(value)) {
14511451
// sanitize img[srcset] values
14521452
var result = "";
14531453

Diff for: test/ng/directive/ngSrcsetSpec.js

+7
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,12 @@ describe('ngSrcset', function() {
2828
$rootScope.$digest();
2929
expect(element.attr('srcset')).toBe('http://example.com/image1.png 1x,unsafe:javascript:doEvilStuff() 2x');
3030
}));
31+
32+
it('should not throw an error if undefined', inject(function($rootScope, $compile) {
33+
$rootScope.imageUrl = {};
34+
element = $compile('<img ng-srcset="{{undefined}}">')($rootScope);
35+
$rootScope.$digest();
36+
expect(element.attr('srcset')).toBe(undefined);
37+
}));
3138
});
3239

0 commit comments

Comments
 (0)