Commit Graph

5381 Commits

Author SHA1 Message Date
Tooru Fujisawa
edda26d5b4 Bug 1207497 - Part 3: Fix wrong replacement in debug print in toolkit/mozapps/downloads/tests/unit/test_lowMinutes.js. r=me DONTBUILD
--HG--
extra : commitid : J6B41yG7V8K
extra : amend_source : 0df1b2c622ba3f8d1d0fea3e8c35b638dc0e34f4
2015-09-25 18:06:19 +09:00
Tooru Fujisawa
8a0aa17cb2 Bug 1207497 - Part 2: Remove use of expression closure from tests in toolkit/. r=Gijs
--HG--
extra : commitid : F0AJXZT2xzk
extra : rebase_source : 4b076123afebebf10abfe62872d98f0a21e91ac8
2015-09-24 21:25:24 +09:00
Tooru Fujisawa
7ff6b0aae3 Bug 1207497 - Part 1: Remove use of expression closure from toolkit/, exept tests. r=Gijs
--HG--
extra : commitid : 7TOGiSg7KEL
extra : rebase_source : e6c1672e9b7e9d18aa4a430051789b5962c0ec14
2015-09-24 21:20:04 +09:00
Dave Townsend
7c204151f3 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.

--HG--
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app1/features/system1@tests.mozilla.org.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system1_1.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app3/features/system1@tests.mozilla.org.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system1_1_badcert.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app2/features/system1@tests.mozilla.org.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system1_2.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app1/features/system2@tests.mozilla.org.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system2_1.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app2/features/system3@tests.mozilla.org.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system3_1.xpi
extra : commitid : Ex9NNNduxhK
extra : rebase_source : 99088404019f53a8a76105c66edce404f2c7e454
2015-09-10 10:57:39 -07:00
Dave Townsend
77f3ee0b44 Bug 1192924: Split out add-on update.xml parsing code from GMP modules. r=spohl
The system add-on update checks will use the same update.xml format as GMP so
this splits out the code for parsing and downloading files into a standalone
module that both can reuse.

--HG--
extra : commitid : I89HsxRnP9T
extra : rebase_source : 1b38a03e202f73ba214604e083745e8c6b5984b5
2015-09-08 15:00:28 -07:00
Dave Townsend
a22c2d1f9e Bug 1192924: Expose the update URL formatting code a new UpdateUtils module. r=rstrong
The GMP manager uses a copy of the update service's url formatting code and has
since fallen out of sync. We'll also want to use the same formatting code for
the system add-on update checks so this just exposes it in a shared API.

I've moved the contents of UpdateChannel.jsm to UpdateUtils.jsm and exposed
formatUpdateURL there as well as a few properties that the update service still
needs access to.

UpdateUtils.UpdateChannel is intended to be a lazy getter but isn't for now
since tests expect to be able to change the update channel at runtime.

--HG--
extra : commitid : KsbH21csjH4
extra : rebase_source : bc7c08de1ec6e802261b8cd294d88ee2c4e75c2d
2015-09-14 11:04:19 -07:00
Dave Townsend
b044e13005 Bug 1206897: Don't attempt to cancel installs that are already cancelled. r=dveditz
--HG--
extra : commitid : CXVaLUHUlIp
extra : rebase_source : ebecb46860e5b31c38b25435f1d86bab10cb29c9
2015-09-21 15:10:52 -07:00
Nick Alexander
c8ee8a09cf Bug 1108782 - Part 1: straighten out Java classpaths. r=glandium
This commit is us getting out of our own way.  We were specifying
-classpath twice, once in $(JAVAC) and once in java-build.mk.  Only
the latter of these is active.  This a problem for ANDROID_EXTRA_JARS
-- those JARs should be on the classpath and input to $(DX) -- and
JARs that should be on the classpath but *not* input to $(DX).  This
commit removes the global flags to $(JAVAC) and adds
JAVA_{BOOT}CLASSPATH_JARS.  This required some hijinkery moving
wildcards to moz.build files, but everything seems to work.

