LocalStorage is currently in limbo. It is accessed through separate PageGroup instances with their own StorageNamespace instances, but each PageGroup uses the same path for LocalStorage dbs. Thus, the in-memory versions of those dbs can be out of sync with the db if another PageGroup is writing to it. This has been brought up in https://bugs.webkit.org/show_bug.cgi?id=51878 LocalStorage should either be truly per-PageGroup, or global. Right now it is neither, so until this is fixed, the assertion in StorageTracker -- (PageGroup::numberOfPageGroups() == 1) -- is invalid.
I should have stated explicitly that "the in-memory versions of those dbs" are StorageAreas with their HashMap representations of the backing dbs.
Created attachment 85572 [details] Patch
Landed in r81002
We should still track actually clearing up the "am I per-pagegroup or not?" concept here.