aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Minar2013-02-25 10:02:28 -0800
committerIgor Minar2013-02-25 10:02:28 -0800
commit7b236b29aa3a6f6dfe722815e0a2667d9b7f0899 (patch)
tree144b161b5647b62a6f17d358fa8ddc43a6326cdc
parentc36933d38fcdba5d2c8da0e1804a54ed4efdf95d (diff)
downloadangular.js-7b236b29aa3a6f6dfe722815e0a2667d9b7f0899.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 113bacc5..5508605e 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 74b1e9e3..9d0acc22 100644
--- a/test/ng/compileSpec.js
+++ b/test/ng/compileSpec.js
@@ -2479,6 +2479,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');
}));