Remove use of goog.userAgent

This commit is contained in:
Andreas Hocevar
2016-08-28 12:02:37 +02:00
parent b9a7fb2421
commit 5bb887d3ce
4 changed files with 28 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
goog.provide('ol.dom');
goog.require('goog.userAgent');
goog.require('ol');
goog.require('ol.has');
goog.require('ol.vec.Mat4');
@@ -115,7 +115,7 @@ ol.dom.setTransform = function(element, value) {
style.transform = value;
// IE 9+ seems to assume transform-origin: 100% 100%; for some unknown reason
if (goog.userAgent.IE && goog.userAgent.isVersionOrHigher('9.0')) {
if (ol.has.IE) {
element.style.transformOrigin = '0 0';
}
};

View File

@@ -1,6 +1,7 @@
goog.provide('ol.events.condition');
goog.require('ol.asserts');
goog.require('ol.has');
goog.require('ol.functions');
goog.require('ol.MapBrowserEvent.EventType');
@@ -74,7 +75,7 @@ ol.events.condition.click = function(mapBrowserEvent) {
ol.events.condition.mouseActionButton = function(mapBrowserEvent) {
var originalEvent = mapBrowserEvent.originalEvent;
return originalEvent.button == 0 &&
!(goog.userAgent.WEBKIT && ol.has.MAC && originalEvent.ctrlKey);
!(ol.has.WEBKIT && ol.has.MAC && originalEvent.ctrlKey);
};

View File

@@ -1,13 +1,21 @@
goog.provide('ol.has');
goog.require('ol');
goog.require('ol.dom');
goog.require('ol.webgl');
var ua = typeof navigator !== 'undefined' ?
navigator.userAgent.toLowerCase() : '';
var ie = ua.match(/msie ([0-9]{1,}[\.0-9]{0,})/);
var trident = ua.match(/trident\/([0-9]{1,}[\.0-9]{0,})/);
/**
* User agent string says we are dealing with IE >= 9 as browser.
* @type {boolean}
*/
ol.has.IE = !!(ie && parseFloat(ie[1]) >= 9 || trident && parseFloat(trident[1]) >= 6);
/**
* User agent string says we are dealing with Firefox as browser.
* @type {boolean}
@@ -18,7 +26,13 @@ ol.has.FIREFOX = ua.indexOf('firefox') !== -1;
* User agent string says we are dealing with Safari as browser.
* @type {boolean}
*/
ol.has.SAFARI = ua.indexOf('safari') !== -1 && ua.indexOf('chrom') === -1;
ol.has.SAFARI = ua.indexOf('safari') !== -1 && ua.indexOf('chrom') == -1;
/**
* User agent string says we are dealing with a WebKit engine.
* @type {boolean}
*/
ol.has.WEBKIT = ua.indexOf('webkit') !== -1 && ua.indexOf('edge') == -1;
/**
* User agent string says we are dealing with a Mac as platform.
@@ -60,7 +74,7 @@ ol.has.CANVAS = ol.ENABLE_CANVAS && (
return false;
}
try {
var context = ol.dom.createCanvasContext2D();
var context = document.createElement('CANVAS').getContext('2d');
if (!context) {
return false;
} else {

View File

@@ -1,7 +1,6 @@
/*global Modernizr*/
goog.provide('ol.test.dom');
goog.require('goog.userAgent');
goog.require('ol.transform');
goog.require('ol.dom');
@@ -92,10 +91,13 @@ describe('ol.dom', function() {
describe('ol.dom.setTransform', function() {
var element = null;
var originalIsIE;
beforeEach(function() {
element = document.createElement('div');
originalIsIE = ol.has.IE;
});
afterEach(function() {
ol.has.IE = originalIsIE;
element = null;
});
@@ -115,35 +117,24 @@ describe('ol.dom', function() {
});
it('sets transform origin for IE 9', function() {
// save old user agent information
var originalIsIE = goog.userAgent.IE;
var originalIsVersionOrHigher = goog.userAgent.isVersionOrHigher;
// Mock up IE 9
goog.userAgent.IE = true;
goog.userAgent.isVersionOrHigher = function() {
return true;
};
ol.has.IE = true;
ol.dom.setTransform(element, 'rotate(48deg)');
expect(element.style.transformOrigin).to.not.be('');
// revert mock-ups
goog.userAgent.IE = originalIsIE;
goog.userAgent.isVersionOrHigher = originalIsVersionOrHigher;
});
it('sets transform origin *only* for IE 9', function() {
// save old user agent information
var originalIsIE = goog.userAgent.IE;
var originalIsIE = ol.has.IE;
// Mock up some non-IE browser
goog.userAgent.IE = false;
ol.has.IE = false;
ol.dom.setTransform(element, 'rotate(48deg)');
expect(!element.style.transformOrigin).to.be(true);
// revert mock-ups
goog.userAgent.IE = originalIsIE;
ol.has.IE = originalIsIE;
});
});