mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1248550 - Part 7: Improve the test for idle maintenance to trigger interference between database maintenance and normal database operations; r=khuey
This commit is contained in:
parent
97b46b27da
commit
1095142f64
@ -35,6 +35,35 @@ function testSteps()
|
||||
let quotaManagerService = Cc["@mozilla.org/dom/quota-manager-service;1"].
|
||||
getService(Ci.nsIQuotaManagerService);
|
||||
|
||||
// Keep at least one database open.
|
||||
let req = indexedDB.open("foo-a", 1);
|
||||
req.onerror = errorHandler;
|
||||
req.onsuccess = grabEventAndContinueHandler;
|
||||
let event = yield undefined;
|
||||
|
||||
let dbA = event.target.result;
|
||||
|
||||
// Keep at least one factory operation alive by deleting a database that is
|
||||
// stil open.
|
||||
req = indexedDB.open("foo-b", 1);
|
||||
req.onerror = errorHandler;
|
||||
req.onsuccess = grabEventAndContinueHandler;
|
||||
event = yield undefined;
|
||||
|
||||
let dbB = event.target.result;
|
||||
|
||||
indexedDB.deleteDatabase("foo-b");
|
||||
|
||||
// Create a database which we will later try to open while maintenance is
|
||||
// performed.
|
||||
req = indexedDB.open("foo-c", 1);
|
||||
req.onerror = errorHandler;
|
||||
req.onsuccess = grabEventAndContinueHandler;
|
||||
event = yield undefined;
|
||||
|
||||
let dbC = event.target.result;
|
||||
dbC.close();
|
||||
|
||||
let dbCount = 0;
|
||||
|
||||
for (let persistence of ["persistent", "temporary", "default"]) {
|
||||
@ -104,6 +133,13 @@ function testSteps()
|
||||
let observer = quotaManagerService.QueryInterface(Ci.nsIObserver);
|
||||
observer.observe(null, "idle-daily", "");
|
||||
|
||||
info("Opening database while maintenance is performed");
|
||||
|
||||
req = indexedDB.open("foo-c", 1);
|
||||
req.onerror = errorHandler;
|
||||
req.onsuccess = grabEventAndContinueHandler;
|
||||
yield undefined;
|
||||
|
||||
info("Waiting for maintenance to start");
|
||||
|
||||
// This time is totally arbitrary. Most likely directory scanning will have
|
||||
|
Loading…
Reference in New Issue
Block a user