make screenshot.png use fromStringMaker

This commit is contained in:
Omar Rizwan 2020-12-11 22:32:46 -08:00
parent 583611af58
commit edb59121cc

View file

@ -169,20 +169,13 @@ router["/tabs/by-id"] = {
router["/tabs/by-id/*/title"] = withTab(tab => tab.title + "\n"); router["/tabs/by-id/*/title"] = withTab(tab => tab.title + "\n");
router["/tabs/by-id/*/text"] = fromScript(`document.body.innerText`); router["/tabs/by-id/*/text"] = fromScript(`document.body.innerText`);
})(); })();
router["/tabs/by-id/*/screenshot.png"] = { router["/tabs/by-id/*/screenshot.png"] = fromStringMaker(async path => {
async open({path}) { const tabId = parseInt(pathComponent(path, -2));
const tabId = parseInt(pathComponent(path, -2)); await TabManager.debugTab(tabId); await TabManager.enableDomainForTab(tabId, "Page");
await TabManager.debugTab(tabId); await TabManager.enableDomainForTab(tabId, "Page");
const {data} = await sendDebuggerCommand(tabId, "Page.captureScreenshot"); const {data} = await sendDebuggerCommand(tabId, "Page.captureScreenshot");
return { fh: Cache.storeObject(Uint8Array.from(atob(data), c => c.charCodeAt(0))) }; return Uint8Array.from(atob(data), c => c.charCodeAt(0));
}, });
async read({path, fh, size, offset}) {
const slice = Cache.getObjectForHandle(fh).slice(offset, offset + size);
return { buf: String.fromCharCode(...slice) };
},
async release({fh}) { Cache.removeObjectForHandle(fh); return {}; }
};
router["/tabs/by-id/*/resources"] = { router["/tabs/by-id/*/resources"] = {
async readdir({path}) { async readdir({path}) {
const tabId = parseInt(pathComponent(path, -2)); const tabId = parseInt(pathComponent(path, -2));