Commit Graph

176 Commits

Author SHA1 Message Date
Tooru Fujisawa
e1e42ff6d3 Bug 1207497 - Part 1: Remove use of expression closure from toolkit/, exept tests. r=Gijs 2015-09-24 21:20:04 +09:00
Dave Townsend
6186552d07 Bug 1192924: Check for updated system add-ons and download and install them. r=rhelmer
This performs the update check for system add-ons. It runs as part of the daily
add-on update checks similar to hotfix checks. Currently no URL is set so builds
won't actually start checking yet.

I've taken a few shortcuts here by only staging updates and needing a restart to
install as well as always downloading updates rather than using existing local
copies. At least the latter probably needs fixing before turning this on but
it makes more sense to iterate on those in tree.
2015-09-10 10:57:39 -07:00
Wes Kocher
69b522405d Backed out 3 changesets (bug 1192924) for Android bustage CLOSED TREE
Backed out changeset 30d612836685 (bug 1192924)
Backed out changeset a6860f880e01 (bug 1192924)
Backed out changeset 10e1fa2cc23a (bug 1192924)
2015-09-22 11:02:55 -07:00
Dave Townsend
a19b5df33c Bug 1192924: Check for updated system add-ons and download and install them. r=rhelmer
This performs the update check for system add-ons. It runs as part of the daily
add-on update checks similar to hotfix checks. Currently no URL is set so builds
won't actually start checking yet.

I've taken a few shortcuts here by only staging updates and needing a restart to
install as well as always downloading updates rather than using existing local
copies. At least the latter probably needs fixing before turning this on but
it makes more sense to iterate on those in tree.
2015-09-10 10:57:39 -07:00
Shu-yu Guo
37989840cd Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
Dave Townsend
8691738731 Bug 1192930 - Require a special certificate for system add-ons. r=rhelmer
Makes sure that add-on objects always have the _installLocation property for
the location they will be installed into so that isUsableAddon can test for the
right signature.
2015-08-26 16:14:00 -07:00
Dave Townsend
c943c97092 Bug 1192921: Refactor add-on manager startup loop to better support validating install locations after scanning. r=rhelmer
The add-ons manager recognises the notion of "install locations". Each location
can contain add-ons that are installed in the application. There are two main
types, directory locations which exist as a directory somewhere in the
filesystem and registry locations which exist in the Windows registry. The
profile location is the one where add-ons installed through the UI exist, the
other locations are for add-ons that are bundled with the application,
installed by the OS or by third-party applications.

Install locations have priorities. The profile location has the highest priority
then the others gradually lower priorities. When an add-on exists in more than
one install location the version in the highest priority location is the one
that is visible and can be active in the application. We still retain details
about the other versions in the database.

On every startup the add-ons manager scans over these install locations to see
if the set of installed add-ons has changed at all. A very quick check is done
to see if the more thorough check in processFileChanges (which synchronously
loads the add-ons database and install manifests for the add-ons) is needed.

The job of processFileChanges is to load information about all the add-ons and
update the add-ons database to match. It has to decide which add-ons to make
visible, track what changes were made to the visible set of add-ons and call
restartless add-ons install and uninstall scripts.

The original version of processFileChanges attempted to optimise this by doing
all of the work in a single loop over the add-ons in the locations. This mostly
worked but made certain situations difficult to handle (see bug 607818 f.e.).
There isn't much need for this level of optimisation. We're already in a slow
pass and once all the data is loaded off the disk looping over it is fast.

This changeset moves processFileChanges into the XPIProviderUtils file which is
lazy loaded when necessary. While most of the code is the same it instead does
one loop to update the database and gather information, then a second loop to
update add-on visibility, record changes and call bootstrap scripts.
2015-08-21 16:49:56 -07:00
Phil Ringnalda
cecab21d10 Backed out 4 changesets (bug 1192921) for b2g desktop Gu hangs
Backed out changeset 1bfa2dead61f (bug 1192921)
Backed out changeset f310cab1dd4e (bug 1192921)
Backed out changeset c3009691dfe6 (bug 1192921)
Backed out changeset d8233b994741 (bug 1192921)
2015-09-03 20:53:50 -07:00
Dave Townsend
0d473751e7 Bug 1192921: Refactor add-on manager startup loop to better support validating install locations after scanning. r=rhelmer
The add-ons manager recognises the notion of "install locations". Each location
can contain add-ons that are installed in the application. There are two main
types, directory locations which exist as a directory somewhere in the
filesystem and registry locations which exist in the Windows registry. The
profile location is the one where add-ons installed through the UI exist, the
other locations are for add-ons that are bundled with the application,
installed by the OS or by third-party applications.

