[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