As well as clarifying some parts of the build, part 2 uses this work
to modify the classpath.

--HG--
extra : commitid : 25Ft0BFs88O
extra : rebase_source : 05e3d1da8d42fa89d06ef48baee17bb77df5bd59
extra : histedit_source : 95b82309aca15c5a3c5f5a0eafbdcf75c5e8dfc0
2015-08-31 13:35:05 -07:00
Wes Kocher
468b697f04 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)

--HG--
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system1_1.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app1/features/system1@tests.mozilla.org.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system2_1.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app1/features/system2@tests.mozilla.org.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system1_2.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app2/features/system1@tests.mozilla.org.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system3_1.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app2/features/system3@tests.mozilla.org.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system1_1_badcert.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app3/features/system1@tests.mozilla.org.xpi
2015-09-22 11:02:55 -07:00
Dave Townsend
d039cf8d34 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.

--HG--
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app1/features/system1@tests.mozilla.org.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system1_1.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app3/features/system1@tests.mozilla.org.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system1_1_badcert.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app2/features/system1@tests.mozilla.org.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system1_2.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app1/features/system2@tests.mozilla.org.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system2_1.xpi
rename : toolkit/mozapps/extensions/test/xpcshell/data/system_addons/app2/features/system3@tests.mozilla.org.xpi => toolkit/mozapps/extensions/test/xpcshell/data/system_addons/system3_1.xpi
extra : commitid : CuRP3svf6aO
extra : rebase_source : 0a67da41a0a7b27ecb042875ebf13b7b69ec5c84
extra : histedit_source : e96ecd9a4a56e503b4df0e2a0ecd1ac82a716a66
2015-09-10 10:57:39 -07:00
Dave Townsend
b3e382b93e Bug 1192924: Split out add-on update.xml parsing code from GMP modules. r=spohl
The system add-on update checks will use the same update.xml format as GMP so
this splits out the code for parsing and downloading files into a standalone
module that both can reuse.

--HG--
extra : commitid : 31m1WDO3PCP
extra : rebase_source : f018d36b94460942b217e9a6bb4ec146309f9a55
extra : histedit_source : 15e2e92984ee8747b59d0278dab12f6872a17223
2015-09-08 15:00:28 -07:00
Dave Townsend
fb7653707b Bug 1192924: Expose the update URL formatting code a new UpdateUtils module. r=rstrong
The GMP manager uses a copy of the update service's url formatting code and has
since fallen out of sync. We'll also want to use the same formatting code for
the system add-on update checks so this just exposes it in a shared API.

I've moved the contents of UpdateChannel.jsm to UpdateUtils.jsm and exposed
formatUpdateURL there as well as a few properties that the update service still
needs access to.

UpdateUtils.UpdateChannel is intended to be a lazy getter but isn't for now
since tests expect to be able to change the update channel at runtime.

--HG--
extra : commitid : FuPUB9X4oYJ
extra : rebase_source : cfcd31d7da5f5b636a2ec11546dbada973d681de
extra : histedit_source : 3df840dc502c6ee4177f1858920d1260e4dc27af
2015-09-14 11:04:19 -07:00
Carsten "Tomcat" Book
651a168616 merge mozilla-inbound to mozilla-central a=merge
--HG--
rename : toolkit/devtools/server/actors/styleeditor.js => devtools/server/actors/styleeditor.js
rename : toolkit/devtools/server/actors/stylesheets.js => devtools/server/actors/stylesheets.js
rename : toolkit/devtools/gcli/commands/screenshot.js => devtools/shared/gcli/commands/screenshot.js
2015-09-22 12:35:13 +02:00
Dave Townsend
0c4a303cc4 Bug 1203787: When the add-on ID is longer than 64 characters compare the signing certificate's common name to the sha256 hash of the ID. r=dveditz
--HG--
extra : commitid : 9PDEui0e5MG
extra : rebase_source : 9742784d707212cc8424a61571f9fe433333147d
2015-09-18 10:17:54 -07:00
J. Ryan Stinnett
efe328f1b2 Bug 912121 - Rewrite require / import to match source tree. rs=devtools
In a following patch, all DevTools moz.build files will use DevToolsModules to
install JS modules at a path that corresponds directly to their source tree
location.  Here we rewrite all require and import calls to match the new
location that these files are installed to.

