зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1844619
- Update assert to account for OPFS temporary files. r=dom-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D188461
This commit is contained in:
Родитель
c161434a26
Коммит
6955346ac7
|
@ -806,10 +806,9 @@ Result<bool, QMResult> FileSystemDatabaseManagerVersion001::RemoveDirectory(
|
|||
QM_TRY_UNWRAP(DebugOnly<Usage> removedUsage,
|
||||
mFileManager->RemoveFiles(descendants, failedRemovals));
|
||||
|
||||
// We only check the most common case. This can fail spuriously if an external
|
||||
// application writes to the file, or OS reports zero size due to corruption.
|
||||
// Usage is for the current main file but we remove temporary files too.
|
||||
MOZ_ASSERT_IF(failedRemovals.IsEmpty() && (0 == mFilesOfUnknownUsage),
|
||||
usage == removedUsage);
|
||||
usage <= removedUsage);
|
||||
|
||||
TryRemoveDuringIdleMaintenance(failedRemovals);
|
||||
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<script>
|
||||
window.addEventListener('load', async () => {
|
||||
await navigator.serviceWorker.register('sw1844619.js?1619678955', {})
|
||||
await navigator.serviceWorker.register('sw1844619.js?4246054133', {})
|
||||
})
|
||||
</script>
|
||||
</head>
|
||||
</html>
|
|
@ -6,3 +6,5 @@ load 1800470.html
|
|||
load 1809759.html
|
||||
load 1816710.html
|
||||
load 1841702.html
|
||||
HTTP load 1844619.html
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
async function timeout (cmd) {
|
||||
const timer = new Promise((resolve, reject) => {
|
||||
const id = setTimeout(() => {
|
||||
clearTimeout(id)
|
||||
reject(new Error('Promise timed out!'))
|
||||
}, 750)
|
||||
})
|
||||
return Promise.race([cmd, timer])
|
||||
}
|
||||
|
||||
(async () => {
|
||||
const root = await navigator.storage.getDirectory()
|
||||
const blob = new Blob(['A'])
|
||||
const sub = await root.getDirectoryHandle('a', { 'create': true })
|
||||
const file = await root.getFileHandle('b', { 'create': true })
|
||||
await file.move(sub)
|
||||
const stream = await file.createWritable({})
|
||||
await stream.write(blob)
|
||||
const sub2 = await root.getDirectoryHandle('a', {})
|
||||
await sub2.move(root, 'X')
|
||||
})()
|
Загрузка…
Ссылка в новой задаче