Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

WebExtensions API functionality for BarTab-related addon

37 views
Skip to first unread message

The Wanderer

unread,
Sep 16, 2016, 8:35:43 PM9/16/16
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

(I apologize for the relatively lengthy and dense nature of the below.
This is an inherently stressful subject for me, and apparently one of
the ways I cope with that stress is to write at what might otherwise be
unnecessary length.)


I maintain a thus-far-private addon - which I've always intended to make
public when I felt it was ready, but have never gotten to that state -
which appears, based (thus far) on code analysis rather than direct
testing, to very much not be e10s-compatible.

As long as I will need to update it for e10s anyway, I figure I might as
well buckle down and go all the way to getting it ready for
WebExtensions, since that transition will be coming up relatively soon
anyway.

In researching what it takes to migrate to WebExtensions, I ran across a
page somewhere (I believe it was a blog post) requesting - in extensive
paraphrase - that anyone who needs an API surface from Firefox in order
to implement their addon without needing to meddle in Firefox internals
get in touch, and assuring developers that Mozilla wants to work with
them to make sure that existing legitimate addons can continue working
under the WebExtensions paradigm.

That post did point to somewhere in particular as the place where
developers should go to request what they need, and I have some memory
that it may have been here, but I have not been able to find that blog
post - or any other indication of where to go to request WebExtensions
APIs - since starting to look at this project in earnest. If this is not
the correct place to make such requests and discuss such matters - which
the apparently complete lack of existing traffic here discussing such
things would seem to indicate is the case - please let me know where
_is_, and I will do what I reasonably can to move the discussion there.


The addon in question is a fork of the BarTab Lite addon; that in turn
is a UI over something vaguely similar to the functionality of the old
BarTab addon, except using the "restore tabs on demand" functionality
which has been provided since (IIRC) Firefox 4.x rather than
implementing tab unloading and on-demand restoring entirely on its own.

The original BarTab Lite provided only a relatively small subset of the
functionality of the original BarTab; the point of the fork is to
restore as much of the remaining functionality, and the UI for such, as
possible.

Unfortunately, much of the way this is done relies on accessing internal
Firefox interfaces, which will be going away with the WebExtensions
transition. This includes pieces which I've inherited from BarTab Lite;
although I understand them well enough to maintain them and code around
them, I don't really understand them well enough to have designed or
written them in the first place, and as such I'm not sure exactly how
best to redesign those pieces to avoid needing to access internal
interfaces - or, more to the point, what types of public interfaces
would be needed in order to enable those pieces to do what they need to
do.

I'm entirely willing to provide the current code of the addon publicly
for examination, if that would be helpful and appropriate, although for
slightly complicated historical reasons I can't easily just put it up on
e.g. GitHub.

In the meantime, attached is a brief listing of the functions and other
objects which the addon's code access or references and which appear, in
my analysis thus far, to be Firefox internal interfaces. These functions
are grouped by source file; one of these files is pullstarter.js, which
I imported wholesale as a utility function set, and to which I have zero
attachment except to the extent that it's useful for implementing the
addon's actual functionality.

Please let me know what I ought to do next, in order to get this moving
forward.


I can say that this addon inherently relies on the functionality which
is enabled by browser.sessionstore.restore_on_demand, and will need some
means to ensure that that pref (or its equivalent) is enabled when the
addon is enabled. Since WebExtensions addons will reportedly not be
permitted to directly access prefs other than their own, at all, this
means that there will need to be some interface to provide that
capability.

I'm also not sure, based on past analysis, that it will even be possible
to design APIs which will provide what this addon needs without
essentially implementing much of the addon's functionality in the
Firefox core. While I would not be inherently opposed to that (except
insofar as it would limit my ability to modify and update the addon
later on), it's also something which has been explicitly rejected in a
wishlist bug filed some years ago, and runs counter to the general trend
of Firefox development in any case. However, I hold out hope that those
with more familiarity with both Firefox internals and the WebExtensions
project will be better able to identify ways to do this than I am.

