[Webkit-unassigned] [Bug 239857] ITP data not deleted when cleared via WebsiteDataStore
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Jun 3 09:59:09 PDT 2022
https://bugs.webkit.org/show_bug.cgi?id=239857
--- Comment #26 from Kate Cheney <katherine_cheney at apple.com> ---
(In reply to Michael Catanzaro from comment #25)
> I wound up changing
> ResourceLoadStatisticsDatabaseStore::insertObservedDomain to crash if called
> after ResourceLoadStatisticsDatabaseStore::clear has been called. The
> backtrace looks like this:
>
Nice!
> #0 0x00007f177966d88e in WTFCrash () at
> /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/Assertions.cpp:322
> #1 0x00007f177b2d2ee5 in WTFCrashWithInfo ()
> at
> /home/mcatanzaro/Projects/WebKit/WebKitBuild/GNOME-gtk3/WTF/Headers/wtf/
> Assertions.h:748
> #2 WebKit::ResourceLoadStatisticsDatabaseStore::insertObservedDomain
> (this=this at entry=0x7f17312f8000,
> loadStatistics=...)
> at
> /home/mcatanzaro/Projects/WebKit/Source/WebKit/NetworkProcess/Classifier/
> ResourceLoadStatisticsDatabaseStore.cpp:705
> #3 0x00007f177b2d9b42 in
> WebKit::ResourceLoadStatisticsDatabaseStore::
> ensureResourceStatisticsForRegistrableDomain (
> this=0x7f17312f8000, domain=...)
> at
> /home/mcatanzaro/Projects/WebKit/Source/WebKit/NetworkProcess/Classifier/
> ResourceLoadStatisticsDatabaseStore.cpp:1978
> #4 0x00007f177b2dfe7a in
> WebKit::ResourceLoadStatisticsDatabaseStore::grandfatherDataForDomains (
> this=this at entry=0x7f17312f8000, domains=...)
> at
> /home/mcatanzaro/Projects/WebKit/Source/WebKit/NetworkProcess/Classifier/
> ResourceLoadStatisticsDatabaseStore.cpp:1368
> #5 0x00007f177b2e9228 in
> WebKit::ResourceLoadStatisticsDatabaseStore::grandfatherDataForDomains
> (domains=...,
> this=0x7f17312f8000)
> at
> /home/mcatanzaro/Projects/WebKit/Source/WebKit/NetworkProcess/Classifier/
> ResourceLoadStatisticsStore.cpp:240
> #6 operator() (__closure=0x7f17180e8cc8)
> at
> /home/mcatanzaro/Projects/WebKit/Source/WebKit/NetworkProcess/Classifier/
> ResourceLoadStatisticsStore.cpp:244
> #7
> WTF::Detail::CallableWrapper<WebKit::ResourceLoadStatisticsStore::
> grandfatherExistingWebsiteData(WTF::CompletionHandler<void()>&&)::<lambda()>
> mutable::<lambda(WTF::HashSet<WebCore::RegistrableDomain>&&)>
> mutable::<lambda()>, void>::call(void) (this=0x7f17180e8cc0)
> at
> /home/mcatanzaro/Projects/WebKit/WebKitBuild/GNOME-gtk3/WTF/Headers/wtf/
> Function.h:53
> #8 0x00007f177969430e in WTF::Function<void ()>::operator()() const
> (this=<synthetic pointer>)
> at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/Function.h:79
> #9 WTF::RunLoop::performWork (this=0x7f1772f99000) at
> /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/RunLoop.cpp:133
>
> It's coming from the lambdas in
> WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent. I don't
> know how exactly grandfathering is supposed to work, but it seems to be
> grandfathering the data that is supposed to be cleared.
It looks like we grandfather data in NetworkProcess::deleteWebsiteData if the specified website data types to delete do not contain all of ITP's monitored data types. I'm guessing that WEBKIT_WEBSITE_DATA_ITP is not translating to all the data types tracked in WebResourceLoadStatistics::monitoredDataTypes(). If there are things in that list that are port/platform specific we could add some flags, or adjust the types in webkit_website_data_manager_remove() to contain all ITP monitored types.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220603/3886acdf/attachment.htm>
More information about the webkit-unassigned
mailing list