Граф коммитов

23 Коммитов

Автор SHA1 Сообщение Дата
Simon Giesecke 11949c7259 Bug 708901 - Migrate to nsTHashSet in dom/localstorage. r=dom-storage-reviewers,janv
Depends on D108598

Differential Revision: https://phabricator.services.mozilla.com/D108599
2021-03-23 10:36:34 +00:00
Simon Giesecke ad01a10a3b Bug 1634281 - Use nsTHashMap instead of nsDataHashtable. r=xpcom-reviewers,necko-reviewers,jgilbert,nika,valentin
Note that this patch only transforms the use of the nsDataHashtable type alias
to a directly equivalent use of nsTHashMap. It does not change the specification
of the hash key type to make use of the key class deduction that nsTHashMap
allows for in some cases. That can be done in a separate step, but requires more
attention.

Differential Revision: https://phabricator.services.mozilla.com/D106008
2021-03-10 10:47:47 +00:00
Simon Giesecke f70bfd33ed Bug 1626555 - Make `dom/localstorage` buildable outside of `unified-build` environment. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D94034
2020-10-21 13:17:18 +00:00
Eric Rahm e61be8e54e Bug 1617653 - Remove nsAutoPtr usage from localstorage, quota, storage, simpledb. r=dom-workers-and-storage-reviewers,sg
Differential Revision: https://phabricator.services.mozilla.com/D63913

--HG--
extra : moz-landing-system : lando
2020-02-25 23:14:57 +00:00
Eric Rahm 124379887c Bug 1617327 - Part 2: Remove nsAutoPtr usage from ipc, security, IDB. r=mccr8,janv
This removes `nsAutoPtr` usage from ipc/. security/ failed to build due to missing includes so I fixed that as well. IDB was using `ThreadLocal` from ipc which had a member changed to a `UniquePtr` so needed to be updated as well. localstorage was missing some includes.

Differential Revision: https://phabricator.services.mozilla.com/D63745

--HG--
extra : moz-landing-system : lando
2020-02-24 19:26:40 +00:00
Sylvestre Ledru c521758c5e Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D58175

--HG--
extra : moz-landing-system : lando
2020-01-09 21:50:11 +00:00
Botond Ballo 8b48782ea2 Bug 1605250 - Fix include-what-you-use errors in dom/localstorage. r=dom-workers-and-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D57899

--HG--
extra : moz-landing-system : lando
2019-12-21 01:13:29 +00:00
Jan Varga b5acd8a9aa Bug 1546723 - Part 4: Use a write optimizer in LSSnapshot; r=asuth
This patch adds a write optimizer to LSSnapshot. The optimizer is only used when
there are no observers for other content processes.

Differential Revision: https://phabricator.services.mozilla.com/D31199
2019-05-15 06:11:11 +02:00
Jan Varga 70f70b482a Bug 1546723 - Part 2: Make it more clear that checkpointing also notifies observers; r=asuth
This patch renames the Checkpoint IPC message to CheckpointAndNotify. Other structures used by checkpointing are renamed too. Datastore methods SetItem/RemoveItem/Clear no longer call NotifyObservers, it's now up to RecvCheckpointAndNotify to call it.

Differential Revision: https://phabricator.services.mozilla.com/D31197
2019-05-15 06:11:10 +02:00
Jan Varga d3494ff018 Bug 1547454 - LSNG: Create a new C++ class for local storage values; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D29138
2019-04-29 06:05:56 +02:00
Jan Varga d7c902c239 Bug 1542669 - LSNG: GetItem, SetItem, RemoveItem should pass the key when creating a new snapsot; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D29136
2019-04-09 06:18:29 +02:00
Ryan VanderMeulen 4f044a29d2 Backed out 8 changesets (bug 1513937, bug 1546310, bug 1548788, bug 1547688, bug 1547452, bug 1540777, bug 1542669, bug 1547454) for causing bug 1549362.
Backed out changeset 8dca7df29492 (bug 1548788)
Backed out changeset 688f361e8bb6 (bug 1547688)
Backed out changeset b5d8d57838a3 (bug 1540777)
Backed out changeset d1bd31177b14 (bug 1513937)
Backed out changeset df97dfbb526a (bug 1546310)
Backed out changeset ade08d6dc361 (bug 1547454)
Backed out changeset b622431054b7 (bug 1547452)
Backed out changeset ad73e5604411 (bug 1542669)
2019-05-06 09:02:54 -04:00
Jan Varga f482d3216d Bug 1547454 - LSNG: Create a new C++ class for local storage values; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D29138
2019-04-29 06:05:56 +02:00
Jan Varga 128af24b07 Bug 1542669 - LSNG: GetItem, SetItem, RemoveItem should pass the key when creating a new snapsot; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D29136
2019-04-09 06:18:29 +02:00
Ciure Andrei ec1fe36f87 Backed out changeset 97d88752079f (bug 1540401) for causing a nightly startup crash a=backout 2019-04-04 04:45:08 +03:00
Jan Varga 8838c839de Bug 1540401 - LSNG: Convert most of MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D25549
2019-04-01 01:18:10 +02:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Andrew Sutherland 6c6e230a77 Bug 1286798 - Part 53: Review code comments; r=janv,mrbkap,mccr8 2018-11-05 14:04:39 -05:00
Jan Varga 3177670987 Bug 1286798 - Part 42: Implement snapshot reusing; r=asuth
This improves performance by keeping snapshots around for some time if there are no changes done by other processes. If a snapshot is not destroyed immediately after getting into the stable state then there's a chance that it won't have to be synchronously created again when a new opeartion is requested.
2018-11-29 21:49:31 +01:00
Jan Varga 8d2b3b583d Bug 1286798 - Part 39: Reduce number of hash lookups; r=asuth 2018-11-29 21:49:20 +01:00
Jan Varga 5809f14bbd Bug 1286798 - Part 36: Allow snapshot initialization to a specific load state; r=asuth
Before this patch, it was only possible to initialize a snapshot to the Partial state or AllOrderedItems state. Now there's a third state AllOrderedKeys.
This improves performance by eliminating sync calls to parent process when we know nothing about a key in content process (in that case we have to use a sync call to the parent process to see if there's a value for it).
With this patch we always try to send all keys to content when a snapshot is being initialized. For this to work efficiently, we cache the size of all keys.
Having cached size of all keys also allows us to just iterate the mValues hashtable when the size of keys is bigger than snapshot prefill threshold (instead of iterating over the mKeys array and joining with mValues for each particular key).
There's some additional cleanup in snapshot info construction and Datastore::SetItem/RemoveItem/Clear methods.
2018-11-29 21:49:10 +01:00
Jan Varga d87888fe25 Bug 1286798 - Part 31: Support for lazy loading of items; r=asuth,mrbkap,mccr8
There's now an upper limit for snapshot prefilling. The value is configurable and is currently set to 4096 bytes.
Snapshots can operate in multiple modes depending on if all items have been loaded or all keys have been received. This should provide the best performance for each specific state.
This patch also adds support for creating explicit snapshots which can be used for testing.
2018-11-29 21:48:54 +01:00
Jan Varga c4f55013cf Bug 1286798 - Part 29: Implement implicit snapshotting of databases; r=asuth,mccr8
This improves performance a lot in cases when multiple operations are invoked by a single JS function (number of sync IPC calls is reduced to a minimum). It also improves correctness since changes are not visible to other content processes until a JS function finishes.
The patch implements core infrastructure, all items are sent to content when a snapshot is initialized and everything is fully working. However, sending of all items at once is not optimal for bigger databases. Support for lazy loading of items is implemented in a following patch.
2018-11-29 21:48:47 +01:00