Add asyncVacuum to mozIStorageAsyncConnection, that dispatches a runnable to
the helper thread, where it will execute a full or incremental vacuum, depending
on the connection auto_vacuum value.
It also supports vacuuming attached schemas.
asyncVacuum() supports changing both the page_size and auto_vacuum.
Change mozIStorageVacuumParticipant to return a mozIStorageAsyncConnection and
allow specifying whether incremental vacuum should be enabled.
Change vacuumManager notification from heavy-io-task to vacuum-begin and vacuum-end
since the original proposal of notifying heavy IO didn't take off.
Cleanup test_vacuum to be able to use instances of the test VacuumParticipant,
that means we can remove the no more necessary registerESM hack.
Fix Places History as the only cpp consumer.
Differential Revision: https://phabricator.services.mozilla.com/D168298
Add asyncVacuum to mozIStorageAsyncConnection, that dispatches a runnable to
the helper thread, where it will execute a full or incremental vacuum, depending
on the connection auto_vacuum value.
It also supports vacuuming attached schemas.
asyncVacuum() supports changing both the page_size and auto_vacuum.
Change mozIStorageVacuumParticipant to return a mozIStorageAsyncConnection and
allow specifying whether incremental vacuum should be enabled.
Change vacuumManager notification from heavy-io-task to vacuum-begin and vacuum-end
since the original proposal of notifying heavy IO didn't take off.
Cleanup test_vacuum to be able to use instances of the test VacuumParticipant,
that means we can remove the no more necessary registerESM hack.
Fix Places History as the only cpp consumer.
Differential Revision: https://phabricator.services.mozilla.com/D168298
Some of the tests that fail (or only succeed) with SHIP are currently marked for
Fission. This makes them fail once we turn on SHIP without Fission.
Differential Revision: https://phabricator.services.mozilla.com/D169824
This is not perfect, but I figured getting most of this stood up will make it easier for
other folks to improve, and is a lot better than expecting people to figure most of this
out themselves. Some known issues:
- alphabetical method ordering isn't necessarily what we want here. I haven't invested
heavily in improving this. I think this can be a follow-up.
- no markdown or HTML support in sphinx-js so the formatting is... not good sometimes.
- types somehow get a bonus `()` chucked after them (so are listed as e.g. `String()`
rather than just `String`). Unclear what is causing this; it's happening in other
extant documentation, too, so I expect is a sphinx-js issue.
Differential Revision: https://phabricator.services.mozilla.com/D161650
This fixes ESLint issues raised by mozilla/valid-services-properties.
This also changes follow-on issues to use Services.appinfo rather than getService.
Differential Revision: https://phabricator.services.mozilla.com/D159461
This makes it easier to migrate some tests that use chrome manifest
registration. It lets us register JSMs as components in a similar way to how
we register them in static component manifests.
Differential Revision: https://phabricator.services.mozilla.com/D148181
This patch won't actually build, because a few bits of code are used
for both nsIFactory::createInstance and static components, and static
components are not fixed until the next patch.
The first place is nsLoadGroupConstructor, which uses an nsIFactory
macro to create a static component constructor. (This could be worked
around by expanding the macro to the state before this patch.)
The other issue is that nsAppShellConstructor is used in an nsIFactory
on OSX, but as a static component on all other platforms. This could
be worked around by wrapping nsAppShellConstructor in an adaptor that
passes in the extra null argument to nsAppShellConstructor.
Differential Revision: https://phabricator.services.mozilla.com/D146456
nsIFactory is binary compatible with Windows COM's IClassFactory,
but nothing seems to depend on it. This patch removes the test
for compatibility, TestCOM, and removes the lockFactory
method that isn't otherwise needed.
Differential Revision: https://phabricator.services.mozilla.com/D146386
See the comment in the file explaining it. For a case of logging 100k numbers,
this dropped the time per number from 15 microseconds to 9 with the console
closed, and 55 microseconds to 38 with the console open. I think we could shave
off more with a native approach, but I don't know that it's worth it and it's
much more likely for that to introduce bugs.
Differential Revision: https://phabricator.services.mozilla.com/D143782
Here the Services.scriptloader.loadSubScript is kept as is, given the
sinon-7.2.7.js is vendored script and making it JSM-compatible requires extra
step during re-vendor.
The target object is replaced from `this` to separate object, so that it
keeps working after ESM-ification.
Differential Revision: https://phabricator.services.mozilla.com/D144081