UtilsChild.mjs (1001B)
1 /** 2 * Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/publicdomain/zero/1.0/ 4 */ 5 6 function _sendMessage(messageBody) { 7 const messageHeader = { 8 moduleName: "UtilsParent", 9 objectName: "UtilsParent", 10 }; 11 12 const message = { ...messageHeader, ...messageBody }; 13 14 postMessage(message); 15 } 16 17 function _recvMessage() { 18 return new Promise(function (resolve) { 19 addEventListener("message", async function onMessage(event) { 20 removeEventListener("message", onMessage); 21 const data = event.data; 22 resolve(data); 23 }); 24 }); 25 } 26 27 export const UtilsChild = { 28 async getCachedOriginUsage() { 29 _sendMessage({ 30 op: "getCachedOriginUsage", 31 }); 32 33 return _recvMessage(); 34 }, 35 36 async shrinkStorageSize(size) { 37 _sendMessage({ 38 op: "shrinkStorageSize", 39 size, 40 }); 41 42 return _recvMessage(); 43 }, 44 45 async restoreStorageSize() { 46 _sendMessage({ 47 op: "restoreStorageSize", 48 }); 49 50 return _recvMessage(); 51 }, 52 };