diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-02-07 13:21:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-07 13:21:53 +0100 |
commit | 6a33d8b93fc7175865a9c064c6ba4bf400c9650d (patch) | |
tree | 53f7fc778fdc8080a9b7b59fc6f47c07f6a585c5 /platform/javascript/os_javascript.cpp | |
parent | 88aea70a098d91f1887e7c4e3218ce23c42e3b4f (diff) | |
parent | 948e66c3d6930924b54ec48a0dfc929040befb0a (diff) | |
download | redot-engine-6a33d8b93fc7175865a9c064c6ba4bf400c9650d.tar.gz |
Merge pull request #57718 from Faless/js/4.x_pwa_prefer_cache_pr
Diffstat (limited to 'platform/javascript/os_javascript.cpp')
-rw-r--r-- | platform/javascript/os_javascript.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp index 39eea13ca1..de5ca44f9d 100644 --- a/platform/javascript/os_javascript.cpp +++ b/platform/javascript/os_javascript.cpp @@ -45,6 +45,7 @@ #include <emscripten.h> #include <stdlib.h> +#include "api/javascript_singleton.h" #include "godot_js.h" void OS_JavaScript::alert(const String &p_alert, const String &p_title) { @@ -203,6 +204,19 @@ void OS_JavaScript::file_access_close_callback(const String &p_file, int p_flags } } +void OS_JavaScript::update_pwa_state_callback() { + if (OS_JavaScript::get_singleton()) { + OS_JavaScript::get_singleton()->pwa_is_waiting = true; + } + if (JavaScript::get_singleton()) { + JavaScript::get_singleton()->emit_signal("pwa_update_available"); + } +} + +Error OS_JavaScript::pwa_update() { + return godot_js_pwa_update() ? FAILED : OK; +} + bool OS_JavaScript::is_userfs_persistent() const { return idb_available; } @@ -226,6 +240,8 @@ OS_JavaScript::OS_JavaScript() { godot_js_config_locale_get(locale_ptr, 16); setenv("LANG", locale_ptr, true); + godot_js_pwa_cb(&OS_JavaScript::update_pwa_state_callback); + if (AudioDriverJavaScript::is_available()) { #ifdef NO_THREADS audio_drivers.push_back(memnew(AudioDriverScriptProcessor)); |