Modern IDB: Website data store management
This is to support the browser feature of viewing which websites store data and removing all website data.
The "Deleting files" part of this will basically be existing WK2 code ported over to WebCore.
But we're doing one better over that - We'll also shut down currently open UniqueIDBDatabases.
This task is relatively straightforward.
Testing it is not.
Created attachment 278892 [details]
This is a WIP patch, not ready for review - I just want access to it from a different machine later.
It is functionally complete, if not without bugs. I'll find out more about those bugs as I work on the harder task - Testing.
In testing, it became apparently that I'll need a refactor first to be sure to get things right.
Filed https://bugs.webkit.org/show_bug.cgi?id=157757 for that
This got bigger, because a lot more bookkeeping and message passing became necessary.
Never mind - I'm going to have to start splitting into multiple patches to keep it sane.
Created attachment 279323 [details]
Yep, you moved the code. LGTM.
Do we need more reviewers because this touches the filesystem?
It looks like Mac-debug is asserting.
(In reply to comment #8)
> Yep, you moved the code. LGTM.
> Do we need more reviewers because this touches the filesystem?
I don't think so - it's literally a move of existing code
> It looks like Mac-debug is asserting.
I'll have to take a look in the AM.
Yikes, those tests were in terrible shape - Not only 1 or 2 IDB tests asserting, but lots of other failures.
Well, I'll try to dig in to the bot and get those crash logs (since they weren't packaged up in any report that I could find) and also try to repro locally (in the morning)
(In reply to comment #10)
> Yikes, those tests were in terrible shape - Not only 1 or 2 IDB tests
> asserting, but lots of other failures.
> Well, I'll try to dig in to the bot and get those crash logs (since they
> weren't packaged up in any report that I could find) and also try to repro
> locally (in the morning)
Was able to reproduce the DRT crash locally... once. But the crash log should be enough to help fix.
Actually, it's a mysterious hashing issue, not an automatic easy fix. Ugh.
Alexey has pointed out on IRC that this crash is already in the tree.
https://build.webkit.org/results/Apple%20El%20Capitan%20Release%20WK1%20(Tests)/r201160%20(6374)/storage/websql/database-lock-after-reload-crash-log.txt for example.
So it's unrelated to this patch.
So this patch can be reviewed as-is
I added some nice asserts in addition to what was reviewed here, while trying to explore the other asserts that EWS was seeing.