LSNG: Parent process should store values in UTF8
Categories
(Core :: Storage: localStorage & sessionStorage, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: janv, Assigned: janv)
References
(Blocks 1 open bug)
Details
Attachments
(1 file, 1 obsolete file)
(deleted),
text/x-phabricator-request
|
Details |
I found out that we can reduce memory footprint by storing values in UTF8 in the parent. Sqlite internally uses UTF8 and transparently converts strings when we load/store values. We can move this conversion to content processes and save memory at the same time.
Memory footprint will be reduced on the child side too, since snapshots store all changes in an array which is then sent to the parent. Entries of the array can use UTF8 too.
This change should mitigate bug 1508740 and bug 1534222.
Compression will come later, we need to switch to nsCString first.
Assignee | ||
Comment 1•6 years ago
|
||
This will require a major version bump since we need to have information about original UTF16 length for quota usage tracking. If we let older Firefox to use the same database, it wouldn't update the new column. Latest Firefox would then use incorrect value length.
Updated•6 years ago
|
Assignee | ||
Comment 2•6 years ago
|
||
I have a patch for this, will send it soon.
Assignee | ||
Comment 3•6 years ago
|
||
Assignee | ||
Comment 4•6 years ago
|
||
Assignee | ||
Comment 5•6 years ago
|
||
Updated•6 years ago
|
Comment 7•6 years ago
|
||
bugherder |
Comment 8•6 years ago
|
||
Backed out for causing bug 1549362.
Comment 10•6 years ago
|
||
bugherder |
Description
•