From 37c17ddbf9326de1731678ea2dd934719f1817b5 Mon Sep 17 00:00:00 2001 From: Juanjo Diaz Date: Wed, 27 Feb 2019 10:13:50 +0200 Subject: [PATCH] Move support check from display to browser --- kasmweb/core/display.js | 11 ++--------- kasmweb/core/util/browser.js | 9 +++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/kasmweb/core/display.js b/kasmweb/core/display.js index 041daee..acc1878 100644 --- a/kasmweb/core/display.js +++ b/kasmweb/core/display.js @@ -8,14 +8,7 @@ import * as Log from './util/logging.js'; import Base64 from "./base64.js"; - -let SUPPORTS_IMAGEDATA_CONSTRUCTOR = false; -try { - new ImageData(new Uint8ClampedArray(4), 1, 1); - SUPPORTS_IMAGEDATA_CONSTRUCTOR = true; -} catch (ex) { - // ignore failure -} +import { supportsImageMetadata } from './util/browser.js'; export default class Display { constructor(target) { @@ -581,7 +574,7 @@ export default class Display { _rgbxImageData(x, y, width, height, arr, offset) { // NB(directxman12): arr must be an Type Array view let img; - if (SUPPORTS_IMAGEDATA_CONSTRUCTOR) { + if (supportsImageMetadata) { img = new ImageData(new Uint8ClampedArray(arr.buffer, arr.byteOffset, width * height * 4), width, height); } else { img = this._drawCtx.createImageData(width, height); diff --git a/kasmweb/core/util/browser.js b/kasmweb/core/util/browser.js index 026a31a..78e104d 100644 --- a/kasmweb/core/util/browser.js +++ b/kasmweb/core/util/browser.js @@ -49,6 +49,15 @@ export function supportsCursorURIs() { return _cursor_uris_supported; } +let _supportsImageMetadata = false; +try { + new ImageData(new Uint8ClampedArray(4), 1, 1); + _supportsImageMetadata = true; +} catch (ex) { + // ignore failure +} +export const supportsImageMetadata = _supportsImageMetadata; + export function isMac() { return navigator && !!(/mac/i).exec(navigator.platform); }