aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/directive/booleanAttrsSpec.js
AgeCommit message (Collapse)Author
2013-06-24test($compile): fix IE specific test.Chirayu Krishnappa
2013-06-24fix($compile): reject multi-expression interpolations for src attributeChirayu Krishnappa
BREAKING CHANGE: Concatenating expressions makes it hard to reason about whether some combination of concatenated values are unsafe to use and could easily lead to XSS. By requiring that a single expression be used for *[src/ng-src] such as iframe[src], object[src], etc. (but not img[src/ng-src] since that value is sanitized), we ensure that the value that's used is assigned or constructed by some JS code somewhere that is more testable or make it obvious that you bound the value to some user controlled value. This helps reduce the load when auditing for XSS issues. To migrate your code, follow the example below: Before: JS: scope.baseUrl = 'page'; scope.a = 1; scope.b = 2; HTML: <!-- Are a and b properly escaped here? Is baseUrl controlled by user? --> <iframe src="{{baseUrl}}?a={{a}&b={{b}}"> After: JS: var baseUrl = "page"; scope.getIframeSrc = function() { // There are obviously better ways to do this. The // key point is that one will think about this and do // it the right way. var qs = ["a", "b"].map(function(value, name) { return encodeURIComponent(name) + "=" + encodeURIComponent(value); }).join("&"); // baseUrl isn't on scope so it isn't bound to a user // controlled value. return baseUrl + "?" + qs; } HTML: <iframe src="{{getIframeSrc()}}">
2013-05-14feat(ngSrcset): add new ngSrcset directiveSamuel Santos
In line with ngSrc and ngHref, this new directive ensures that the `srcset` HTML5 attribute does not include a pre-interpolated string. Without it the browser will fetch from the URL with the literal text `{{hash}}` until AngularJS replaces the expression inside `{{hash}}`. Closes #2601
2013-01-18feat(directive): added ng-open boolean directiveDavid Chang
Closes# 1797 add ng-open attribute
2012-05-06fix(ngSrc,ngHref): binding should set element prop as well as attrIgor Minar
IE9 ignores setAttribute('src', val) calls on img if "ng:src" attribute is present. It only fetches the image if element property is updated as well. Closes #935
2012-04-09chore(tests): rename all directive names to the normalized formIgor Minar
2012-04-04refactor(ngHref, ngSrc): remove duplicate testsVojta Jina
2012-04-04chore(directive): correct file names for booleanAttrsVojta Jina