The real problem is because the connection was closed for some reason. This
patch won't resolve the issue by only let the operation and the transaction fail
to escape from the crash. Note that it also changing an assertion when the
transaction is either commiting or aborting. This is prevent the problem for
closing connection is worser than we expected.
Differential Revision: https://phabricator.services.mozilla.com/D28148
--HG--
extra : moz-landing-system : lando
The second place doesn't return an error because that's what some
earlier code in the method does. Hopefully that is ok.
Differential Revision: https://phabricator.services.mozilla.com/D24991
--HG--
extra : moz-landing-system : lando
The second place doesn't return an error because that's what some
earlier code in the method does. Hopefully that is ok.
Differential Revision: https://phabricator.services.mozilla.com/D24991
--HG--
extra : moz-landing-system : lando
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Recv/Answer methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).
Differential Revision: https://phabricator.services.mozilla.com/D18132
--HG--
extra : moz-landing-system : lando
This patch mainly whitelist all the dot-files in the persistence directories and
origin directories. Ignore dot-files was first proposed in
Bug 944918 comment 39. ".desktop" was also mentioned in that comment Besides,
"desktop.ini" was first mentioned in Bug 944918 comment 42, "Thumbs.db" was
mentioned in 1493262 comment 11, and "Desktop.ini" was first mentioned
Bug 1423917 comment 46.Thus, this patch also whitelist them all during
initialization.
--HG--
extra : rebase_source : 6dc372c7e4bfc6dbe9774b5a9c72b95d20b7bea9
The patch intend to remove unexpected directories in indexedDB directory instead
of breaking the initialization. Note that since it removes directories while
finding them, it also switches the key (internal) for GetBaseFilename and
GetEntry to external.
Differential Revision: https://phabricator.services.mozilla.com/D16448
--HG--
extra : moz-landing-system : lando
After this patch, in the beginning of each removing for a database, a marker
file will be created and then will be deleted after completing the remove. If
somehow the remove fails, we can know that by checking the file in the next
open.
Note that this patch intends to have a lazy clean-up if there is a failed
remove. Which means that the marker files are checked only when initialization,
and opening the same database again.
Differential Revision: https://phabricator.services.mozilla.com/D16446
--HG--
extra : moz-landing-system : lando
Before this patch, IPCStream was an union containing IPCRemoteSteam or an
InputStreamParamsWithFds. Now InputStreamParamsWithFds is renamed IPCStream and
IPCRemoteSteam is one of the possible InputStreamParams structs.
This patch uses categorical keyed Historgram to collect data. While the key is
used to determine whether is it an external error or an internal error (Note:
the external error is referred to low level failure, for example: database
corrupt, OS API errors, ... etc; the internal error is referred to errors, like:
not handle file properly, unexpected filenames, ... etc), the labels for
categorical indicates where the error happens.
Furthermore, this patch make QuotaManager keep traversing the profile even if
an error happens so that we can get more information in the telemetry data.
Please note that these things should only happen in the Nightly Channel.
Differential Revision: https://phabricator.services.mozilla.com/D15908
--HG--
extra : moz-landing-system : lando
Datastores are preloaded only for content principals. The preloading is triggered as soon as possible to lower the chance of blocking the main thread in content process. If there is no physical database on disk for given origin, datastore is not created. Preloaded datastores are kept alive for 20 seconds.
CheckedInt propagates the mIsValid in each add operation so that it avoids
having a bunch of code for the overflow check in each add operation.
Furthermore, it avoids mismatching parameters between the computing result and
the additional overflow check. This patch uses it based on advantages described
above.
--HG--
extra : rebase_source : d36e39d5ccdfa206a47b8c75d91553dd260e79dd
In order to allow JS callers to use nsISimpleEnumerator instances with the JS
iteration protocol, we'll need to additional methods to every instance. Since
we currently have a large number of unrelated implementations, it would be
best if they could share the same implementation for the JS portion of the
protocol.
This patch adds a stub nsSimpleEnumerator base class, and updates all existing
implementations to inherit from it. A follow-up will add a new base interface
to this class, and implement the additional functionality required for JS
iteration.
Differential Revision: https://phabricator.services.mozilla.com/D3725
--HG--
extra : rebase_source : ad66d7b266856d5a750c772e4710679fab9434b1
extra : histedit_source : a83ebffbf2f0b191ba7de9007f73def6b9a955b8