--HG--
extra : commitid : F2ItGm8ptRz
extra : rebase_source : b082fe4bf77e22e297e303fc601165ceff1c4cbc
2015-09-21 12:04:18 -05:00
Carsten "Tomcat" Book
a9d832efac Merge mozilla-central to b2g-inbound 2015-09-17 15:08:41 +02:00
Alexandre Lissy
ca41727a38 Bug 1201556 - Send hashed device id for foxfooders. r=fabrice
--HG--
extra : rebase_source : beee55eb2c52519d1c19fb5ebc667ea8b6ec7b42
2015-09-17 05:06:00 +02:00
Wes Kocher
5b879dacff Merge mozilla-inbound to m-c a=merge CLOSED TREE 2015-09-16 10:52:53 -07:00
Justin Dolske
ae99e672d1 Bug 1204154 - Clean up jar manifests that needlessly specify the source file. r=dao 2015-09-15 18:33:57 -07:00
Wes Kocher
15a0153195 Merge inbound to central, a=merge 2015-09-15 17:16:24 -07:00
Carsten "Tomcat" Book
fa147338f3 Merge mozilla-central to mozilla-inbound 2015-09-15 15:10:11 +02:00
Carsten "Tomcat" Book
6944c5ba30 merge mozilla-inbound to mozilla-central a=merge 2015-09-15 15:05:24 +02:00
Chris Pearce
7cbbd23be8 Bug 1205178 - Make GMPProvider check that GMPs are the right arch before loading. r=spohl 2015-09-17 13:28:48 +12:00
Jacek Caban
b56fbdbaff Bug 1199615 - Fixed toolkit/mozapps/update/ compilation on mingw. r=rstrong 2015-09-15 13:12:03 +02:00
Dave Townsend
1e68ce6af7 Bug 1204012: Lightweight themes are disabled if any add-ons are detected or modified during startup. r=rhelmer
When a lightweight theme is active the default theme is the selected skin but
the default theme's addon object is marked as inactive (to deal with the horror
of only allowing the user to select a single theme through the UI).

During startup we should only switch back to the default theme if there is a
non-default skin selected that we didn't see.

--HG--
extra : commitid : 8v5gChgFbgw
extra : rebase_source : 277807f800c98336c624718dc09b8ed44a25f201
2015-09-11 10:38:35 -07:00
Carsten "Tomcat" Book
a6cd041140 Merge mozilla-central to fx-team 2015-09-11 16:42:01 +02:00
Trevor Rowbotham
ca30a91dd6 Bug 1180901 - Test that an extension can be installed when a locked file exists in the extensions trash directory as long as the extension being installed does not touch the locked file. r=mossop 2015-09-09 13:44:00 +02:00
Nicholas Nethercote
cfce5c44cd Bug 1202971 (part 2) - Fix compile warnings in toolkit/mozapps/update/tests. r=rstrong.
--HG--
extra : rebase_source : e9cccb4a70c26c040e963e37da14cdb313fd1648
2015-09-15 17:39:12 -07:00
Wes Kocher
3eef2f434b Merge m-c to inbound, a=merge 2015-09-15 17:20:16 -07:00
Christoph Kerschbaumer
60ffe96bea Bug 1195162 - Move mozapps/plugins into pluginproblem (r=sicking,bsmedberg)
--HG--
rename : toolkit/locales/en-US/chrome/mozapps/plugins/plugins.dtd => toolkit/locales/en-US/chrome/pluginproblem/pluginproblem.dtd
rename : toolkit/mozapps/plugins/content/pluginFinderBinding.css => toolkit/pluginproblem/content/pluginFinderBinding.css
rename : toolkit/mozapps/plugins/content/pluginProblem.xml => toolkit/pluginproblem/content/pluginProblem.xml
rename : toolkit/mozapps/plugins/content/pluginProblemBinding.css => toolkit/pluginproblem/content/pluginProblemBinding.css
rename : toolkit/mozapps/plugins/content/pluginProblemContent.css => toolkit/pluginproblem/content/pluginProblemContent.css
rename : toolkit/mozapps/plugins/jar.mn => toolkit/pluginproblem/jar.mn
rename : toolkit/mozapps/plugins/moz.build => toolkit/pluginproblem/moz.build
rename : toolkit/mozapps/plugins/pluginGlue.manifest => toolkit/pluginproblem/pluginGlue.manifest
2015-09-14 19:08:06 -07:00
Dave Townsend
ef437b5ed0 Bug 1192925: Test that system add-ons are marked as un-uninstallable and un-upgradable. r=rhelmer
--HG--
extra : commitid : GCPMXAg0BHU
extra : rebase_source : a604758512d1449c506eefd5b07930df040b086e
2015-09-11 10:51:06 -07:00
Wes Kocher
3687626c35 Merge inbound to central, a=merge CLOSED TREE 2015-09-09 13:47:08 -07:00
Carsten "Tomcat" Book
c040626933 Merge mozilla-central to fx-team 2015-09-09 14:10:46 +02:00
Dave Townsend
2e931bb682 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.

