diff options
| author | Igor Minar | 2013-02-25 10:02:28 -0800 |
|---|---|---|
| committer | Igor Minar | 2013-02-25 10:02:50 -0800 |
| commit | 6c611df8f0a7b3a360fd23d1e68eb8a709e0ce53 (patch) | |
| tree | 08957d886cf6c2bd43c3748db01e4e1fb26f9374 | |
| parent | 6be24df5bc415d1d059b4e17193898d699fe7a37 (diff) | |
| download | angular.js-6c611df8f0a7b3a360fd23d1e68eb8a709e0ce53.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 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'); })); |
