Hi, When are you planning to ship? Joe Medley | Technical Writer, Chrome DevRel | jmed...@google.com | 816-678-7195 *If an API's not documented it doesn't exist.*
On Fri, Jan 7, 2022 at 1:17 PM Colm O Flynn <colm.ofl...@gmail.com> wrote: > Quick question in relation to this. > > Is there any debug logging one can enable if one thinks that the browser > is re-claiming files deleted from the temporary file system? > i.e. Where the browser would log that is deleting file x because storage > limit has been hit? > > Thanks in advance > > > > On Thursday, August 5, 2021 at 11:18:30 PM UTC+1 Marijn Kruisselbrink > wrote: > >> On Thu, Aug 5, 2021 at 2:41 PM Alex Russell <sligh...@chromium.org> >> wrote: >> >>> Do we have stats on potential storage pressure evictions that would be >>> changed as a result of this change (as that appears to be the only place >>> behavior differs)? And is there any UI that we display (e.g. in >>> cache/storage clearing) that will be affected? >>> >> Good questions. No, I don't think we have stats that would tell us >> potential changes to storage pressure evictions as a result of this change. >> Data stored in the persistent file system would indeed go from never being >> evicted today to being evicted with all other data an origin stores. Having >> said that, in more than 99.9% of the cases where we evict data, that data >> has been last accessed years ago. >> >> As far as affected UI, the current UI isn't very good in displaying this >> legacy persistent storage. I don't expect any of the storage management UI >> to change, if anything getting rid of persistent quota will mean less >> chance for bugs where we might inadvertently not count or include >> persistent storage when displaying information about a site. The main thing >> that will change UI wise is that there will no longer be a "foo.com >> wants to permanently store data on your device" permission prompt that >> accompanied usage of persistent quota. >> >> >>> On Thursday, July 29, 2021 at 4:13:57 PM UTC-7 Chris Harrelson wrote: >>> >> LGTM2 >>>> >>>> On Wed, Jul 28, 2021 at 9:48 AM Yoav Weiss <yoav...@chromium.org> >>>> wrote: >>>> >>> Thanks for clarifying! This seems like a low risk indeed. >>>>> >>>>> *LGTM1* to deprecate and remove (while keeping track of related >>>>> issue, just in case) >>>>> >>>>> On Wed, Jul 28, 2021 at 6:41 PM Marijn Kruisselbrink < >>>>> m...@chromium.org> wrote: >>>>> >>>> To elaborate a bit more on the potential for breakage, I believe the >>>>>> only way a website could be truly broken from this change is if it >>>>>> somehow >>>>>> relies on temporary and persistent quota being separate buckets. Not sure >>>>>> what kind of logic they would have to employ to actually be broken by >>>>>> that >>>>>> no longer being the case though. As such my expectation is that it is >>>>>> extremely unlikely that any site will be broken by this. Certainly none >>>>>> of >>>>>> the sites in httparchive I looked at. >>>>>> >>>>> On Mon, Jul 26, 2021 at 1:25 PM Marijn Kruisselbrink < >>>>>> m...@chromium.org> wrote: >>>>>> >>>>> On Mon, Jul 26, 2021 at 2:26 AM Yoav Weiss <yoav...@chromium.org> >>>>>>> wrote: >>>>>>> >>>>>>>> Since the 0.4% usage numbers are suspected to be a very loose >>>>>>>> upper-bound, I wonder what's the best strategy here. >>>>>>>> Is there a way to use-count cases where storage quota would run out >>>>>>>> as temporary but not as persistent? >>>>>>>> >>>>>>> Good question. I think today we actually generally allow websites to >>>>>>> store much more data in the temporary quota bucket than in the >>>>>>> persistent >>>>>>> quota bucket. The latter is capped at 10GB, while the former in our >>>>>>> histograms is more than 10GB 97% of the time on desktop, and even on >>>>>>> mobile >>>>>>> is larger than that 80% of the time (and actual usage doesn't tend to >>>>>>> get >>>>>>> anywhere remotely near these amounts in the vast majority of cases). So >>>>>>> even if websites that are using the persistent file system are on >>>>>>> average >>>>>>> using a lot more data than other websites, in the majority of cases that >>>>>>> should keep working just the same way. >>>>>>> >>>>>>> >>>>>>>> If not, are you planning to roll this out with a kill-switch while >>>>>>>> monitoring filed issues for breakage? >>>>>>>> >>>>>>> The described approach was intentionally picked to minimize the risk >>>>>>> of breakage, as such I'm fairly confident that just rolling out the >>>>>>> change >>>>>>> directly and relying on dev & beta coverage for issues should be safe >>>>>>> enough. Having to support persistent quota for longer will make some >>>>>>> other >>>>>>> ongoing projects/refactoring in the area more challenging, so the >>>>>>> sooner we >>>>>>> could get rid of the code the better. But if you feel the risk might be >>>>>>> too >>>>>>> high we certainly could roll this out with a kill-switch, we'd just >>>>>>> prefer >>>>>>> not to. >>>>>>> >>>>>> On Fri, Jul 23, 2021 at 6:21 PM Marijn Kruisselbrink < >>>>>>>> m...@chromium.org> wrote: >>>>>>>> >>>>>>> On Thu, Jul 22, 2021 at 11:52 PM Mike West <mk...@chromium.org> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hey folks! >>>>>>>>>> >>>>>>>>>> I'm quite supportive of deprecating the entire >>>>>>>>>> `webkitRequestFileSystem` API, and this seems like a reasonable >>>>>>>>>> first step. >>>>>>>>>> I appreciate the data you've gathered thus far through HTTP Archive, >>>>>>>>>> and >>>>>>>>>> your analysis matches my suppositions: incognito detection drove >>>>>>>>>> much of >>>>>>>>>> the usage, and since that abuse doesn't even work anymore >>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/detail?id=1017120>, >>>>>>>>>> the API serves little purpose. >>>>>>>>>> >>>>>>>>>> That said, 0.4% is a lot of percent. Is there a migration story >>>>>>>>>> for folks who were using it in good faith? You pointed to one or two >>>>>>>>>> sites >>>>>>>>>> in your analysis that seemed to be doing so: would we just wipe >>>>>>>>>> user's >>>>>>>>>> previously-persistent data, or would it be transparently switched to >>>>>>>>>> temporary storage? >>>>>>>>>> >>>>>>>>> >>>>>>>>> It perhaps wasn't entirely clear from what we wrote (and reading >>>>>>>>> the explainer/design doc again, I agree it is sort of unclear), but >>>>>>>>> what >>>>>>>>> we're proposing won't cause any API call that previously worked to no >>>>>>>>> longer do anything. We will still (for now) support >>>>>>>>> `webkitRequestFileSystem`, both with PERSISTENT and TEMPORARY >>>>>>>>> options, and >>>>>>>>> both those will still give you separate file systems. I.e. sites using >>>>>>>>> either of both of these will keep working. What will change is the >>>>>>>>> quota >>>>>>>>> treatment of the PERSISTENT file system. I.e. we will start counting >>>>>>>>> usage >>>>>>>>> of the persistent file system against the same quota as all other >>>>>>>>> storage >>>>>>>>> APIs. Concretely for websites that means that >>>>>>>>> `navigator.webkitPersistentStorage` will alias >>>>>>>>> `navigator.webkitTemporaryStorage`, and similarly the methods on >>>>>>>>> `window.webkitStorageInfo` will start ignoring the "type" parameter >>>>>>>>> (as >>>>>>>>> long as it is one of TEMPORARY or PERSISTENT). >>>>>>>>> >>>>>>>>> With this, the expectation is that the number of websites that >>>>>>>>> would actually be broken by this should be much much less than 0.4%. >>>>>>>>> It's >>>>>>>>> hard to put an exact number on it, since we're not currently >>>>>>>>> proposing to >>>>>>>>> make any API not work anymore, rather we're slightly changing the >>>>>>>>> behavior >>>>>>>>> of some of the legacy methods. A hypothetical website that somehow >>>>>>>>> relies >>>>>>>>> on temporary and persistent quota being separate could be broken by >>>>>>>>> this, >>>>>>>>> although I'm not sure how such reliance would have to work to actually >>>>>>>>> cause issues. >>>>>>>>> >>>>>>>>> We did consider more "aggressive" breakage of PERSISTENT, for >>>>>>>>> example by making it an alias for TEMPORARY when passed to >>>>>>>>> `webkitRequestFileSystem`. But as you point out, that would then >>>>>>>>> require >>>>>>>>> some kind of migration story, and would increase the risk of breakage >>>>>>>>> of >>>>>>>>> otherwise well-intentioned websites, without having significant extra >>>>>>>>> benefits. I.e. merely changing how PERSISTENT is treated for quota >>>>>>>>> purposes >>>>>>>>> gets us all the same benefits for reducing code complexity and >>>>>>>>> eliminating >>>>>>>>> confusing UI. >>>>>>>>> >>>>>>>>> Also, I note that third-party usage of PERSISTENT is quite low, >>>>>>>>>> hovering around 0.0003% ( >>>>>>>>>> https://www.chromestatus.com/metrics/feature/timeline/popularity/3879). >>>>>>>>>> I wonder if there's an opportunity to simply break it in those >>>>>>>>>> contexts? >>>>>>>>>> Have you done any analysis on that subset of pages? >>>>>>>>>> >>>>>>>>> >>>>>>>>> Good question, I don't think we've looked into that yet. While >>>>>>>>> good for the web (in that we'd be getting rid of some portion of a >>>>>>>>> chrome-only API) doing so wouldn't help us much with implementation >>>>>>>>> complexity etc, so the benefits are fairly minimal. >>>>>>>>> >>>>>>>>> >>>>>>>>>> Also also, I'm also somewhat dismayed to note that TEMPORARY >>>>>>>>>> usage is at 10% of page views ( >>>>>>>>>> https://www.chromestatus.com/metrics/feature/timeline/popularity/2996). >>>>>>>>>> That's high! Can I safely assume that that's overwhelmingly incognito >>>>>>>>>> detection as well? If so, is there a path to removal? >>>>>>>>>> >>>>>>>>> >>>>>>>>> A large part of that probably is incognito detection, yes. However >>>>>>>>> there are a number of big websites/partners that are still relying on >>>>>>>>> webkitRequestFileSystem as well. Long term we definitely would like to >>>>>>>>> deprecate and remove the entire `webkitRequestFileSystem` API (and >>>>>>>>> the >>>>>>>>> various legacy quota APIs also involved in this intent), but >>>>>>>>> realistically >>>>>>>>> this is not something we expect to be able to make much headway on in >>>>>>>>> the >>>>>>>>> near future. On the deprecating storage APIs front we're first >>>>>>>>> focussing on >>>>>>>>> WebSQL, as we feel removing that has a much bigger impact on security >>>>>>>>> and >>>>>>>>> maintainability of the web. Getting rid of `webkitRequestFileSystem` >>>>>>>>> will >>>>>>>>> be nice to get to a more cross-browser interoperable web, but the vast >>>>>>>>> majority of the implementation is shared with other features, so the >>>>>>>>> additional maintenance burden cause by keeping it around a bit longer >>>>>>>>> is >>>>>>>>> fairly minimal. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> From a process perspective, I'm comfortable both with this not >>>>>>>>>> requiring signals from other vendors (as they've clearly expressed >>>>>>>>>> their >>>>>>>>>> opinion that the spec is dead >>>>>>>>>> <https://lists.w3.org/Archives/Public/public-webapps/2014AprJun/0010.html>), >>>>>>>>>> and the TAG's input is likewise unnecessary IMO. >>>>>>>>>> >>>>>>>>>> -mike >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, Jul 22, 2021 at 11:01 PM Chris Fredrickson < >>>>>>>>>> cfre...@chromium.org> wrote: >>>>>>>>>> >>>>>>>>> *Contact emails* >>>>>>>>>>> >>>>>>>>>>> cfre...@chromium.org, m...@chromium.org >>>>>>>>>>> >>>>>>>>>>> *Explainer* >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> https://docs.google.com/document/d/1Cm2Hv_-RMqQPqruGL2rUyiTRgqMyHMJbNyNvhLH6KWU/edit >>>>>>>>>>> >>>>>>>>>>> *Specification* >>>>>>>>>>> >>>>>>>>>>> None >>>>>>>>>>> >>>>>>>>>>> *Summary* >>>>>>>>>>> >>>>>>>>>>> We plan to deprecate and remove support of the >>>>>>>>>>> `window.PERSISTENT` quota type in `webkitRequestFileSystem`. >>>>>>>>>>> `webkitRequestFileSystem` will still accept a `type` parameter and >>>>>>>>>>> use of >>>>>>>>>>> the PERSISTENT and TEMPORARY types will create filesystems with >>>>>>>>>>> separate >>>>>>>>>>> roots, but the PERSISTENT type will no longer grant access to a >>>>>>>>>>> persistent >>>>>>>>>>> filesystem. >>>>>>>>>>> >>>>>>>>>>> We will also modify `navigator.webkitPersistentStorage` to be an >>>>>>>>>>> alias for `navigator.webkitTemporaryStorage`. >>>>>>>>>>> >>>>>>>>>>> Finally, we will also begin ignoring the `storageType` parameter >>>>>>>>>>> (either `window.PERSISTENT` or `window.TEMPORARY`) in methods of the >>>>>>>>>>> `webkitStorageInfo` API (which is deprecated). >>>>>>>>>>> >>>>>>>>>>> *Blink component* >>>>>>>>>>> >>>>>>>>>>> Blink>Storage >>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EStorage> >>>>>>>>>>> >>>>>>>>>>> *Motivation* >>>>>>>>>>> >>>>>>>>>>> Support for the PERSISTENT quota type contributes some amount of >>>>>>>>>>> complexity to the quota system, but `webkitRequestFileSystem` is >>>>>>>>>>> the only >>>>>>>>>>> consumer, with relatively low usage. Additionally, support for >>>>>>>>>>> persistent >>>>>>>>>>> quota will hinder work on storage partitioning, so it would be >>>>>>>>>>> helpful to >>>>>>>>>>> simplify the quota system prior to partitioning storage. >>>>>>>>>>> >>>>>>>>>>> *Initial public proposal* >>>>>>>>>>> >>>>>>>>>>> None >>>>>>>>>>> >>>>>>>>>>> *TAG review* >>>>>>>>>>> >>>>>>>>>>> None >>>>>>>>>>> >>>>>>>>>>> *TAG review status* >>>>>>>>>>> >>>>>>>>>>> Not applicable >>>>>>>>>>> >>>>>>>>>>> *Risks* >>>>>>>>>>> >>>>>>>>>>> Because we plan to just change the “lifetime” of the persistent >>>>>>>>>>> filesystem (rather than, e.g., merging it with the temporary >>>>>>>>>>> filesystem), >>>>>>>>>>> risks are fairly minimal. Usage of the PERSISTENT type with >>>>>>>>>>> `webkitRequestFileSystem` is low, about 0.4% of pageloads >>>>>>>>>>> <https://www.chromestatus.com/metrics/feature/timeline/popularity/2997> >>>>>>>>>>> . >>>>>>>>>>> >>>>>>>>>>> Regarding making `navigator.webkitPersistentStorage` an alias >>>>>>>>>>> for `navigator.webkitTemporaryStorage`, we believe this presents >>>>>>>>>>> the least >>>>>>>>>>> risk, since this way the quota for the `window.PERSISTENT` >>>>>>>>>>> filesystem will >>>>>>>>>>> still be accurately reported to sites that query it. >>>>>>>>>>> >>>>>>>>>>> Regarding ignoring `storageType`: since persistent quota will no >>>>>>>>>>> longer exist, our choices are to ignore the storage type >>>>>>>>>>> completely, or >>>>>>>>>>> throw an exception if kPersistent is used. The former presents the >>>>>>>>>>> least >>>>>>>>>>> risk of breakage. >>>>>>>>>>> >>>>>>>>>>> *Interoperability and Compatibility* >>>>>>>>>>> >>>>>>>>>>> None. No other browser supports the APIs affected here. >>>>>>>>>>> >>>>>>>>>>> Gecko: No signal >>>>>>>>>>> >>>>>>>>>>> WebKit: No signal >>>>>>>>>>> >>>>>>>>>>> Web developers: No signals >>>>>>>>>>> >>>>>>>>>>> *Is this feature fully tested by web-platform-tests >>>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>?* >>>>>>>>>>> >>>>>>>>>>> No >>>>>>>>>>> >>>>>>>>>>> *Flag name* >>>>>>>>>>> >>>>>>>>>>> None >>>>>>>>>>> >>>>>>>>>>> *Link to entry on the Chrome Platform Status* >>>>>>>>>>> >>>>>>>>>>> https://chromestatus.com/feature/5176235376246784 >>>>>>>>>>> >>>>>>>>>>> This intent message was generated by Chrome Platform Status >>>>>>>>>>> <https://www.chromestatus.com/>. >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>> Google Groups "blink-dev" group. >>>>>>>>>>> >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>>> send an email to blink-dev+...@chromium.org. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c415cd1e-fbba-4cb6-9c83-62e7d608e04an%40chromium.org >>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c415cd1e-fbba-4cb6-9c83-62e7d608e04an%40chromium.org?utm_medium=email&utm_source=footer> >>>>>>>>>>> . >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "blink-dev" group. >>>>>>>>>> >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to blink-dev+...@chromium.org. >>>>>>>>> >>>>>>>>> >>>>>>>>>> To view this discussion on the web visit >>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKXHy%3Dd_r83Lf4NDokigV%2BKCOs98b_EeJ9NcWASj1eVOD_4Mqg%40mail.gmail.com >>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKXHy%3Dd_r83Lf4NDokigV%2BKCOs98b_EeJ9NcWASj1eVOD_4Mqg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>>> . >>>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "blink-dev" group. >>>>>>>>> >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to blink-dev+...@chromium.org. >>>>>>>> >>>>>>>> >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2BOSsVa1KT2sc4eSJNvG9hc0LSHNc1YNJhgi7DwnqSHjZ7tvCQ%40mail.gmail.com >>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2BOSsVa1KT2sc4eSJNvG9hc0LSHNc1YNJhgi7DwnqSHjZ7tvCQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "blink-dev" group. >>>>> >>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to blink-dev+...@chromium.org. >>>>> >>>> To view this discussion on the web visit >>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVjqW2hFpzhTzwj05P7AmvOKN%3DPFJq3pz5DwDSoqjOucw%40mail.gmail.com >>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVjqW2hFpzhTzwj05P7AmvOKN%3DPFJq3pz5DwDSoqjOucw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to blink-dev+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/80b73287-a86b-4f15-93dd-1b2740726a3fn%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/80b73287-a86b-4f15-93dd-1b2740726a3fn%40chromium.org?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJUhtG9hSPD23U1n8m4JGBXvBLqoObu70Tf_X4ZJhRvuzWb%2BZA%40mail.gmail.com.