--HG--
extra : transplant_source : %9C%C1%AC%13%82%F2%94%18%9F%BC%CD%0C%FC%F65B%0DY%86%3F
2015-08-26 16:14:00 -07:00
Dave Townsend
716637f211 Bug 1192921: Add an install location for system add-ons. r=rhelmer
This adds two new directory install locations. One contains the default system
add-ons that ship with the application, the other contains system add-on that
will eventually be updatable at runtime.

The updatable location tracks the expected list of add-ons in a pref. and only
returns add-ons from that list when asked for its list of add-ons.

After processFileChanges has scanned all add-ons and updated the database it
checks if the updated system add-ons match the expected set. If not we ignore
those add-ons when working out which add-ons should be visible. If they do match
then we ignore the app-shipped system add-ons when working out which are
visible.

--HG--
extra : commitid : LYCHZGSoGwj
extra : rebase_source : c9bc96b36d23ba9b4374adead9b59059ccb02f39
2015-09-04 12:00:47 -07:00
Dave Townsend
3da1ade4bd Bug 1192921: Split DirectoryInstallLocation into an immutable and mutable version. r=rhelmer
Most directory install locations are immutable at runtime. Only the profile
location can be installed into and uninstalled from. The system add-on locations
will be immutable as well but also be extended with some extra functionality so
it is useful to split the immutable parts out into a shared class that both
the mutable location and eventually system add-on locations can inherit from.

--HG--
extra : commitid : 4JAbEmPbxAc
extra : rebase_source : 136e4143a24f09dc88f4db1b5dc450568e40799a
2015-08-25 16:01:55 -07:00
Dave Townsend
4369ebf0fc Bug 1192921: Remove most assumptions that add-on IDs match filenames. r=rhelmer
Normal directory install locations expect add-ons to exist on disk with the
naming convention "<id>.xpi". Originally system add-ons were going to do
something different so I started working on this. In the end it is unnecessary
but this work did reveal some cases where _sourceBundle wasn't being updated
for add-ons and removing most of these assumptions is still valuable.

--HG--
extra : commitid : 81LpRFeugL5
extra : rebase_source : 8b532ee58e57194889fffd8d9558718e1b551bac
2015-08-25 15:18:43 -07:00
Mike Shal
66d8bc270e Bug 1198179 - Kill gen_mach_buildprops.py; r=ted 2015-08-25 11:42:44 -04:00
Dave Townsend
688ebef0fa 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.

