My extension doesn't use iframe and proxy any website though, and all functionalities are bundled into the extension itself except that it requires loading external scripts at times. It's made an extension purely to improve user experience. [emphasis Simeon's] -
From Chrome's point of view that's a HUGE "except". It opens the door for arbitrary code injection, conditional serving of packages, detection evasion, etc.
Given my understanding of what you’re doing here, I think Google might just say that there’s no fundamental reason that this needs to be an extension, and that you should just build it as a webpage instead. - Cuyler
When I first saw this thread I was going to ask some questions along this line. If the purpose of this extension is to expose a browser based Python environment, why not implement this as a progressive web app?
Leo, have you considered exposing a standalone, offline enabled PWA and using an extension to more tightly integrate that experience in the browser? In this scenario, you would want to isolate the contact points between the extension and site to a minimal, well defined set of features in order to make it easy for reviewers to validate that your extension is not malicious.
Thinking a bit more creatively, I believe you can load a sandboxed page inside a normal extension page. Using this, it should be possible to use
postMessage to pass messages between the untrusted sandbox page and the trusted extension page, which would allow you to persist data in the extension's trusted context. I haven't written a working demo, so YMMV.
Simeon - @dotproto
Chrome Extensions DevRel