diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2022-09-18 00:43:13 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2022-09-18 00:43:13 +0200 |
commit | 04082597f90dcb624c6466a7e1f173489a8ec517 (patch) | |
tree | 3e76a9afd2bf761ac365489ab38b2e1ba088bb44 /platform/web/js/engine/engine.js | |
parent | d0d22bfa5e1f4f79ac97dcc941558d1e76da1a4e (diff) | |
parent | 51484028fd352340b02d53c3aa7c6dd5e49ddd84 (diff) | |
download | redot-engine-04082597f90dcb624c6466a7e1f173489a8ec517.tar.gz |
Merge pull request #65975 from Faless/web/4.x_features_detection
[Web] Add feature detection helpers to JS Engine class.
Diffstat (limited to 'platform/web/js/engine/engine.js')
-rw-r--r-- | platform/web/js/engine/engine.js | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/platform/web/js/engine/engine.js b/platform/web/js/engine/engine.js index 6f0d51b2be..9227aa1f05 100644 --- a/platform/web/js/engine/engine.js +++ b/platform/web/js/engine/engine.js @@ -61,20 +61,6 @@ const Engine = (function () { }; /** - * Check whether WebGL is available. Optionally, specify a particular version of WebGL to check for. - * - * @param {number=} [majorVersion=1] The major WebGL version to check for. - * @returns {boolean} If the given major version of WebGL is available. - * @function Engine.isWebGLAvailable - */ - Engine.isWebGLAvailable = function (majorVersion = 1) { - try { - return !!document.createElement('canvas').getContext(['webgl', 'webgl2'][majorVersion - 1]); - } catch (e) { /* Not available */ } - return false; - }; - - /** * Safe Engine constructor, creates a new prototype for every new instance to avoid prototype pollution. * @ignore * @constructor @@ -265,14 +251,21 @@ const Engine = (function () { // Also expose static methods as instance methods Engine.prototype['load'] = Engine.load; Engine.prototype['unload'] = Engine.unload; - Engine.prototype['isWebGLAvailable'] = Engine.isWebGLAvailable; return new Engine(initConfig); } // Closure compiler exported static methods. SafeEngine['load'] = Engine.load; SafeEngine['unload'] = Engine.unload; - SafeEngine['isWebGLAvailable'] = Engine.isWebGLAvailable; + + // Feature-detection utilities. + SafeEngine['isWebGLAvailable'] = Features.isWebGLAvailable; + SafeEngine['isFetchAvailable'] = Features.isFetchAvailable; + SafeEngine['isSecureContext'] = Features.isSecureContext; + SafeEngine['isCrossOriginIsolated'] = Features.isCrossOriginIsolated; + SafeEngine['isSharedArrayBufferAvailable'] = Features.isSharedArrayBufferAvailable; + SafeEngine['isAudioWorkletAvailable'] = Features.isAudioWorkletAvailable; + SafeEngine['getMissingFeatures'] = Features.getMissingFeatures; return SafeEngine; }()); |