FS: SyncAccessHandle should do all IO off the worker thread
Categories
(Core :: DOM: File, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox110 | --- | fixed |
People
(Reporter: janv, Assigned: janv)
References
Details
Attachments
(15 files, 1 obsolete file)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Bug 1789590 is going to use a sync IPC message for proxying QuotaObject::MaybeUpdateSize
to the parent process (the sync IPC will eventually get eliminated in future). Doing sync IPC on the main thread or on the PBackground thread or a DOM worker thread is not desired so we need to move all IO off the worked thread. We already do reads and writes off the worker thread, but there are other methods which do IO directly on the worker thread, including the close operation.
The close operation is a bit tricky, because if we move the IO for it off the worker thread, close()
can't be sync anymore and we need to prevent worker shutdown until close is actually finished using StrongWorkerRef
.
Assignee | ||
Comment 1•1 year ago
|
||
Assignee | ||
Comment 2•1 year ago
|
||
Depends on D163559
Assignee | ||
Comment 3•1 year ago
|
||
Depends on D163562
Assignee | ||
Comment 4•1 year ago
|
||
Depends on D163563
Assignee | ||
Comment 5•1 year ago
|
||
Depends on D163564
Assignee | ||
Comment 6•1 year ago
|
||
Depends on D163559
Assignee | ||
Comment 7•1 year ago
|
||
Depends on D163565
Assignee | ||
Comment 8•1 year ago
|
||
Depends on D163842
Assignee | ||
Comment 9•1 year ago
|
||
Depends on D163937
Assignee | ||
Comment 10•1 year ago
|
||
Depends on D163938
Assignee | ||
Comment 11•1 year ago
|
||
Depends on D163939
Assignee | ||
Comment 12•1 year ago
|
||
Depends on D163940
Assignee | ||
Comment 13•1 year ago
|
||
This is needed to prevent build errors when AsyncCopy is called inside of a
lambda function.
Depends on D163941
Assignee | ||
Comment 14•1 year ago
|
||
Depends on D163942
Assignee | ||
Comment 15•1 year ago
|
||
Depends on D163943
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Assignee | ||
Comment 16•1 year ago
|
||
Depends on D163563
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Assignee | ||
Comment 17•1 year ago
|
||
Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
Comment 18•1 year ago
|
||
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c8c20bcccd47 Switch from ordinary bool errors to nsresult errors in code for handling sync loops; r=dom-worker-reviewers,smaug
Comment 19•1 year ago
|
||
bugherder |
Comment 20•1 year ago
|
||
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6499b9cc1cfc GetSerialEventTarget should return the nested event target when a sync loop is running; r=asuth
Comment 21•1 year ago
|
||
Backed out for causing worker related failures.
- Backout link
- Push with failures
- Failure Log
- Failure line: TEST-UNEXPECTED-TIMEOUT | /xhr/xmlhttprequest-timeout-worker-synconworker.html?timeout hit before load | expected OK
Updated•1 year ago
|
Comment 22•1 year ago
|
||
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d3b1d6fc7b15 GetCurrentSerialEventTarget should return the nested event target when a sync loop is running; r=asuth
Comment 23•1 year ago
|
||
bugherder |
Assignee | ||
Updated•1 year ago
|
Comment 24•1 year ago
|
||
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1486ec3ed952 Add a fallible way to create FileSystemSyncAccessHandle objects; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/e34378476209 Prevent worker shutdown until FileSystemSyncAccessHandles are closed; r=dom-storage-reviewers,jesup https://hg.mozilla.org/integration/autoland/rev/a784ec790ea5 Expose the sync close operation using a dedicated method; r=smaug https://hg.mozilla.org/integration/autoland/rev/0ba70d490377 Don't call FileSystemSyncAccessHandle::Close when the object is already closed; r=dom-storage-reviewers,jesup https://hg.mozilla.org/integration/autoland/rev/da468b3c44d0 Prepare a way for using other FileSystemSyncAccessHandle states besides the open/closed state; r=dom-storage-reviewers,jesup https://hg.mozilla.org/integration/autoland/rev/4cec2499b6e9 Change FileSystemSyncAccessHandle::Close to be async; r=dom-storage-reviewers,jesup https://hg.mozilla.org/integration/autoland/rev/e7809a501f21 Create a task queue on top of the STS for each FileSystemSyncAccessHandle; r=dom-storage-reviewers,jesup https://hg.mozilla.org/integration/autoland/rev/08f90593777f Add a helper class for automatic proxy releasing of objects; r=dom-storage-reviewers,jesup https://hg.mozilla.org/integration/autoland/rev/8dbe876aeb90 Read, write and close streams on the task queue; r=dom-storage-reviewers,jesup https://hg.mozilla.org/integration/autoland/rev/b0354e926ca9 Truncate, GetSize and Flush on the task queue; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/2165493fffb7 Change the complete callback of AsyncCopy to MoveOnlyFunction; r=dom-storage-reviewers,jesup https://hg.mozilla.org/integration/autoland/rev/29757b4ea091 Use mStream in ReadOrWrite only on the task queue; r=dom-storage-reviewers,jari https://hg.mozilla.org/integration/autoland/rev/020dd83e31e9 Deserialize streams only on the task queue; r=dom-storage-reviewers,jesup
Comment 25•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/1486ec3ed952
https://hg.mozilla.org/mozilla-central/rev/e34378476209
https://hg.mozilla.org/mozilla-central/rev/a784ec790ea5
https://hg.mozilla.org/mozilla-central/rev/0ba70d490377
https://hg.mozilla.org/mozilla-central/rev/da468b3c44d0
https://hg.mozilla.org/mozilla-central/rev/4cec2499b6e9
https://hg.mozilla.org/mozilla-central/rev/e7809a501f21
https://hg.mozilla.org/mozilla-central/rev/08f90593777f
https://hg.mozilla.org/mozilla-central/rev/8dbe876aeb90
https://hg.mozilla.org/mozilla-central/rev/b0354e926ca9
https://hg.mozilla.org/mozilla-central/rev/2165493fffb7
https://hg.mozilla.org/mozilla-central/rev/29757b4ea091
https://hg.mozilla.org/mozilla-central/rev/020dd83e31e9
Description
•