wip: native file handles when dropping 🎉

This commit is contained in:
Jonathan Kelley committed 2024-03-05 13:57:28 -08:00
1 parent 403e8e2f49
commit 78d16536a7
11 files changed
+134 -76

No files matched your search

+1 -1
View File
@@ -1 +1 @@
12023679989252671232
2617078454438840343
+18 -17
View File
@@ -248,6 +248,8 @@ class NativeInterpreter extends JSChannel_ {
initialize(root) {
this.intercept_link_redirects = true;
this.liveview = false;
const dragEventHandler = (e) => {
};
window.addEventListener("dragover", function(e) {
if (e.target instanceof Element && e.target.tagName != "INPUT") {
e.preventDefault();
@@ -349,25 +351,8 @@ class NativeInterpreter extends JSChannel_ {
} else {
const message = this.serializeIpcMessage("user_event", body);
this.ipc.postMessage(message);
console.log("sent message to host: ", message);
}
}
async readFiles(target, contents, bubbles, realId, name) {
let files = target.files;
let file_contents = {};
for (let i = 0;i < files.length; i++) {
const file = files[i];
file_contents[file.name] = Array.from(new Uint8Array(await file.arrayBuffer()));
}
contents.files = { files: file_contents };
const message = this.serializeIpcMessage("user_event", {
name,
element: realId,
data: contents,
bubbles
});
this.ipc.postMessage(message);
}
preventDefaults(event, target) {
let preventDefaultRequests = null;
if (target instanceof Element) {
@@ -415,6 +400,22 @@ class NativeInterpreter extends JSChannel_ {
this.waitForRequest(headless);
});
}
async readFiles(target, contents, bubbles, realId, name) {
let files = target.files;
let file_contents = {};
for (let i = 0;i < files.length; i++) {
const file = files[i];
file_contents[file.name] = Array.from(new Uint8Array(await file.arrayBuffer()));
}
contents.files = { files: file_contents };
const message = this.serializeIpcMessage("user_event", {
name,
element: realId,
data: contents,
bubbles
});
this.ipc.postMessage(message);
}
}
export {
NativeInterpreter