UNPKG

bbpro

Version:

BrowserBox - remote browser isolation tool

123 lines (113 loc) 4.26 kB
var $parcel$global = globalThis; var $parcel$modules = {}; var $parcel$inits = {}; var parcelRequire = $parcel$global["parcelRequirec372"]; if (parcelRequire == null) { parcelRequire = function(id) { if (id in $parcel$modules) { return $parcel$modules[id].exports; } if (id in $parcel$inits) { var init = $parcel$inits[id]; delete $parcel$inits[id]; var module = {id: id, exports: {}}; $parcel$modules[id] = module; init.call(module.exports, module, module.exports); return module.exports; } var err = new Error("Cannot find module '" + id + "'"); err.code = 'MODULE_NOT_FOUND'; throw err; }; parcelRequire.register = function register(id, init) { $parcel$inits[id] = init; }; $parcel$global["parcelRequirec372"] = parcelRequire; } var parcelRegister = parcelRequire.register; var $iT6R0 = parcelRequire("iT6R0"); { // const const timers = []; let running = false; let repeat = true; //window.addEventListener('load', resizeAndReport, {once:true}); window.addEventListener("message", ({ data: data, origin: origin })=>{ const target = new URL(location); target.port = parseInt(location.port) - 1; if (target.origin !== origin) (0, $iT6R0.DEBUG).val >= (0, $iT6R0.DEBUG).med && console.log(`Bad origin`); const { ack: ack } = data; if (ack && ack.viewport) { (0, $iT6R0.DEBUG).val >= (0, $iT6R0.DEBUG).med && console.log(`Viewport received. Switching off send repeat`); repeat = false; } }); if ((0, $iT6R0.deviceIsMobile)()) window.addEventListener("orientationchange", (e)=>{ //window._voodoo_asyncSizeTab(); try { if (document.fullscreenElement) resizeAndReport(); else { timers.forEach(clearTimeout); timers.push(setTimeout(()=>{ (0, $iT6R0.DEBUG).val >= (0, $iT6R0.DEBUG).med && console.info("Device re-oriented! Updating remote viewport."); resizeAndReport(); }, 50)); } } catch (e) { console.warn("Error on orientation change", e); } }); else window.addEventListener("resize", (e)=>{ try { //window._voodoo_asyncSizeTab(); if (document.fullscreenElement) resizeAndReport(); else { timers.forEach(clearTimeout); timers.push(setTimeout(()=>{ (0, $iT6R0.DEBUG).val >= (0, $iT6R0.DEBUG).med && console.info(`Window resized! Updating remote viewport.`); resizeAndReport(); }, 50)); } } catch (e) { console.warn("Error on resize", e); } }); resizeAndReport(); async function resizeAndReport() { if (running) return; await (0, $iT6R0.sleep)(500); running = true; repeat = true; while(true){ let viewport; try { viewport = await window._voodoo_asyncSizeTab({ forceFrame: true }); if (!viewport) throw new Error(`viewport did not load yet`); else (0, $iT6R0.DEBUG).val && console.log({ resize_helper: "sized viewport", viewport: viewport }); } catch (e) { (0, $iT6R0.DEBUG).val >= (0, $iT6R0.DEBUG).med && console.warn("Error on report loop", e); await (0, $iT6R0.sleep)(500); continue; } viewport.isMobile = (0, $iT6R0.deviceIsMobile)(); viewport.hasTouch = viewport.isMobile; // need to repeat until ack while(repeat && frames.pptr_console){ await (0, $iT6R0.sleep)(350); frames.pptr_console && frames.pptr_console.postMessage({ viewport: viewport }, "*"); } break; } (0, $iT6R0.DEBUG).val >= (0, $iT6R0.DEBUG).med && console.log(`Done`); running = false; } self._voodoo_resizeAndReport = resizeAndReport; } //# sourceMappingURL=image.952fbc09.js.map