I am developing a WebExtension right now, more specifically a hybrid add-on (SDK based + WebExtension). But I have a few questions.
In SDK based add-ons I was able to create new about:pages. For example the settings of my add-on New Tab Override are accessible via about:newtaboverride. Is something similar possible with WebExtensions? Because “moz-extension://ecd773ac-2a57-ce4a-bf3e-eb3c90ac16c8/html/options.html” is a really annonying URL.
Why I can’t override the new tab page with all about:-pages? Let’s say I have the following code:
Since your add-on is working perfectly fine as it is, I guess you are trying to port to a WebExtension due to the pending deprecation of all other types of add-ons.
But unfortunately, they aren’t up to the task yet, you’ll probably file some bugsto get more stuff implemented:
Nope. The moz-extension:// urls are not just long and ugly, they are also (install time) random, which will make hard linking from external documentation a big problem.
I have actually tried to create an about:-page from a hybrid extension which points to an embedded moz-extension:// url, but that ether crashes the entire browser or the page will not be executed in the correct environment (no browseror chromeglobal).
Nope. I hoped that browser.windows.create({ }) would give you the same as hitting Ctrl+N(a new window with a single tab with the current homepage) but it only yield a tab with the newtab page.
So unfortunately I am pretty sure that the answer to all your questions is: Does not work (yet) -.-
Since your add-on is working perfectly fine as it is, I guess you are trying to port to a WebExtension due to the pending deprecation of all other types of add-ons.
Yes, that’s my plan.
There is still some time to port my extension, but I can’t wait till November '17 because that’s too late to get the missing APIs implemented. So I wanted to try a first WebExtension version so that I can see what’s possible and what’s not. And I like the concept of hyprid extensions to do the migration step by step.
So unfortunately I am pretty sure that the answer to all your questions is: Does not work (yet) -.-