wip: native file handles when dropping 🎉
This commit is contained in:
11 files changed
+134
-76
No files matched your search
@@ -1 +1 @@
|
||||
12023679989252671232
|
||||
2617078454438840343
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user