diff options
author | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2020-11-19 16:54:07 +0100 |
---|---|---|
committer | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2020-11-21 14:22:40 +0100 |
commit | a82f70ea9f98ed0a602a20f7fe8954f6e4200b25 (patch) | |
tree | 75ef59bc0eb696fde867007a4336381b4436a67a /modules/websocket | |
parent | 48049b8d9e3830ddea5c6844997d928871c16d27 (diff) |
[HTML5] Libraries refactor for linting.
Initial work to make liniting easier.
This includes:
- Rename http_request.js to library_godot_http_request.js.
- Rename externs.js to engine.externs.js.
- New library_godot_runtime.js (GodotRuntime) wraps around emscripten
functions.
- Refactor of XMLHttpRequest handler in engine/preloader.js.
- Few fixes to bugs spotted by early stage linting.
Diffstat (limited to 'modules/websocket')
-rw-r--r-- | modules/websocket/library_godot_websocket.js | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/modules/websocket/library_godot_websocket.js b/modules/websocket/library_godot_websocket.js index 7076a6f43d..0856cb13e6 100644 --- a/modules/websocket/library_godot_websocket.js +++ b/modules/websocket/library_godot_websocket.js @@ -28,9 +28,9 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -var GodotWebSocket = { +const GodotWebSocket = { // Our socket implementation that forwards events to C++. - $GodotWebSocket__deps: ['$IDHandler'], + $GodotWebSocket__deps: ['$IDHandler', '$GodotRuntime'], $GodotWebSocket: { // Connection opened, report selected protocol _onopen: function(p_id, callback, event) { @@ -38,9 +38,9 @@ var GodotWebSocket = { if (!ref) { return; // Godot object is gone. } - let c_str = GodotOS.allocString(ref.protocol); + let c_str = GodotRuntime.allocString(ref.protocol); callback(c_str); - _free(c_str); + GodotRuntime.free(c_str); }, // Message received, report content and type (UTF8 vs binary) @@ -54,21 +54,21 @@ var GodotWebSocket = { if (event.data instanceof ArrayBuffer) { buffer = new Uint8Array(event.data); } else if (event.data instanceof Blob) { - alert("Blob type not supported"); + GodotRuntime.error("Blob type not supported"); return; } else if (typeof event.data === "string") { is_string = 1; var enc = new TextEncoder("utf-8"); buffer = new Uint8Array(enc.encode(event.data)); } else { - alert("Unknown message type"); + GodotRuntime.error("Unknown message type"); return; } var len = buffer.length*buffer.BYTES_PER_ELEMENT; - var out = _malloc(len); + var out = GodotRuntime.malloc(len); HEAPU8.set(buffer, out); callback(out, len, is_string); - _free(out); + GodotRuntime.free(out); }, // An error happened, 'onclose' will be called after this. @@ -86,15 +86,15 @@ var GodotWebSocket = { if (!ref) { return; // Godot object is gone. } - let c_str = GodotOS.allocString(event.reason); + let c_str = GodotRuntime.allocString(event.reason); callback(event.code, c_str, event.wasClean ? 1 : 0); - _free(c_str); + GodotRuntime.free(c_str); }, // Send a message send: function(p_id, p_data) { const ref = IDHandler.get(p_id); - if (!ref || ref.readyState != ref.OPEN) { + if (!ref || ref.readyState !== ref.OPEN) { return 1; // Godot object is gone or socket is not in a ready state. } ref.send(p_data); @@ -115,7 +115,7 @@ var GodotWebSocket = { const ref = IDHandler.get(p_id); if (ref && ref.readyState < ref.CLOSING) { const code = p_code; - const reason = UTF8ToString(p_reason); + const reason = GodotRuntime.parseString(p_reason); ref.close(code, reason); } }, @@ -136,12 +136,12 @@ var GodotWebSocket = { }, godot_js_websocket_create: function(p_ref, p_url, p_proto, p_on_open, p_on_message, p_on_error, p_on_close) { - const on_open = GodotOS.get_func(p_on_open).bind(null, p_ref); - const on_message = GodotOS.get_func(p_on_message).bind(null, p_ref); - const on_error = GodotOS.get_func(p_on_error).bind(null, p_ref); - const on_close = GodotOS.get_func(p_on_close).bind(null, p_ref); - const url = UTF8ToString(p_url); - const protos = UTF8ToString(p_proto); + const on_open = GodotRuntime.get_func(p_on_open).bind(null, p_ref); + const on_message = GodotRuntime.get_func(p_on_message).bind(null, p_ref); + const on_error = GodotRuntime.get_func(p_on_error).bind(null, p_ref); + const on_close = GodotRuntime.get_func(p_on_close).bind(null, p_ref); + const url = GodotRuntime.parseString(p_url); + const protos = GodotRuntime.parseString(p_proto); var socket = null; try { if (protos) { @@ -160,7 +160,7 @@ var GodotWebSocket = { var bytes_array = new Uint8Array(p_buf_len); var i = 0; for(i = 0; i < p_buf_len; i++) { - bytes_array[i] = getValue(p_buf + i, 'i8'); + bytes_array[i] = GodotRuntime.getHeapValue(p_buf + i, 'i8'); } var out = bytes_array.buffer; if (!p_raw) { @@ -171,7 +171,7 @@ var GodotWebSocket = { godot_js_websocket_close: function(p_id, p_code, p_reason) { const code = p_code; - const reason = UTF8ToString(p_reason); + const reason = GodotRuntime.parseString(p_reason); GodotWebSocket.close(p_id, code, reason); }, |