Implement JS to Rust bridge for new chrome.storage.sync API implementation.
Categories
(WebExtensions :: Storage, enhancement, P1)
Tracking
(firefox78 fixed)
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: markh, Assigned: markh)
References
(Blocks 2 open bugs)
Details
(Whiteboard: SACI)
Attachments
(1 file, 3 obsolete files)
(deleted),
text/x-phabricator-request
|
Details |
We are replacing the kinto based chrome.storage.sync
API with a rust-backed one that syncs to the existing sync infrastructure - see this JIRA epic (or whatever it is!) for more.
While we need a better bugzilla bug tree for this effort, this bug exists so there's a place to hang my WIP off. Lina is doing something similar, but for sync itself, in bug 1596322 - one of these bugs will probably end up depending on the other, but that's not clear yet.
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
Depends on D67273
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 3•5 years ago
|
||
Updated•5 years ago
|
Assignee | ||
Comment 4•5 years ago
|
||
Depends on D67436
Comment 5•5 years ago
|
||
I think the order of Bugzilla dependencies here could be something like:
- Land Golden Gate (the bridged Sync engine bindings) in bug 1596322 first.
- Vendor a-s
sync15_traits
into m-c, bug 1626125. - Move
BridgedEngine
intosync15_traits
(bug 1626128), letting us implementBridgedEngine
s in a-s. - Vendor rusqlite (bug 1626323), which we need for our Rust component.
- Vendor our
storage.sync
Rust component, bug 1626506. - Put all the pieces together: implement an XPCOM interface for sync + storage that calls into our Rust component (this bug!)
Does that sound about right, Mark? Like you said in the meeting, there are many ways to split this up.
Assignee | ||
Comment 6•5 years ago
|
||
(In reply to :Lina Cambridge from comment #5)
Does that sound about right, Mark?
Sounds great! I opened a new bug for vendoring webext-storage and moved the dependencies around a little to try and avoid transitive ones, so I think things are in fairly good shape.
Comment 7•5 years ago
|
||
Awesome, thanks! Updated the comment to reflect that. 😁
Comment 8•5 years ago
|
||
Snagging this from Mark to help bring it over the line! 😄
Comment 9•5 years ago
|
||
Comment on attachment 9135313 [details]
Bug 1623245 (or more likely its own bug?) - Move a sync-specific test from test_ext_storage.js to test_ext_storage_sync.js
Revision D67973 was moved to bug 1633670. Setting attachment 9135313 [details] to obsolete.
Assignee | ||
Comment 10•5 years ago
|
||
I created a few other bugs to reduce the scope of this to landing the core storage implementation (ie, without syncing) and disabled via a preference. With the bar that little bit lower (ie, because it's impossible for it to break anything unless they flip that pref), I think it's ready to review in that context. :luca, I'm flagging you, but welcome reviews from anyone.
There's a try at https://treeherder.mozilla.org/#/jobs?repo=try&revision=3b83a85449a576687d8400275c158bdb28f1d8f0
Updated•5 years ago
|
Comment 11•5 years ago
|
||
Comment on attachment 9135314 [details]
Bug 1623245 (part ?) - Migration of old data into the new world.
Revision D67974 was moved to bug 1634614. Setting attachment 9135314 [details] to obsolete.
Updated•4 years ago
|
Comment 12•4 years ago
|
||
Comment 13•4 years ago
|
||
bugherder |
Description
•