[Webkit-unassigned] [Bug 222248] New: Non-cookie website data not deleted after 7 days of browser use without user interaction

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Feb 21 07:05:06 PST 2021


https://bugs.webkit.org/show_bug.cgi?id=222248

            Bug ID: 222248
           Summary: Non-cookie website data not deleted after 7 days of
                    browser use without user interaction
           Product: WebKit
           Version: Safari 14
          Hardware: All
                OS: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit Misc.
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: antoine_bourlon at yrglm.co.jp
                CC: wilander at apple.com

ITP is supposed to delete non-cookie data of a website after 7 days of browser use without user interaction with the website, as described in https://bugs.webkit.org/show_bug.cgi?id=204779 and https://webkit.org/blog/10218/full-third-party-cookie-blocking-and-more/. However we couldn't reproduce this expected behavior in our real-life tests on iOS 14 and macOS Safari 14. Only cookies (set with document.cookie) are deleted, not LocalStorage.

Steps to Reproduce: 

1) Open a page with Safari from domain A that adds some data to LocalStorage. Tap somewhere on the page (to register a user interaction) and close the tab.

2) Open Safari every day for the next 7 days.

3) On day 8 open a page (different than step 1) from domain A that doesn't write to LocalStorage and check that data stored in step 1 is still there. Do not tap or input anything on the page.

4) On day 9 and 10 retry step 3 just in case :)

Additional Information:

After some debugging on a local build of WebKit with MiniBrowser, it seems to be related to the condition below in hasStatisticsExpired(). I don't understand why mostRecentUserInteractionTime is compared to m_leastRecentOperatingDate (30 operating days ago IIUC) instead of "7 operating days ago", even when hasStatisticsExpired() is called from hasHadUnexpiredRecentUserInteraction() (shouldRemoveAllButCookiesFor()):

>    if (m_operatingDatesSize >= operatingDatesWindowInDays) {
>        if (OperatingDate::fromWallTime(mostRecentUserInteractionTime) < m_leastRecentOperatingDate)
>            return true;
>    }

-- 
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/20210221/8fe563ac/attachment-0001.htm>


More information about the webkit-unassigned mailing list