diff options
| author | Igor Minar | 2013-02-25 10:02:28 -0800 |
|---|---|---|
| committer | Igor Minar | 2013-02-25 10:02:28 -0800 |
| commit | 7b236b29aa3a6f6dfe722815e0a2667d9b7f0899 (patch) | |
| tree | 144b161b5647b62a6f17d358fa8ddc43a6326cdc | |
| parent | c36933d38fcdba5d2c8da0e1804a54ed4efdf95d (diff) | |
| download | angular.js-7b236b29aa3a6f6dfe722815e0a2667d9b7f0899.tar.bz2 | |
fix($compile): whitelist file:// in url sanitization
| -rw-r--r-- | src/ng/compile.js | 2 | ||||
| -rw-r--r-- | test/ng/compileSpec.js | 4 |
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'); })); |
