Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

Commit

Permalink
fix($sce): allow IE7 standards mode to pass non-quirks mode test
Browse files Browse the repository at this point in the history
Changes documentMode test version to 7 in order to support IE 8 in IE 7 standards
mode while still protecting against quirks mode.

documentMode returns the following values:
5 - quirks mode,
7 - IE 7 standards mode,
8 - IE 8 standards mode.

Closes #3633
Closes #3646
  • Loading branch information
justinrknowles authored and IgorMinar committed Aug 21, 2013
1 parent ad77d67 commit 637c9b1
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/ng/sce.js
Original file line number Diff line number Diff line change
Expand Up @@ -620,7 +620,7 @@ function $SceProvider() {
// the "expression(javascript expression)" syntax which is insecure.
if (enabled && msie) {
var documentMode = $document[0].documentMode;
if (documentMode !== undefined && documentMode < 8) {
if (documentMode !== undefined && documentMode < 7) {
throw $sceMinErr('iequirks',
'Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks ' +
'mode. You can fix this by adding the text <!doctype html> to the top of your HTML ' +
Expand Down
10 changes: 9 additions & 1 deletion test/ng/sceSpecs.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,11 @@ describe('SCE', function() {
}

it('should throw an exception when sce is enabled in quirks mode', function() {
runTest(true, 7, true);
runTest(true, 5, true);
});

it('should NOT throw an exception when sce is enabled and in IE7 standards mode', function() {
runTest(true, 7, false);
});

it('should NOT throw an exception when sce is enabled and in standards mode', function() {
Expand All @@ -70,6 +74,10 @@ describe('SCE', function() {
});

it('should NOT throw an exception when sce is disabled even when in quirks mode', function() {
runTest(false, 5, false);
});

it('should NOT throw an exception when sce is disabled and in IE7 standards mode', function() {
runTest(false, 7, false);
});

Expand Down

0 comments on commit 637c9b1

Please sign in to comment.