- --
The Wanderer

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. -- George Bernard Shaw
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCgAGBQJX3I/TAAoJEASpNY00KDJrWnUP/3tRQRKx6by9epYVILGMoW0T
knOpYfgBlEIowGAk6YptUxmB4jDFp7MmgyGDw8UjKi/sS5UNFcxZHBJNKyzohBpn
V63n2DvwOzu4+xaTBJN/kzMiTNaJPJ1ny+rDIsSeuVAyUEHpY1VgyV2OqjTa2Jk7
yRGJF3ZHrlklg3Y6/97WvScsQQn3WH5309aN28Ah8EJlnb4NT62SEPtq5s/7GVB+
3oje3ulQ88VqioVQHMrwrzNhxKG8isSUtf1OnByLdePPNijj5Kiyw5Nweo/zSTVs
CagxilMHfGeikQD7FAeDZoKI0LqJoX2eeHXoRKbfc+wZ0SsCzGU/dwH3tgxdOcVU
I7iul+Gzv98QC7iF6ACq+vaWtCczlNVCWY2WRYOe+Nm32UvXDcLXslU8DEaIOx2L
ssgVdCgO5qT1T17RqOKXq6GAs/Eglv1HN9zJmyyqdOstbk6exatbpPAOlr0pW7WT
UL5oURPnrzHsUW/oRoGvAC+nXcRzIvhdXSHlH1N+9jokcVxM6OIg/ReRWZJyGXqd
GTfSssbb+G6U7KLdMvOClDkAGrhWCeYb1r9ZtgoNxaJK9DlYP53AaegCH8lgZrOH
MH7/dZ6hnRCsKbMVbbsTV9ISJIwlxehgO2uf3tdRX9s3ylQjyKV4/fcoHKlULzMk
xyCaBgvr2E+/rRwduPUl
=2Lfq
-----END PGP SIGNATURE-----
bartabrestartless-api-needs.txt

The Wanderer

unread,
Sep 18, 2016, 8:05:44 AM9/18/16
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 2016-09-16 at 20:35, The Wanderer wrote:

> In researching what it takes to migrate to WebExtensions, I ran
> across a page somewhere (I believe it was a blog post) requesting
> - in extensive paraphrase - that anyone who needs an API surface
> from Firefox in order to implement their addon without needing to
> meddle in Firefox internals get in touch, and assuring developers
> that Mozilla wants to work with them to make sure that existing
> legitimate addons can continue working under the WebExtensions
> paradigm.
>
> That post did point to somewhere in particular as the place where
> developers should go to request what they need, and I have some
> memory that it may have been here, but I have not been able to
> find that blog post - or any other indication of where to go to
> request WebExtensions APIs - since starting to look at this project
> in earnest. If this is not the correct place to make such requests
> and discuss such matters - which the apparently complete lack of
> existing traffic here discussing such things would seem to indicate
> is the case - please let me know where _is_, and I will do what I
> reasonably can to move the discussion there.

It now looks as if the correct place for discussing this would probably
be the dev-addons mailing list, which despite the similarity of name and
superficial purpose apparently does not map to the
mozilla.dev.extensions newsgroup, and indeed apparently does not have an
equivalent newsgroup interface as far as I can see. (The fragmentation
of the Mozilla discussion space really does get ridiculous at times.)

I apologize for the noise.

- --
The Wanderer

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. -- George Bernard Shaw
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCgAGBQJX3oL3AAoJEASpNY00KDJrk2AQAIdVeWze1y9EeOs0aeqB8m9m
yxrDcKd52MMBD7k8o0Qo6kFiu2sqdHpD66+BbGJ2tXPAobKuPymGpcwg6LcqNPbW
hADUFR3Zzb6ljkjq4jPu98yZXEN6IUatjItGxqDturwGym++Cf02zXccE8pvHWmL
6tK4kFWJ2kZhna9G0MqrdHjVCmuzh38WC9KoKn4ceTW4RDzfq5V2EutYgi/QwQN5
klD0G4WB7KoaJypwSlwcCylPyKXhYF8XJYvkYVa5hCL9HKvxehq+Bx5/vOSjNNXp
qoueZnY8mT0sE96TZ+94AnWdOjVrWdCRUhpRy0E7fFMEqXPQDvM9vqhPgUUJnRRS
31YhiwY4HCnGiua9kfWPf6KLQ+TeIi1INha0icVcYn4vHIKnLGanF1yxrnBEpcMy
gf/CLY/6Tsx1owiY6clILUxDg3lXMJx6MMnBKfGp1Gf9SFMfc5NT6HyLAEWt4ZJQ
PjtJZXRHGSy5l3Pz9d21Oz/JyCDy9lpehl77GBVoG1zjuSwCm+GCm0349x49Yofp
32PMYTxLucdVO98QlNQ0wEikFGCZdHNGlJOcNO0kyJgqxn2Csp4iWX2G+2uUnPaJ
zEVE44Th60t6PLEmyjzcbrptJr0WW4RtXvU/mGAsiJtXBallx6ni8YYF/6qRi3o3
sA7UIhOFYwnHt5M462mF
=6lX+
-----END PGP SIGNATURE-----

