summaryrefslogtreecommitdiffstats
path: root/platform/web/js
diff options
context:
space:
mode:
Diffstat (limited to 'platform/web/js')
-rw-r--r--platform/web/js/libs/library_godot_fetch.js5
-rw-r--r--platform/web/js/libs/library_godot_os.js22
2 files changed, 27 insertions, 0 deletions
diff --git a/platform/web/js/libs/library_godot_fetch.js b/platform/web/js/libs/library_godot_fetch.js
index b50012c1e2..1bb48bfd6a 100644
--- a/platform/web/js/libs/library_godot_fetch.js
+++ b/platform/web/js/libs/library_godot_fetch.js
@@ -50,17 +50,22 @@ const GodotFetch = {
return;
}
let chunked = false;
+ let bodySize = -1;
response.headers.forEach(function (value, header) {
const v = value.toLowerCase().trim();
const h = header.toLowerCase().trim();
if (h === 'transfer-encoding' && v === 'chunked') {
chunked = true;
}
+ if (h === 'content-length') {
+ bodySize = parseInt(v, 10);
+ }
});
obj.status = response.status;
obj.response = response;
obj.reader = response.body.getReader();
obj.chunked = chunked;
+ obj.bodySize = bodySize;
},
onerror: function (id, err) {
diff --git a/platform/web/js/libs/library_godot_os.js b/platform/web/js/libs/library_godot_os.js
index c4c45a3036..00ae399583 100644
--- a/platform/web/js/libs/library_godot_os.js
+++ b/platform/web/js/libs/library_godot_os.js
@@ -291,6 +291,28 @@ const GodotOS = {
});
},
+ godot_js_os_has_feature__sig: 'ii',
+ godot_js_os_has_feature: function (p_ftr) {
+ const ftr = GodotRuntime.parseString(p_ftr);
+ const ua = navigator.userAgent;
+ if (ftr === 'web_macos') {
+ return (ua.indexOf('Mac') !== -1) ? 1 : 0;
+ }
+ if (ftr === 'web_windows') {
+ return (ua.indexOf('Windows') !== -1) ? 1 : 0;
+ }
+ if (ftr === 'web_android') {
+ return (ua.indexOf('Android') !== -1) ? 1 : 0;
+ }
+ if (ftr === 'web_ios') {
+ return ((ua.indexOf('iPhone') !== -1) || (ua.indexOf('iPad') !== -1) || (ua.indexOf('iPod') !== -1)) ? 1 : 0;
+ }
+ if (ftr === 'web_linuxbsd') {
+ return ((ua.indexOf('CrOS') !== -1) || (ua.indexOf('BSD') !== -1) || (ua.indexOf('Linux') !== -1) || (ua.indexOf('X11') !== -1)) ? 1 : 0;
+ }
+ return 0;
+ },
+
godot_js_os_execute__sig: 'ii',
godot_js_os_execute: function (p_json) {
const json_args = GodotRuntime.parseString(p_json);