--HG--
extra : commitid : CRFjjhiI4Pi
extra : rebase_source : 85091024e331dce72b9d704ca7a962a30d4b8407
2015-08-21 16:49:56 -07:00
Dave Townsend
8ee5dc830f Bug 1192921: Load XPIProviderUtils in a sandbox to simulate the way it is loaded in B2G. r=rhelmer
--HG--
extra : commitid : 2CPLf6mNPsk
extra : rebase_source : 0fd7e2846740b1fa3edcaf08564780e9063382f1
2015-09-04 12:22:24 -07:00
Julien Pagès
e86114031c Bug 787200 - Move the Talos code into mozilla-central: create the talos test .zip file. r=ted 2015-08-27 10:51:32 +02:00
Dave Townsend
0cf2a7c5c2 Bug 1194784: Sideloaded add-ons without full signing don't display an appropriate warning in the add-ons manager. r=dao
--HG--
extra : commitid : 10VQvgDJsbv
extra : rebase_source : 9a2ea211db29e335a37ddf824bd18776d62cbeca
2015-09-03 12:39:29 -07:00
Carsten "Tomcat" Book
57bd4d9f0d merge mozilla-inbound to mozilla-central a=merge 2015-09-04 16:05:11 +02:00
Phil Ringnalda
48457bc69c 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
a486e9c783 Bug 1192921: Add an install location for system add-ons. r=rhelmer
This adds two new directory install locations. One contains the default system
add-ons that ship with the application, the other contains system add-on that
will eventually be updatable at runtime.

The updatable location tracks the expected list of add-ons in a pref. and only
returns add-ons from that list when asked for its list of add-ons.

After processFileChanges has scanned all add-ons and updated the database it
checks if the updated system add-ons match the expected set. If not we ignore
those add-ons when working out which add-ons should be visible. If they do match
then we ignore the app-shipped system add-ons when working out which are
visible.

--HG--
extra : commitid : H1px7lWsLNj
extra : rebase_source : 6b70fd6c88608169e2974e19acd37bf63243c1cd
2015-08-10 15:47:28 -07:00
Dave Townsend
72d129f6ff Bug 1192921: Split DirectoryInstallLocation into an immutable and mutable version. r=rhelmer
Most directory install locations are immutable at runtime. Only the profile
location can be installed into and uninstalled from. The system add-on locations
will be immutable as well but also be extended with some extra functionality so
it is useful to split the immutable parts out into a shared class that both
the mutable location and eventually system add-on locations can inherit from.

--HG--
extra : commitid : 93JIjq8Dq7f
extra : rebase_source : b7bb657f11a6313a00589790787ad91a26543e36
2015-08-25 16:01:55 -07:00
Dave Townsend
00a22e8793 Bug 1192921: Remove most assumptions that add-on IDs match filenames. r=rhelmer
Normal directory install locations expect add-ons to exist on disk with the
naming convention "<id>.xpi". Originally system add-ons were going to do
something different so I started working on this. In the end it is unnecessary
but this work did reveal some cases where _sourceBundle wasn't being updated
for add-ons and removing most of these assumptions is still valuable.

--HG--
extra : commitid : G0Rr1VMDtWB
extra : rebase_source : 426b21cd9faace5371de939170c12e1b96284386
2015-08-25 15:18:43 -07:00
Dave Townsend
53b799a110 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.

--HG--
extra : commitid : FAyc1y0WszT
extra : rebase_source : 308a674ec0e3f81ee3e0533b7014c37477860d67
2015-08-21 16:49:56 -07:00
Dave Townsend
d78b5ae798 Bug 1200027: Fix installing add-ons from the AMO discovery pane in the add-ons manager. r=dveditz
--HG--
extra : commitid : 94OiH0KUpNn
extra : rebase_source : 5d51f94c1627b19bdc438fe05e5475bd3525070d
extra : amend_source : 203756cbbab7f0f7dbda20ec003292081d96bb51
2015-08-31 11:23:39 -07:00
Wes Kocher
19ac958e5f Merge m-c to inbound, a=merge CLOSED TREE
--HG--
extra : amend_source : 2ee129b9eca3c22c2a3bbba9e514059826ae3aa7
2015-09-08 17:06:42 -07:00