Given the plan to deprecate this blink-only technology, it does seem silly
to do extra work to keep this one obscure case working. I agree though that
developer confusion is a potential concern. Perhaps an exception /
window.onerror explaining the reason for the failure to play media is
enough? +1 to having a deprecation plan we can point to for at least the
filesystem: URL, then perhaps this can just be the first step in that plan?

Rick

On Tue, Feb 1, 2022 at 12:17 PM Victor Costan <pwn...@chromium.org> wrote:

> Some background:
>
>    - The *filesystem:* URL scheme was introduced to the *File API:
>    Directories and System* specification
>    <https://dev.w3.org/2009/dap/file-system/file-dir-sys.html>, which I
>    generally refer to as *the old FileSystem API*. This API is only
>    implemented in Blink (maybe it was in the pre-fork WebKit?). To the best of
>    my knowledge, it was never shipped in Safari, Firefox, IE, or EdgeHTML.
>    - The main benefit (for developers) of *filesystem:* URLs over *blob:*
>    is their indefinite lifetime. Blob URLs only live as long as the frame that
>    created them. This property made them very attractive for serving
>    sub-resources stored locally, at a time when we didn't have Service 
> Workers.
>    - We intentionally left the *filesystem:* URL scheme out of the File
>    System Access API <https://wicg.github.io/file-system-access/>.
>    Service Workers have a clear model that works well for both top-level
>    navigation and sub-resources.
>
> We (the folks maintaining storage APIs in Chromium) would very much like
> to deprecate the entire old FileSystem API, beginning with the
> *filesystem:* URL scheme. We want to be cognizant of introducing too much
> stress on the ecosystem, though -- we just finished removing AppCache from
> Blink, and we're planning to focus on WebSQL next. Though, maybe you're
> saying that *filesystem:* URLs are worse, and we should tackle them first?
>
> I hope this helps!
>     Victor
>
>
>
>
>
> On Tue, Feb 1, 2022 at 1:32 AM Mike West <mk...@chromium.org> wrote:
>
>> I worry that removing `filesystem:` for media elements on Android, while
>> maintaining support for other platforms, will end up causing some developer
>> confusion without much value for the codebase as a whole (since we need to
>> maintain all the exciting bits and pieces of infrastructure). Are the
>> numbers you quoted for media elements on those other platforms, or all
>> element types? Perhaps we could remove support for media elements on all
>> platforms if there's substantial benefit to doing so.
>>
>> Honestly, I'd prefer that we outline a plan to fully remove `filesystem:`
>> if we're not going to support it going forward (+Josh and +Victor). It has
>> some pretty complicated effects on the security state of navigations, and
>> while we have a reasonable plan for PolicyContainer integration with
>> `blob:` URLs, we're still a ways away from doing the same for
>> `filesystem:`. Is there a path towards deprecating and dropping support on
>> other platforms? The large ChromeOS usage makes me somewhat suspicious that
>> this is wrapped up in one Google property or another... have y'all done
>> that analysis?
>>
>> -mike
>> On Wednesday, January 26, 2022 at 7:48:54 PM UTC+1 Brianna Goldstein
>> wrote:
>>
>>> Additionally to follow up on @Chris Harrelson <chris...@chromium.org>'s
>>> question on usage - Chrome OS usage is 1.38%, Mac OSX is at 0.12% and
>>> Windows is 0.05%. We propose to only remove support for Android here.
>>>
>>> On Tue, Jan 25, 2022 at 7:13 PM Chris Harrelson <chris...@chromium.org>
>>> wrote:
>>>
>>>> Hi, could you outline the use counter values for other platforms? Also,
>>>> is there something special about Android that leads you to want to disable
>>>> only there?
>>>>
>>>> On Tue, Jan 25, 2022 at 1:58 PM Brianna Goldstein <
>>>> brgoldst...@chromium.org> wrote:
>>>>
>>>>> Primary eng (and PM) emails
>>>>>
>>>>> brgoldst...@google.com, m...@chromium.com <m...@google.com>,
>>>>> jadekess...@chromium.com
>>>>>
>>>>> Explainer
>>>>>
>>>>> Storage partitioning explainer
>>>>> <https://github.com/wanderview/quota-storage-partitioning/blob/main/explainer.md#storage-apis>
>>>>>
>>>>> Summary
>>>>>
>>>>> We propose to remove support for loading media via filesystem:// URLs
>>>>> on Android.
>>>>>
>>>>>
>>>>> Motivation
>>>>>
>>>>> As part of our storage partitioning efforts, we will need to update
>>>>> Filesystem URLs to be partitioned by StorageKey rather than by Origin.
>>>>> Doing this will add complexity since the entire current codepath on 
>>>>> Android
>>>>> is not dependent on Blink where StorageKey currently lives. On Android 
>>>>> only
>>>>> 0.0000001% of URLs loaded by <audio> or <video> use the filesystem:// URL
>>>>> scheme and we consider this low enough usage to remove support, rather 
>>>>> than
>>>>> do the work of partitioning. Note that this removal is only for Android. 
>>>>> On
>>>>> other platforms there will be no effect and media playback of 
>>>>> filesystem://
>>>>> URLs will continue to work.
>>>>>
>>>>> Blink component
>>>>>
>>>>> Blink>Storage
>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EStorage>
>>>>>
>>>>> Initial public proposal
>>>>>
>>>>> None
>>>>>
>>>>> TAG review
>>>>>
>>>>> None
>>>>>
>>>>> TAG review status
>>>>>
>>>>> N/A
>>>>>
>>>>> Interoperability and Compatibility RiskInteroperability risk:
>>>>>
>>>>> The filesystem:// URL scheme was never widely adopted and is only
>>>>> implemented by Chrome. Therefore there should be no interoperability risks
>>>>> associated with this feature depreciation.
>>>>>
>>>>> Compatibility risk:
>>>>>
>>>>> This feature is very low usage as only 0.0000001% of URLs loaded by
>>>>> <audio> or <video> use the filesystem:// URL scheme. Therefore the 
>>>>> expected
>>>>> compatibility risk is very low.
>>>>>
>>>>> Alternative implementation suggestion for web developers
>>>>>
>>>>> Developers can continue to load media from other schemes (http, https,
>>>>> blob, file, etc.).
>>>>>
>>>>> Usage information from UMA
>>>>>
>>>>> Android Chrome (Browser App): 0.0000001%
>>>>>
>>>>> Android Webview: 0.0%
>>>>>
>>>>> Tracking Bug
>>>>>
>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1258029
>>>>>
>>>>> Entry on the feature dashboard
>>>>>
>>>>> https://chromestatus.com/feature/5632429577469952
>>>>>
>>>>> --
>>>>> 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/CALDP-vS2KA47PGLh3YkxqAr9z24nP1_u%2BtvY6eWzqSQgq987cQ%40mail.gmail.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALDP-vS2KA47PGLh3YkxqAr9z24nP1_u%2BtvY6eWzqSQgq987cQ%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/CAP_mGKrEhMzfwrzz1DqaCusAcErOiMA3G0X8ufE%3DNNdJtqWg_A%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAP_mGKrEhMzfwrzz1DqaCusAcErOiMA3G0X8ufE%3DNNdJtqWg_A%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/CAFUtAY9KMa0Kd_6bh%2BV4ft%2BhmtnDBnzBjQdmy-giKKLs-r1Hkw%40mail.gmail.com.

Reply via email to