NEW315416
[regression] Storage::traverse(const String& type, const String& partition, ...) is broken
https://bugs.webkit.org/show_bug.cgi?id=315416
Summary [regression] Storage::traverse(const String& type, const String& partition, ....
Frédéric Wang Nélar
Reported 2026-05-23 01:26:04 PDT
Created attachment 479784 [details] Patch I was playing with some patches for bug 295249 and noticed this function is not working as expected. This seems to be a regression from bug 203215 (probably Clear-Site-Data: "cache" is now broken too but I haven't checked). Basically, https://github.com/WebKit/WebKit/pull/9665 introduced a traverseWithinRootPath() that takes a rootPath, which can be either a the root directory for Records, or a subfolder corresponding to a cache partition. However, it calls recordsPathIsolatedCopy() traverseRecordsFiles which still assumes rootPath is the root directory for Records and browses the list of partition subfolders: https://searchfox.org/wubkat/rev/d221d71a6a560cb45bb3e9b23e526b6bcfa9e4b3/Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp#355 Note that traverseWithinRootPath() is the only caller passing a rootPath that can be different from root directory for Records: https://searchfox.org/wubkat/search?q=symbol:_ZN6WebKit12NetworkCacheL20traverseRecordsFilesERKN3WTF6StringES4_RKNS1_8FunctionIFvS4_S4_S4_bS4_EEE&redirect=false Attached is a quick patch I made that seems to work, but I haven't tested extensively.
Attachments
Patch (7.53 KB, patch)
2026-05-23 01:26 PDT, Frédéric Wang Nélar
no flags
Note You need to log in before you can comment on or make changes to this bug.