aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Minar2013-02-25 10:02:28 -0800
committerIgor Minar2013-02-25 10:02:50 -0800
commit6c611df8f0a7b3a360fd23d1e68eb8a709e0ce53 (patch)
tree08957d886cf6c2bd43c3748db01e4e1fb26f9374
parent6be24df5bc415d1d059b4e17193898d699fe7a37 (diff)
downloadangular.js-6c611df8f0a7b3a360fd23d1e68eb8a709e0ce53.tar.bz2
fix($compile): whitelist file:// in url sanitization
-rw-r--r--src/ng/compile.js2
-rw-r--r--test/ng/compileSpec.js4
2 files changed, 5 insertions, 1 deletions
diff --git a/src/ng/compile.js b/src/ng/compile.js
index 78df5aa8..eb92830d 100644
--- a/src/ng/compile.js
+++ b/src/ng/compile.js
@@ -156,7 +156,7 @@ function $CompileProvider($provide) {
COMMENT_DIRECTIVE_REGEXP = /^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,
CLASS_DIRECTIVE_REGEXP = /(([\d\w\-_]+)(?:\:([^;]+))?;?)/,
MULTI_ROOT_TEMPLATE_ERROR = 'Template must have exactly one root element. was: ',
- urlSanitizationWhitelist = /^\s*(https?|ftp|mailto):/;
+ urlSanitizationWhitelist = /^\s*(https?|ftp|mailto|file):/;
/**
diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js
index 0b77be30..ddcd8270 100644
--- a/test/ng/compileSpec.js
+++ b/test/ng/compileSpec.js
@@ -2484,6 +2484,10 @@ describe('$compile', function() {
$rootScope.testUrl = "mailto:foo@bar.com";
$rootScope.$apply();
expect(element.attr('href')).toBe('mailto:foo@bar.com');
+
+ $rootScope.testUrl = "file:///foo/bar.html";
+ $rootScope.$apply();
+ expect(element.attr('href')).toBe('file:///foo/bar.html');
}));