Jorge Villalobos

unread,
Sep 19, 2016, 10:34:25 AM9/19/16
to
FWIW, the main communication channels are listed here:
https://developer.mozilla.org/en-US/Add-ons#Contact_us

We do plan to close those forum soon, to reduce confusion.

Jorge

The Wanderer

unread,
Sep 19, 2016, 11:18:18 PM9/19/16
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

I'd found several other pages under that hierarchy, but apparently I
never thought of looking at the "directory" which was the top of the
hierarchy.

> We do plan to close those forum soon, to reduce confusion.

Which forums are you referring to by "those"? I don't see a clear
antecedent for the pronoun...

- --
The Wanderer

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. -- George Bernard Shaw
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCgAGBQJX4KpuAAoJEASpNY00KDJrh4YP/0EYAIL9XDyiCGQn4j7WaQtp
z6s6cl6Ijja6dO8cx25NvZja5yQGA2ybj7oMs1SZBeHfWz6gaj3Y2VYpD4WLxA+d
iVIPg3iomKrqDhF9ULfDQgNtv/ycFdJLUQ5gjDbR/fx4uVEaqLefc14gTBbLZiuu
ARg1nwR5NVnIoVyAmAtKaj8MeZntLDQvGXiISZ6YfP5LXYeYyxG9VZrW/0IaCkG/
zC0KmLCq7tIjUMPvs/rfIFrnp6QNPaqBD5dVz7iP4GVIDrOKYefhwEwteMYDsmb2
mtdnlNI1++QNNDA3THyIGSxjyGdtC2e6qwLz1ZQwePTBFuuLXQ8CKcSlRkEms2Dq
83Q2A6/K54wXsas7a3Cfn6CR2S95oJpVBFz0P7CXUhecbcCrwc9vGO9H1nH0IrkA
poMsAZ1l/r8e6gbSOw8Naa0pJoHHdNjP6GnE2BbdCtZV2o5cFNdvAlPtDaFJd64/
exUnhv4eWef/p6VpKmvv+bpeENONlDQ4BCrD0CokAdJsIH73b7wWOaJ1upXztJil
18IBbEQKFKFwfeJkyjBU/WoW5sF4nu+YQAW6f8B+Kdpr11Sd8cvR/X+wOaA4Ie8j
H544y62+nusK+RPAiS2Ff9xkS4igvNvHuXql9VXTRANXcCDSvPamTndWSaEezLfi
9jonmBPi3rjU+0g/L042
=cvzt
-----END PGP SIGNATURE-----

Jorge Villalobos

unread,
Sep 20, 2016, 10:25:05 AM9/20/16
to
This one and mozilla.addons.user-experience. Both have little activity
and their users would benefit from using forums with more followers.

Jorge

The Wanderer

unread,
Sep 20, 2016, 10:56:05 AM9/20/16
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Will the replacement forums be available through the news.mozilla.org
interface? The convenience of that interface (among possibly other
things: not needing any per-forum subscription, being able to dip in and
out while still seeing - and potentially responding to - past
discussion, and being able both to mark messages as read and to thread
them appropriately as can be done with E-mail) is IMO a great advantage,
and to lose the option of accessing arguably-relevant forums
that way would be a net negative from my perspective.