Install locations have priorities. The profile location has the highest priority
then the others gradually lower priorities. When an add-on exists in more than
one install location the version in the highest priority location is the one
that is visible and can be active in the application. We still retain details
about the other versions in the database.

On every startup the add-ons manager scans over these install locations to see
if the set of installed add-ons has changed at all. A very quick check is done
to see if the more thorough check in processFileChanges (which synchronously
loads the add-ons database and install manifests for the add-ons) is needed.

The job of processFileChanges is to load information about all the add-ons and
update the add-ons database to match. It has to decide which add-ons to make
visible, track what changes were made to the visible set of add-ons and call
restartless add-ons install and uninstall scripts.

The original version of processFileChanges attempted to optimise this by doing
all of the work in a single loop over the add-ons in the locations. This mostly
worked but made certain situations difficult to handle (see bug 607818 f.e.).
There isn't much need for this level of optimisation. We're already in a slow
pass and once all the data is loaded off the disk looping over it is fast.

This changeset moves processFileChanges into the XPIProviderUtils file which is
lazy loaded when necessary. While most of the code is the same it instead does
one loop to update the database and gather information, then a second loop to
update add-on visibility, record changes and call bootstrap scripts.
2015-08-21 16:49:56 -07:00
Dave Townsend
4a20a1e68c Bug 1200027: Fix installing add-ons from the AMO discovery pane in the add-ons manager. r=dveditz 2015-08-31 11:23:39 -07:00
Philipp Kewisch
ea4bffc179 Bug 1197617 - Fix addon signing tests to work when addon signing is disabled. r=Mossop 2015-09-01 12:48:12 +02:00
Dave Townsend
4618999b6b Bug 1042699: Block cross-origin add-on install requests. r=dveditz 2015-08-18 17:21:05 -07:00
Dave Townsend
5f1780022f Bug 1164006: Reduce recursion from calls to AddonManager.getAddonsByIDs. r=paolo 2015-05-12 12:39:52 -07:00
Dave Townsend
46bed85a59 Bug 1151537: Support hotfixes signed by the AMO trusted root. r=rstrong 2015-05-04 17:14:22 -07:00
Phil Ringnalda
269cb4ace6 Back out b9276252c2e6 (bug 1151537) for Windows xpcshell failures
CLOSED TREE
2015-05-09 13:50:58 -07:00
Dave Townsend
c01e9099c8 Bug 1151537: Support hotfixes signed by the AMO trusted root. 2015-05-04 17:14:22 -07:00
Dave Townsend
31ea58effe Bug 1038068: Check add-on signatures and refuse to install unsigned or broken add-ons (preffed off for now). r=dveditz 2015-03-31 11:32:40 -07:00
Carsten "Tomcat" Book
a3c4967237 Backed out changeset f99621542727 (bug 1038068) for test failures in test_corrupt.js etc on a CLOSED TREE 2015-04-23 09:09:30 +02:00
Dave Townsend
bf0e90bd4c Bug 1038068: Check add-on signatures and refuse to install unsigned or broken add-ons (preffed off for now). r=dveditz 2015-03-31 11:32:40 -07:00
Wes Kocher
8674979621 Backed out changeset 3b48e1a81a17 (bug 1038068) for xpcshell orange even after a clobbering IGNORE IDL 2015-04-21 18:21:52 -07:00
Dave Townsend
f158bf98d5 Bug 1038068: Check add-on signatures and refuse to install unsigned or broken add-ons (preffed off for now). IGNORE IDL. r=dveditz 2015-03-31 11:32:40 -07:00
Dave Townsend
6a16e35911 Bug 1068087: Switch about:plugins to run remotely. r=mconley 2015-01-08 12:40:14 -08:00
Blair McBride
06797f0795 Bug 1075625 - AddonManager can race between provider startup / shutdown and methods that call back to providers. r=Mossop 2015-01-19 22:55:15 +13:00
Dave Townsend
f5d707425c Bug 1084558: Switch the web installer interfaces to use browsers instead of DOM windows. r=Unfocused 2014-11-04 19:20:52 -08:00
J. Ryan Stinnett
021d972903 Bug 1090450 - Properly check add-on update state during update interval. r=Mossop
A refactoring in bug 995108 inadvertently disabled background add-on updates by
moving the timer handler to AddonManagerPrivate without fixing the values the
method uses to point to meaningful locations.
2014-10-28 20:26:00 -04:00
Irving Reid
92fb3f290c Bug 1081702 - Check that callback parameters are defined before pushing onto result arrays. r=Mossop 2014-10-21 12:05:24 -04:00
Irving Reid
250925842c Bug 1074135 - callback after exceptions when calling async provider methods; r=unfocused 2014-09-29 13:01:50 -04:00
Irving Reid
9b0e733b5c Bug 1059674 - use AsynchShutdown.blocker() for AddonManager provider shutdown; r=unfocused 2014-09-27 16:25:47 -04:00
Manu Jain
a0d0ef52fc Bug 1063561 - Convert Addon Manager telemetry timings to use Components.utils.now(); r=irvingreid 2014-09-19 14:04:49 -04:00
Irving Reid
647cd1ac80 Bug 995108 - Disable blocklist and update timers during Addon Manager mochitests. r=mossop 2014-09-02 11:47:11 -04:00
Blake Kaplan
d172b97f15 Bug 952201 - Make installing addons from web content work correctly in e10s. r=bmcbride@mozilla.com 2014-07-18 09:27:29 -07:00
Georg Fritzsche
df6cd90499 Bug 1012466 - Introduce AddonManager shutdown barrier. r=irving 2014-07-08 18:56:04 +02:00
Irving Reid
a803765fb8 Bug 760356: Only show the addon compat UI when necessary; r=unfocused 2014-05-20 13:16:39 -04:00
Irving Reid
b814820d30 Bug 760356: #1 Always request all add-ons when loading AddonRepository; r=unfocused 2014-05-20 13:16:37 -04:00
Irving Reid
dc465af21b Bug 1000695 - Part 2: Yield to event loop after receiving onInstallEnded, rewrite to Task.jsm. r=unfocused 2014-05-07 11:04:25 -04:00
Irving Reid
c492d62c74 Bug 1000695 - Part 1: Rewrite backgroundUpdateCheck() to Task.jsm based async. r=unfocused 2014-05-07 10:48:10 -04:00
Ryan VanderMeulen
2e2e4c80f4 Backed out changesets 1d9b6d754b9d and 73782d1e750c for landing with the wrong bug number. 2014-05-08 14:12:58 -04:00
Irving Reid
4cdc78263a Bug 1000695: #2 yield to event loop after receiving onInstallEnded, rewrite to Task.jsm; r=unfocused 2014-05-07 11:04:25 -04:00
Irving Reid
ea37a29a91 Bug 100695: #1 Rewrite backgroundUpdateCheck() to Task.jsm based async; r=unfocused 2014-05-07 10:48:10 -04:00
Wes Kocher
eb14b9cbfd Backed out 2 changesets (bug 1000695) for introducing a near permafail on linux bc3
Backed out changeset 43306fac27e1 (bug 1000695)
Backed out changeset fcf5abdf9706 (bug 1000695)
2014-05-05 17:54:22 -07:00
Irving Reid
e9550d5d49 Bug 1000695 - Part 2: Rewrite browser_hotfix.js to Task.jsm and yield to event loop after receiving onInstallEnded. r=Unfocused 2014-05-01 22:49:49 -04:00
Irving Reid
6a3246a8c5 Bug 1000695 - Part 1: Rewrite backgroundUpdateCheck() to Task.jsm-based async. r=Unfocused 2014-05-05 08:55:58 -04:00
Dave Townsend
096d663d73 Bug 639524: Use the application shipped blocklist when it is newer then the profile version. r=Unfocused 2014-04-14 17:44:56 -07:00
Irving Reid
d90e3783d0 Bug 986104 - Telemetry for reasons why XPIProvider doesn't start. r=Unfocused 2014-04-01 22:17:37 -04:00
Gregory Szorc
8e9bbb3b02 Bug 975000 - Disable updating and compatibility checking for Experiments; r=Unfocused
Experiment add-ons are installed and updated via the Experiments Manager
service. With this change, the Add-ons Manager lets experiment add-ons
play by their own rules without interference.
2014-03-28 20:17:04 +01:00
Gregory Szorc
eb640ba1d1 Backed out changeset 4834a3833639 and c580afddd1cb (bug 985084 and bug 97500) 2014-03-28 21:45:10 -07:00
Gregory Szorc
eb9bfbfbca Bug 975000 - Disable updating and compatibility checking for Experiments; r=Unfocused
Experiment add-ons are installed and updated via the Experiments Manager
service. With this change, the Add-ons Manager lets experiment add-ons
play by their own rules without interference.
2014-03-28 20:17:04 +01:00
Irving Reid
1b152f9fe9 Bug 772484 - Allow user to cancel add-on update check and clean up correctly when they do. r=Unfocused 2014-03-14 08:52:55 -04:00
Emma Sajic
d857441e76 Bug 661982: Toolkit Add-ons Manager logging to be changed to use Log.jsm;r=irving 2014-02-23 12:27:59 -05:00
Alexander J. Vincent
124eff5db7 Bug 952307 - Move some addon-private JSM's to a subdirectory. r=Unfocused 2014-01-07 20:14:08 -08:00