diff options
| -rw-r--r-- | src/ng/sniffer.js | 9 | ||||
| -rw-r--r-- | test/ng/anchorScrollSpec.js | 3 | ||||
| -rw-r--r-- | test/ng/logSpec.js | 2 | ||||
| -rw-r--r-- | test/ng/snifferSpec.js | 1 | 
4 files changed, 11 insertions, 4 deletions
diff --git a/src/ng/sniffer.js b/src/ng/sniffer.js index b19e7ccf..0b116e27 100644 --- a/src/ng/sniffer.js +++ b/src/ng/sniffer.js @@ -14,10 +14,15 @@   */  function $SnifferProvider() {    this.$get = ['$window', function($window) { -    var eventSupport = {}; +    var eventSupport = {}, +        android = int((/android (\d+)/.exec(lowercase($window.navigator.userAgent)) || [])[1]);      return { -      history: !!($window.history && $window.history.pushState), +      // Android has history.pushState, but it does not update location correctly +      // so let's not use the history API at all. +      // http://code.google.com/p/android/issues/detail?id=17471 +      // https://github.com/angular/angular.js/issues/904 +      history: !!($window.history && $window.history.pushState && !(android < 4)),        hashchange: 'onhashchange' in $window &&                    // IE8 compatible mode lies                    (!$window.document.documentMode || $window.document.documentMode > 7), diff --git a/test/ng/anchorScrollSpec.js b/test/ng/anchorScrollSpec.js index 7e4b3aa3..ba64d1a5 100644 --- a/test/ng/anchorScrollSpec.js +++ b/test/ng/anchorScrollSpec.js @@ -51,7 +51,8 @@ describe('$anchorScroll', function() {      elmSpy = {};      $provide.value('$window', {        scrollTo: jasmine.createSpy('$window.scrollTo'), -      document: document +      document: document, +      navigator: {}      });    })); diff --git a/test/ng/logSpec.js b/test/ng/logSpec.js index 269057a2..ce5c4f11 100644 --- a/test/ng/logSpec.js +++ b/test/ng/logSpec.js @@ -6,7 +6,7 @@ describe('$log', function() {    beforeEach(module(function($provide){ -    $window = {}; +    $window = {navigator: {}};      logger = '';      log = function() { logger+= 'log;'; };      warn = function() { logger+= 'warn;'; }; diff --git a/test/ng/snifferSpec.js b/test/ng/snifferSpec.js index 81a0db5e..a34a1975 100644 --- a/test/ng/snifferSpec.js +++ b/test/ng/snifferSpec.js @@ -3,6 +3,7 @@  describe('$sniffer', function() {    function sniffer($window) { +    $window.navigator = {};      return new $SnifferProvider().$get[1]($window);    }  | 
