From 73f8bc754e200c041e17e613a61dfc35db414b66 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Wed, 27 Feb 2019 22:06:37 -0800 Subject: base64 hack to handle binary files. add memory fences because why not. --- extension/background.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'extension') diff --git a/extension/background.js b/extension/background.js index e75618d..6653edd 100644 --- a/extension/background.js +++ b/extension/background.js @@ -126,13 +126,18 @@ const router = { for (let resource of frameTree.resources) { const resourceSuffix = sanitize(String(resource.url).slice(0, 200)); if (resourceSuffix === suffix) { - const {content} = await sendDebuggerCommand(tabId, "Page.getResourceContent", { + let {base64Encoded, content} = await sendDebuggerCommand(tabId, "Page.getResourceContent", { frameId: frameTree.frame.id, url: resource.url }); + if (base64Encoded) { + const buf = btoa(atob(content).substr(offset, size)); + return { buf, base64Encoded: true }; + } return content.substr(offset, size); } } + throw new UnixError(unix.ENOENT); } } } @@ -226,11 +231,13 @@ async function onmessage(event) { }; } else if (req.op === 'read') { - const buf = await read(req.path, req.fh, req.size, req.offset) + const ret = await read(req.path, req.fh, req.size, req.offset) + const buf = typeof ret === 'string' ? ret : ret.buf; response = { op: 'read', buf }; + if (ret.base64Encoded) response.base64Encoded = ret.base64Encoded; } else if (req.op === 'release') { await release(req.path, req.fh); @@ -263,7 +270,6 @@ async function onmessage(event) { } /* console.timeEnd(req.op + ':' + req.path);*/ - response.id = req.id; console.log('resp', response); ws.send(JSON.stringify(response)); }; -- cgit v1.2.3