- --
The Wanderer

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. -- George Bernard Shaw
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCgAGBQJX4U3zAAoJEASpNY00KDJrmxkP/16e77bOpsqwvww3boCqIxQv
bF4WXZ3MZ1+x43nivWykZUT8yPZJtL9tecui4yEZZuv59ygjrc9lS+hnk9rrPCjt
XbJZmR+q8EwGaB5zG1Rxnd37YKv4q4tSZUo7A632ztfz7zgXZVwe8Y8t0Bf3ZHND
Ys5iY3WOndntrc0lG1B9xIbRV0/ISjedUH5mF/XUXSMNeL3EwGGcdhSVyHudEtKC
5pz/HGUNHm/Yccepk2ZNP7OfErul0Iyp/OKYLuSUcGMq9pY4CW089qmhBrXFLXxZ
eMbsn6qTbUkJMnjCNxNzmy3/Oqpf3WCGmr+4tqjDHltmEqX5eGNAfayMZyTzRdpA
2ZWGYJ9WBaJl5z7EJkqbYAOsNmxuVO21ygl19XamkuVGMPyeil9tKj8qDpS6bhu8
qeyi3gMo2Yu9qrreKUvE5i7Zh5ObSrkm3PD15TZnwAt/tFIOzDcXIAXRfyKpFVYn
DUoiFWr2E0kT7I+eVndZ33ITrWzGPRHGDiW5AcC+0ER6WUGYXAnYyfs+mwQYQV+/
Ec3SIrXnZ7MCrlujJQMpsm1ZrL4IQiFVntOId33A9qJ8r0XVpH1RHrspR7Sq3LGP
8Dzcsic02Q16BIjZhBzgatbkG/KYF0ZPWoX3Fo8RegvarSMzHVipfazFd5dHrfPN
GhMTGTnYNOtnwxgDtm6u
=AvaW
-----END PGP SIGNATURE-----

Jorge Villalobos

unread,
Sep 20, 2016, 12:10:16 PM9/20/16
to
On 9/20/16 8:55 AM, The Wanderer wrote:
> On 2016-09-20 at 10:25, Jorge Villalobos wrote:
>
>> On 9/19/16 9:18 PM, The Wanderer wrote:
>
>>> On 2016-09-19 at 10:34, Jorge Villalobos wrote:
>
>>>> We do plan to close those forum soon, to reduce confusion.
>>>
>>> Which forums are you referring to by "those"? I don't see a
>>> clear antecedent for the pronoun...
>
>> This one and mozilla.addons.user-experience. Both have little
>> activity and their users would benefit from using forums with more
>> followers.
>
> Will the replacement forums be available through the news.mozilla.org
> interface? The convenience of that interface (among possibly other
> things: not needing any per-forum subscription, being able to dip in and
> out while still seeing - and potentially responding to - past
> discussion, and being able both to mark messages as read and to thread
> them appropriately as can be done with E-mail) is IMO a great advantage,
> and to lose the option of accessing arguably-relevant forums
> that way would be a net negative from my perspective.
>

They won't be accessible via news.mozilla.org, unfortunately. The main
replacements are the discourse forum (which does have an email
interface) and the dev-addons mailing list.

Jorge

secgu...@yandex.com

unread,
Sep 20, 2016, 1:42:59 PM9/20/16
to dev-ext...@lists.mozilla.org
The Wanderer:

> On 2016-09-16 at 20:35, The Wanderer wrote:
>

[...]

>
>> That post did point to somewhere in particular as the place where
>> developers should go to request what they need, and I have some
>> memory that it may have been here, but I have not been able to
>> find that blog post - or any other indication of where to go to
>> request WebExtensions APIs - since starting to look at this project
>> in earnest. If this is not the correct place to make such requests
>> and discuss such matters - which the apparently complete lack of
>> existing traffic here discussing such things would seem to indicate
>> is the case - please let me know where _is_, and I will do what I
>> reasonably can to move the discussion there.
>
> It now looks as if the correct place for discussing this would probably
> be the dev-addons mailing list, which despite the similarity of name and
> superficial purpose apparently does not map to the
> mozilla.dev.extensions newsgroup, and indeed apparently does not have an
> equivalent newsgroup interface as far as I can see. (The fragmentation
> of the Mozilla discussion space really does get ridiculous at times.)
>
> I apologize for the noise.

Hopefully you ask there, as i am interested in answers to some of your
questions, too.
And i also prefer the mailing list rather than a web forum.

All the best.

sg

0 new messages