SubWebView

Dedicated board for extension releases/support threads

Moderators: FranklinDM, Lootyhoof

Forum rules
Please do not create new topics here unless you are an extension author in need of a dedicated releases&support thread!
User avatar
teknixstuff
Hobby Astronomer
Hobby Astronomer
Posts: 17
Joined: 2025-01-28, 21:13

SubWebView

Post by teknixstuff » 2025-02-04, 20:33

This topic is to announce and support SubWebView, an extension for Pale Moon that allows running either the Chromium or Internet Explorer engine inside of it.
Source code: https://github.com/teknixstuff/subwebview
Downloads: https://github.com/teknixstuff/subwebview/releases/ (addons.palemoon.org not yet reviewed)

User avatar
jobbautista9
Board Warrior
Board Warrior
Posts: 1119
Joined: 2020-11-03, 06:47
Location: Philippines

Re: SubWebView

Post by jobbautista9 » 2025-10-16, 10:12

This has somehow gone under my radar, and coincidentally I've been wondering in the shower a while ago whether it's possible to have an NPAPI plugin that loads a different browser engine...

Works great for my Discord btw! I can paste images and even join a voice chat and listen to other people speaking as well as watch someone's stream... Mic and screen sharing don't work but I don't care much about them, as long as I can join watchparties with this I'm fine with it! :thumbup: I suppose the only thing I can complain about is the lack of picture-in-picture mode (which I use to make the discord stream I'm watching larger than my viewport).

Anyway has this not been reviewed for the Add-ons site yet? It would be impractical to store the whole xpi in the APMO server, but an External listing should still be possible.
Image

Tired of creating stuff!

Avatar artwork by Shinki669: https://www.pixiv.net/artworks/113645617

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

User avatar
sidology
Fanatic
Fanatic
Posts: 117
Joined: 2021-12-04, 22:07

Re: SubWebView

Post by sidology » 2025-10-16, 10:58

Something like this (but better) should be an official Pale Moon team addon, because whatever new standard they add, javascript engine will still be too slow on heavyweight sites (almost all popular sites).
jobbautista9 wrote:
2025-10-16, 10:12
Anyway has this not been reviewed for the Add-ons site yet?
https://addons.palemoon.org/addon/subwebview/

User avatar
jobbautista9
Board Warrior
Board Warrior
Posts: 1119
Joined: 2020-11-03, 06:47
Location: Philippines

Re: SubWebView

Post by jobbautista9 » 2025-10-16, 11:30

sidology wrote:
2025-10-16, 10:58
Something like this (but better) should be an official Pale Moon team addon, because whatever new standard they add, javascript engine will still be too slow on heavyweight sites (almost all popular sites).
I think something like this as a substitute for rendering whole webpages being an officially sanctioned add-on would be a bad look for the browser. It's pretty much admitting that there's no point in updating the Goanna engine as well as our own SpiderMonkey. I'd like something that only renders user-specified iframes in Chromium instead. One of the common causes of websites being slow is due to the amount of youtube and twitter iframes embedded within a page, and both of them notoriously perform badly for us if many of them are loaded at once. If instead they're offloaded to an NPAPI plugin and the rest of the webpage is rendered by Pale Moon then it would lend credence to the rhetoric of Chromium not being a web browser but its own runtime environment, like Flash and Silverlight were.
Ah good to see it approved then. "SubWebView" doesn't return any results in the search though, I think the author should add some indexing keywords. Also it's one version short from the latest one in GitHub (1.0.4 vs 1.0.5).
Image

Tired of creating stuff!

Avatar artwork by Shinki669: https://www.pixiv.net/artworks/113645617

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

User avatar
teknixstuff
Hobby Astronomer
Hobby Astronomer
Posts: 17
Joined: 2025-01-28, 21:13

Re: SubWebView

Post by teknixstuff » 2025-11-21, 16:19

Oops. I forgot about my Pale Moon extensions, since I moved to using r3dfox as my main browser a few months ago. However, I've moved back to Pale Moon yesterday, and you can expect to see some of my extensions getting new updates when I have time.

User avatar
sidology
Fanatic
Fanatic
Posts: 117
Joined: 2021-12-04, 22:07

Re: SubWebView

Post by sidology » 2025-11-22, 12:52

teknixstuff wrote:
2025-11-21, 16:19
you can expect to see some of my extensions getting new updates when I have time.
Slim version (SubWebViewSlim) with option to use local WebView2 would be great. Thank you.

User avatar
jobbautista9
Board Warrior
Board Warrior
Posts: 1119
Joined: 2020-11-03, 06:47
Location: Philippines

Re: SubWebView

Post by jobbautista9 » 2025-11-22, 14:17

+1 to that idea. :thumbup: The Internet Explorer option seems to already use the local, hidden IE11 of my Windows 11 so using the local Edge (with the benefit of my installed uBO there!) might be a more sustainable option than constantly upgrading the bundled CEF. The only problem I suppose is how it would work with the plugin-container.exe process (since I don't think it's possible to use --single-process in WebView2 and each NPAPI plugin can only spawn one plugin container process for itself), maybe you could look at SumatraPDF's NPAPI plugin where the plugin-container acts solely as a messenger between Pale Moon and the real process(es, in the case of Edge).
Image

Tired of creating stuff!

Avatar artwork by Shinki669: https://www.pixiv.net/artworks/113645617

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

User avatar
teknixstuff
Hobby Astronomer
Hobby Astronomer
Posts: 17
Joined: 2025-01-28, 21:13

Re: SubWebView

Post by teknixstuff » 2025-11-22, 21:06

jobbautista9 wrote:
2025-11-22, 14:17
+1 to that idea. :thumbup: The Internet Explorer option seems to already use the local, hidden IE11 of my Windows 11 so using the local Edge (with the benefit of my installed uBO there!) might be a more sustainable option than constantly upgrading the bundled CEF. The only problem I suppose is how it would work with the plugin-container.exe process (since I don't think it's possible to use --single-process in WebView2 and each NPAPI plugin can only spawn one plugin container process for itself), maybe you could look at SumatraPDF's NPAPI plugin where the plugin-container acts solely as a messenger between Pale Moon and the real process(es, in the case of Edge).
SubWebView in fact is based on SumatraPDF's plugin (as it was the only sensible open-source example of an NPAPI plugin I could find), and it's perfectly capable of running CEF in multiprocess mode. However, this requires bundling an additional executable with it (to be used for bootstrapping other processes before they too can load the plugin DLL), and also seems somewhat redundant when you're already getting an additional plugin instance for each tab or site using it, hence why I decided to go with single-process instead. I am very interested in pursuing extension support, and in fact at one point was going to allow it to automatically load WebExtensions installed via my (never finished/released) WebExtension loader for PM (thus allowing WebExtensions to be shared between PM and SubWebView). I don't plan to use WebView2, as I generally do not like Edge, plus, as I now use a mix of W7, W8.1, and W10, often it would be unavailable. When I have time, I plan to look into adapting Supermium (which used to be my main browser at one point) to work with CEF, thus allowing SubWebView to run on all operating systems that Pale Moon can, while still keeping an updated engine version.

Lucio Chiappetti
Keeps coming back
Keeps coming back
Posts: 875
Joined: 2014-09-01, 15:11
Location: Milan Italy

Re: SubWebView

Post by Lucio Chiappetti » 2025-11-22, 22:37

Curiosities:
1) will this extension work on Linux ?
2) will it work with any other browser ?
3) what will be the advantage of using this extension w.r.t. running the other browser directly ? I specify better my question:
There are things which cannot be done in Pale Moon (e.g. webRTC for google meet or zoom meetings). In this case I have no problem in using chrome.
There are "bad" sites which do not work in Pale Moon. While for occasional sites my approach is "cannot be viewed in Pale Moon, are not worth viewing", there are some commercial sites (train tickets and a few other) which may fail. Unfortunately sometimes they require a login, and I feel ill at ease giving usernames in chrome. Will the use of SubWebView give the "privacy protection" of Pale Moon or will be the same as running the other browser ?
The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. (G.B. Shaw)

