summaryrefslogtreecommitdiff
path: root/modules/websocket/library_godot_websocket.js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/websocket/library_godot_websocket.js')
-rw-r--r--modules/websocket/library_godot_websocket.js40
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);
},