Skip to content

Commit c3bdd62

Browse files
committed
Clean up usage of browser prefixes; no need to use them on modern browsers if we can feat detect
1 parent 9b777a8 commit c3bdd62

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

lib/utils/domFns.es6

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,7 @@ export function createSVGTransform({x, y}: {x: number, y: number}): string {
118118
// User-select Hacks:
119119
//
120120
// Useful for preventing blue highlights all over everything when dragging.
121-
let userSelectStyle = ';user-select: none;';
122-
if (browserPrefix) {
123-
userSelectStyle += '-' + browserPrefix.toLowerCase() + '-user-select: none;';
124-
}
121+
const userSelectStyle = `;${browserPrefix ? `-${browserPrefix.toLowerCase()}-` : ''}user-select: none;`;
125122

126123
export function addUserSelectStyles() {
127124
let style = document.body.getAttribute('style') || '';

lib/utils/getPrefix.es6

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@ export function generatePrefix(): string {
55
// E.g. React-rails (see https://github.com/reactjs/react-rails/pull/84)
66
if (typeof window === 'undefined' || typeof window.document === 'undefined') return '';
77

8-
// Thanks David Walsh
9-
let styles = window.getComputedStyle(document.documentElement, ''),
10-
pre = (Array.prototype.slice
11-
.call(styles)
12-
.join('')
13-
.match(/-(moz|webkit|ms)-/) || (styles.OLink === '' ? ['', 'o'] : [])
14-
)[1];
15-
// 'ms' is not titlecased
16-
if (pre === undefined || pre === null) return '';
17-
if (pre === 'ms') return pre;
18-
if (pre === undefined || pre === null) return '';
19-
return pre.slice(0, 1).toUpperCase() + pre.slice(1);
8+
const prefixes = ['Moz', 'Webkit', 'O', 'ms'];
9+
const style = window.document.documentElement.style;
10+
11+
if ('transform' in style) {
12+
return '';
13+
}
14+
15+
for (let i = 0; i < prefixes.length; ++i) {
16+
if (prefixes[i] + 'Transform' in style) {
17+
return prefixes[i];
18+
}
19+
}
20+
return '';
2021
}
2122

2223
export default generatePrefix();

0 commit comments

Comments
 (0)