diff options
| -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() { | 