User avatar
jobbautista9
Board Warrior
Board Warrior
Posts: 1119
Joined: 2020-11-03, 06:47
Location: Philippines

Re: SubWebView

Post by jobbautista9 » 2025-11-23, 06:30

teknixstuff wrote:
2025-11-22, 21:06
SubWebView in fact is based on SumatraPDF's plugin (as it was the only sensible open-source example of an NPAPI plugin I could find)
Ah I didn't know. There is another plugin that is FOSS which is GNU Gnash's own NPAPI plugin, though I'm not sure how good it is as an example for writing NPAPI plugins. There's also FireBreath which is a framework for browser plugins (both NPAPI and ActiveX) but their website is no longer working...
teknixstuff wrote:
2025-11-22, 21:06
and it's perfectly capable of running CEF in multiprocess mode. However, this requires bundling an additional executable with it (to be used for bootstrapping other processes before they too can load the plugin DLL), and also seems somewhat redundant when you're already getting an additional plugin instance for each tab or site using it, hence why I decided to go with single-process instead.
Interesting that it's an intentional design choice, however I don't think you get additional plugin instances for each tab or site using SubWebView. Looking at my task manager there is only one plugin-container.exe process active. You only get more plugin containers for each different plugin active (so one plugin container process for every tab using Flash, one container process for every tab using SubWebView's IE, one process for every tab using SubWebView's Chromium, etc).

