Dirk Steinmetz [Mon, 26 Jul 2021 19:42:56 +0000 (21:42 +0200)]
implementationprovider: minor fixes

This commit addresses three minor issues in the implementationprovider
experiment:
- Improved support for privileged use from other experiments
- Fixed the child JSMs not loading properly from a packed add-on
- Minor typo

Dirk Steinmetz [Mon, 26 Jul 2021 19:40:14 +0000 (21:40 +0200)]
runtime: dirty hack for TB91

This commit replaces the runtime API extension with a dirty hack as
drop-in solution for TB91. Fixing it properly is likely not feasible.

Dirk Steinmetz [Mon, 26 Jul 2021 19:38:40 +0000 (21:38 +0200)]
tcp: update for TB91

This commit updates the tcp experiment with API changes in TB91.

Dirk Steinmetz [Mon, 26 Jul 2021 18:55:53 +0000 (20:55 +0200)]
customui: fix calendar locations on TB91

This commit fixes compatibility issues with calendar locations
introduced between TB 78 and 91.

Dirk Steinmetz [Wed, 30 Jun 2021 19:04:05 +0000 (21:04 +0200)]
customui: E10S fixes for recent versions

This commit fixes an issue where Webextension APIs are unavailable in
custom UI frames in very recent versions of Thunderbird. Furthermore, it
implements some additional E10S lifecycle things that seem to be
recommended to work around potential issues with framing.

Dirk Steinmetz [Sat, 24 Apr 2021 21:21:55 +0000 (23:21 +0200)]
implementationprovider: add example to readme

This commit introduces a very dense example of the basic API usage into
the readme, to give a first glimpse in the API without opening the code.

Dirk Steinmetz [Sat, 24 Apr 2021 21:08:28 +0000 (23:08 +0200)]
implementationprovider-aggregators: fix readme

This commit fixes a copy-paste error.

Dirk Steinmetz [Sat, 24 Apr 2021 05:01:22 +0000 (07:01 +0200)]
Add example for ImplementationProvider

This commit introduces an example add-on using the
ImplementationProvider API: a background page provides two ways of
aggregating numbers, and an experiment script running in the parent
process instantiates the classes and plays around with them.

Dirk Steinmetz [Sat, 24 Apr 2021 04:46:13 +0000 (06:46 +0200)]
Add new experiment: ImplementationProvider

This commit introduces a new experiment: the ImplementationProvider API
permits to use pure WebExtension class declarations from parent
experiment code. As a proof of concept, it both demonstrates feasibility
and provides a playground for experiments with that idea.

Dirk Steinmetz [Sat, 24 Apr 2021 04:27:28 +0000 (06:27 +0200)]
Remove manifest.json

The central manifest is redundant, as there are manifest snippet files
for each individual experiment. Furthermore, having a complete example
is no longer necessary as there is now a separate example folder with
better examples. For these reasons, this commit removes manifest.json
from the reporitory root.

Dirk Steinmetz [Wed, 10 Feb 2021 21:17:35 +0000 (22:17 +0100)]
customui: fix sidebar element name

As the convention of the customui API is to use a lowercase 'customui'
in identifiers, this commit updates the id used for sidebar elements.

Dirk Steinmetz [Wed, 10 Feb 2021 20:49:52 +0000 (21:49 +0100)]
Update LICENSE/NOTICE

This commit updates the legal stuff: bump year and add John.

Dirk Steinmetz [Wed, 10 Feb 2021 20:31:57 +0000 (21:31 +0100)]
Add all location example for customui

This commit adds an runnable add-on that uses the customui API to bind
to all available locations, primarily useful for testing.

Dirk Steinmetz [Wed, 10 Feb 2021 20:07:58 +0000 (21:07 +0100)]
customui: refactor sidebars

This commit fixes the codestyle for sidebar locations in the customui
API.

Dirk Steinmetz [Wed, 10 Feb 2021 18:06:29 +0000 (19:06 +0100)]
customui: make sidebar locations generic

This commit alters names and description of customui's sidebar locations
to be more generic; after all, future versions of Thunderbird might use
different concepts than a sidebar to realize the same feature.

John Bieling [Wed, 10 Feb 2021 18:03:38 +0000 (19:03 +0100)]
customui: add sidebar

This commit extends the customui API with support for a sidebar location
in the main window. It also updates the existing sidebar location to use a
more suitable id.

John Bieling [Thu, 4 Feb 2021 15:37:39 +0000 (16:37 +0100)]
customui: add sidebar for composer

This commit adds a new location to customui, permitting to inject UI into
the composer's sidebar. For now, no options are supported in that location.

Dirk Steinmetz [Thu, 4 Feb 2021 01:34:59 +0000 (02:34 +0100)]
customui: E10S support

This commit adds the necessary metadata to load frames in the correct
child process for the add-on.

Dirk Steinmetz [Thu, 4 Feb 2021 01:13:37 +0000 (02:13 +0100)]
customui: fix contextId in browser id

This commit fixes the capitalization of contextId, so we actually
include the id of the context in the inserted browser's id now.

Dirk Steinmetz [Tue, 12 Jan 2021 18:44:24 +0000 (19:44 +0100)]
customui: codestyle for unknown file action

This commit makes code and documentation of customui's unknown file
action location more consistent with their surroundings (fit code to 80
chars, alphabetical order, add documentation about context).

John Bieling [Tue, 12 Jan 2021 18:31:32 +0000 (19:31 +0100)]
customui: add LOCATION_UNKNOWN_FILE_ACTION

This commit expands the customui experiment with a location at the bottom
of the dialog asking the user which action to complete when opening a file
with an unknown content type.

Dirk Steinmetz [Tue, 13 Oct 2020 20:16:58 +0000 (22:16 +0200)]
Add readme for cachingfix and customui

This commit introduces some more additional documentation for the
cachingfix and customui experiments.

Dirk Steinmetz [Thu, 8 Oct 2020 20:37:40 +0000 (22:37 +0200)]
customui: event edit location, local options

This commit adds a location in the event editing window/tab to the
customui experiment, as well as support for altering local options from
a custom ui frame. This permits the frame to dynamically adjust its size
and display status (visible / hidden).

Dirk Steinmetz [Fri, 17 Jul 2020 05:17:01 +0000 (07:17 +0200)]
Replace fixCaching.jsm with experiment

It is actually possible to create an experiment handling add-on lifetime
and doing all the things fixCaching.jsm is doing, without having to call
any API from within the experiments or the webextension. This commit
implements that.

It also includes manifest examples for each individual experiment, to
simplify copy-pasting.

Dirk Steinmetz [Thu, 9 Jul 2020 00:19:52 +0000 (02:19 +0200)]
Experiments from 2.0.0.0

This commit features all open-source experiments from the 2.0.0.0
version of the GeneralSync integration add-on.