diff options
Diffstat (limited to 'src/ng')
| -rw-r--r-- | src/ng/sce.js | 20 | ||||
| -rw-r--r-- | src/ng/sniffer.js | 6 | 
2 files changed, 12 insertions, 14 deletions
diff --git a/src/ng/sce.js b/src/ng/sce.js index b1b571c6..24b94c83 100644 --- a/src/ng/sce.js +++ b/src/ng/sce.js @@ -199,8 +199,7 @@ function $SceDelegateProvider() {      return resourceUrlBlacklist;    }; -  this.$get = ['$log', '$document', '$injector', function( -                $log,   $document,   $injector) { +  this.$get = ['$injector', function($injector) {      var htmlSanitizer = function htmlSanitizer(html) {        throw $sceMinErr('unsafe', 'Attempting to use an unsafe value in a safe context.'); @@ -731,18 +730,15 @@ function $SceProvider() {     * sce.js and sceSpecs.js would need to be aware of this detail.     */ -  this.$get = ['$parse', '$document', '$sceDelegate', function( -                $parse,   $document,   $sceDelegate) { +  this.$get = ['$parse', '$sniffer', '$sceDelegate', function( +                $parse,   $sniffer,   $sceDelegate) {      // Prereq: Ensure that we're not running in IE8 quirks mode.  In that mode, IE allows      // the "expression(javascript expression)" syntax which is insecure. -    if (enabled && msie) { -      var documentMode = $document[0].documentMode; -      if (documentMode !== undefined && documentMode < 8) { -        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 ' + -          'document.  See http://docs.angularjs.org/api/ng.$sce for more information.'); -      } +    if (enabled && $sniffer.msie && $sniffer.msieDocumentMode < 8) { +      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 ' + +        'document.  See http://docs.angularjs.org/api/ng.$sce for more information.');      }      var sce = copy(SCE_CONTEXTS); diff --git a/src/ng/sniffer.js b/src/ng/sniffer.js index 9a1438d3..0ea8d823 100644 --- a/src/ng/sniffer.js +++ b/src/ng/sniffer.js @@ -22,6 +22,7 @@ function $SnifferProvider() {            int((/android (\d+)/.exec(lowercase(($window.navigator || {}).userAgent)) || [])[1]),          boxee = /Boxee/i.test(($window.navigator || {}).userAgent),          document = $document[0] || {}, +        documentMode = document.documentMode,          vendorPrefix,          vendorRegex = /^(Moz|webkit|O|ms)(?=[A-Z])/,          bodyStyle = document.body && document.body.style, @@ -66,7 +67,7 @@ function $SnifferProvider() {        // jshint +W018        hashchange: 'onhashchange' in $window &&                    // IE8 compatible mode lies -                  (!document.documentMode || document.documentMode > 7), +                  (!documentMode || documentMode > 7),        hasEvent: function(event) {          // IE9 implements 'input' event it's so fubared that we rather pretend that it doesn't have          // it. In particular the event is not fired when backspace or delete key are pressed or @@ -84,7 +85,8 @@ function $SnifferProvider() {        vendorPrefix: vendorPrefix,        transitions : transitions,        animations : animations, -      msie : msie +      msie : msie, +      msieDocumentMode: documentMode      };    }];  }  | 
