diff options
| author | Matias Niemelä | 2013-08-19 17:48:40 -0400 | 
|---|---|---|
| committer | Misko Hevery | 2013-08-19 15:51:28 -0700 | 
| commit | b1a43cd04e8727df5bef3197f5fda3b98ecab740 (patch) | |
| tree | 54a6a9e2c289d50ebbba3f9424a939e417d67f82 | |
| parent | b7a54497b51061d0f5d9ae74b74f5dd7c8eae51d (diff) | |
| download | angular.js-b1a43cd04e8727df5bef3197f5fda3b98ecab740.tar.bz2 | |
fix($sniffer): ensure older versions of webkit work for animations
| -rw-r--r-- | src/ng/sniffer.js | 5 | ||||
| -rw-r--r-- | test/ng/snifferSpec.js | 33 | 
2 files changed, 38 insertions, 0 deletions
| diff --git a/src/ng/sniffer.js b/src/ng/sniffer.js index 54e6e083..585519b3 100644 --- a/src/ng/sniffer.js +++ b/src/ng/sniffer.js @@ -35,6 +35,11 @@ function $SnifferProvider() {            break;          }        } + +      if(!vendorPrefix) { +        vendorPrefix = ('WebkitOpacity' in bodyStyle) && 'webkit'; +      } +        transitions = !!(('transition' in bodyStyle) || (vendorPrefix + 'Transition' in bodyStyle));        animations  = !!(('animation' in bodyStyle) || (vendorPrefix + 'Animation' in bodyStyle)); diff --git a/test/ng/snifferSpec.js b/test/ng/snifferSpec.js index c9d0d5a8..2206a271 100644 --- a/test/ng/snifferSpec.js +++ b/test/ng/snifferSpec.js @@ -122,6 +122,22 @@ describe('$sniffer', function() {        });      }); +    it('should still work for an older version of Webkit', function() { +      module(function($provide) { +        var doc = { +          body : { +            style : { +              WebkitOpacity: '0' +            } +          } +        }; +        $provide.value('$document', jqLite(doc)); +      }); +      inject(function($sniffer) { +        expect($sniffer.vendorPrefix).toBe('webkit'); +      }); +    }); +    });    describe('animations', function() { @@ -201,6 +217,23 @@ describe('$sniffer', function() {          expect($sniffer.animations).toBe(true);        });      }); + +    it('should be true when an older version of Webkit is used', function() { +      module(function($provide) { +        var doc = { +          body : { +            style : { +              WebkitOpacity: '0' +            } +          } +        }; +        $provide.value('$document', jqLite(doc)); +      }); +      inject(function($sniffer) { +        expect($sniffer.animations).toBe(false); +      }); +    }); +    });    describe('transitions', function() { | 