I personally would prefer keeping it as a single-process even if it's not officially supported by Chromium, but I don't mind it defaulting to the intended multi-process model. What would be nicer however is being able to pass startup/commandline flags to the bundled Chromium (which doesn't seem possible AFAICS because the browser is a dll). That way both single-process and multi-process could be configurable options.
teknixstuff wrote:
2025-11-22, 21:06
I am very interested in pursuing extension support, and in fact at one point was going to allow it to automatically load WebExtensions installed via my (never finished/released) WebExtension loader for PM (thus allowing WebExtensions to be shared between PM and SubWebView).
Sounds like a plan! That would be appreciated by plenty of Basilisk users who were disappointed with the removal of WE support way back then if that comes to fruition. :thumbup:
teknixstuff wrote:
2025-11-22, 21:06
I don't plan to use WebView2, as I generally do not like Edge, plus, as I now use a mix of W7, W8.1, and W10, often it would be unavailable. When I have time, I plan to look into adapting Supermium (which used to be my main browser at one point) to work with CEF, thus allowing SubWebView to run on all operating systems that Pale Moon can, while still keeping an updated engine version.
Ah I didn't consider Windows 7, yeah my bad. Interestingly WebView2 did support W7 at one point but obviously it's no longer the case now. Still wish it would be possible to reduce the size of the XPI though... :coffee:
Image

Tired of creating stuff!

Avatar artwork by Shinki669: https://www.pixiv.net/artworks/113645617

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

User avatar
jobbautista9
Board Warrior
Board Warrior
Posts: 1119
Joined: 2020-11-03, 06:47
Location: Philippines

Re: SubWebView

Post by jobbautista9 » 2025-11-23, 06:41

Lucio Chiappetti wrote:
2025-11-22, 22:37
1) will this extension work on Linux ?
Nope, not yet. The extension's install.rdf explicitly marked it as being binary-compatible only with 64-bit Windows, so Linux Pale Moon will not let you install it.
Lucio Chiappetti wrote:
2025-11-22, 22:37
3) what will be the advantage of using this extension w.r.t. running the other browser directly ? I specify better my question:
There are things which cannot be done in Pale Moon (e.g. webRTC for google meet or zoom meetings). In this case I have no problem in using chrome.
There are "bad" sites which do not work in Pale Moon. While for occasional sites my approach is "cannot be viewed in Pale Moon, are not worth viewing", there are some commercial sites (train tickets and a few other) which may fail. Unfortunately sometimes they require a login, and I feel ill at ease giving usernames in chrome. Will the use of SubWebView give the "privacy protection" of Pale Moon or will be the same as running the other browser ?
One advantage is that you get to keep it within Pale Moon's chrome. While your browser's extensions will not be able to touch the content inside of the NPAPI plugin, they can still touch the tab containing the plugin instance. So for example you can still use ReloadRepeat to make that tab automatically reload itself. Or with Windosize you still can quickly resize the viewport exactly to a specific resolution the same as your other native tabs.

I do suggest using a real Chromium for the WebRTC (it doesn't detect my mic and camera, and in Discord I often can't watch other peoples' shared screens) and DRM (can't watch Netflix, which is strange because the XPI does have Widevine bundled too) though, which don't work properly in SubWebView. And no you don't get the "privacy protection of Pale Moon". The bundled browser may have its own cookie and cache stores, but you can't block third-party cookies or ads. So only use SWV for a few specific sites you trust I guess.
Image

Tired of creating stuff!

Avatar artwork by Shinki669: https://www.pixiv.net/artworks/113645617

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

User avatar
teknixstuff
Hobby Astronomer
Hobby Astronomer
Posts: 17
Joined: 2025-01-28, 21:13

Re: SubWebView

Post by teknixstuff » 2025-11-25, 18:35

jobbautista9 wrote:
2025-11-23, 06:41
I do suggest using a real Chromium for the WebRTC (it doesn't detect my mic and camera, and in Discord I often can't watch other peoples' shared screens) and DRM (can't watch Netflix, which is strange because the XPI does have Widevine bundled too) though, which don't work properly in SubWebView.
It should support WebRTC (and possibly DRM?), but as it uses the published CEF builds from Spotify (to save me having to compile Chromium entirely), it doesn't have the H.264 codec. Since I'm going to have to compile it anyway to get it to work with Supermium, I'll enable H.264 support at the same time (since it's just a build flag).

User avatar
Stargate38
Moon lover
Moon lover
Posts: 89
Joined: 2018-05-27, 22:55
Location: Earth

Re: SubWebView

Post by Stargate38 » 2026-01-14, 16:42

Says it's not compatible with 33.9.1, yet the install.rdf says it's compatible with 33.*, which should include 33.9.1. How do I get it to install? My PM is 32-bit.

User avatar
jobbautista9
Board Warrior
Board Warrior
Posts: 1119
Joined: 2020-11-03, 06:47
Location: Philippines

Re: SubWebView

Post by jobbautista9 » 2026-01-15, 00:51

The NPAPI plugin is only built for 64-bit Windows (x86-64).
Image

Tired of creating stuff!

Avatar artwork by Shinki669: https://www.pixiv.net/artworks/113645617

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.