The main goal of this issue is to reduce IO during the storage initialization
and stop creating .metadata file since we already have .metadata-v2 file to
track the information for the origin directory. Therefore, this patch only stop
create, write, and read the .metadata file. And, leaving the work for removing
it to the next minor upgrade.
Differential Revision: https://phabricator.services.mozilla.com/D28824
--HG--
extra : moz-landing-system : lando
This is split from the previous changeset since if we include dom/ the file size is too
large for phabricator to handle.
This is an autogenerated commit to handle scripts loading mochitest harness files, in
the simple case where the script src is on the same line as the tag.
This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170
using the `--part 2` argument.
Differential Revision: https://phabricator.services.mozilla.com/D27457
--HG--
extra : moz-landing-system : lando
This commit adds a smart pointer class that verifies that no dangling
pointers remain after the pointee went out of scope. This verification is
opt-in and can be controlled both statically and dynamically by the pointee.
Differential Revision: https://phabricator.services.mozilla.com/D25200
--HG--
extra : moz-landing-system : lando
We found this issue by finding out a url with trailing "-" cannot parsed by
MozURL (more specifically, rust-url). This patch tries to fix all related
unparsed url issues at once. So, the first thing we want to fix here is to make
it more easier to be debugged. Thus, this patch adds more QM_WARNING while
MozURL::Init() is failing to parse the url. Secondly, if failures happen during
metadata restoring or upgrading, breaking the whole initialization or upgrades
is not the thing we want. Ideally, the best approach would be somehow keep the
directory and wait until the problem on MozURL to be fixed. Then, upgrade the
directroy. However, it's relative hard to do and might have many edge cases.
Therefore, this patch take the approach of removing them in these situation.
Note that restoring and upgrading should be rarly happens.
Differential Revision: https://phabricator.services.mozilla.com/D25437
--HG--
extra : moz-landing-system : lando
This patch do:
- Removing the directroy if the requesting client is the only client.
- Avoid unnecessary initialization for a client if it hasn't been initialized.
Differential Revision: https://phabricator.services.mozilla.com/D24371
--HG--
extra : moz-landing-system : lando
The previous patches didn't take care of the case there might have an asmjs
folder in the older version. To fix that, this patch makes Client allow to have
asmjs folders in the older version by requesting the callee of TypeFromText()
for passing the current storage version. If the version is lower than the
deprecate version, then the assertion won't be enabled.
The test verfies the fix by adding the older profile an asmjs folder.
Differential Revision: https://phabricator.services.mozilla.com/D24542
--HG--
extra : moz-landing-system : lando
This patch do:
- Removing the directroy if the requesting client is the only client.
- Avoid unnecessary initialization for a client if it hasn't been initialized.
Differential Revision: https://phabricator.services.mozilla.com/D24371
--HG--
extra : moz-landing-system : lando
After this patch, invalid origin shouldn't block upgrade anymore. However, we
should be aware of that if an invild origin somehow can be recoverd to a valid
origin, then upgrade that origin is required.
Depends on D21730
Differential Revision: https://phabricator.services.mozilla.com/D21731
--HG--
extra : moz-landing-system : lando
This patch was enhanced by asuth to bind attached database path.
Places has shown that argument binding is necessary. (Profiles may include usernames in their path which can have cool emoji and such.)
Preparation of datastores now creates real database files on disk. The LocalStorage directory is protected by a directory lock.
Infrastructure for database schema upgrades is in place too.
Database actors are now explicitely tracked by the datastore. When the last actor finishes the directory lock is released.
Added also implementation for QuotaClient::GetUsageForOrigin() and QuotaClient::AbortOperations().