Thanks for the update. A bit of a wait but sounds like we'll get there in
the end.


On Mon, 30 Jun 2025 at 20:04, Torne (Richard Coles) <to...@chromium.org>
wrote:

> On Mon, 30 Jun 2025 at 11:42, 'Ashley Gullen' via blink-dev <
> blink-dev@chromium.org> wrote:
>
>> Hi folks, apologies for raising an old thread, but it's not currently
>> clear what the status of File System Access is for Android WebView. Have
>> the necessary changes for WebChromeClient#onShowFileChooser() shipped?
>> We're asking Cordova to support this on Android. They already have an
>> onShowFileChooser() handler but it doesn't seem to work for File System
>> Access. In the issue there has been some confusion over what the status of
>> this is and what needs changing to support File System Access:
>> https://github.com/apache/cordova-android/issues/1776
>> Could someone from Google advise? Many thanks.
>>
>
> Supporting the File System Access API requires changes to the existing
> WebViewClient.onShowFileChooser callback: adding a read/write permission
> flag, and a mode to request opening a folder instead of a file. Existing
> apps are not expecting to receive these new calls and their code might
> handle them incorrectly (because they won't be aware of the new
> modes/flags), so the File System Access API is disabled by default.
>
> The new callback flags and behavior were intended to be part of Android 16
> (API36) and be enabled for apps which set their targetSdkVersion to 36 or
> later, but unfortunately this wasn't ready in time for the Android 16
> release. We are instead working on shipping the new APIs and behavior in
> the next major Android release in 2026.
>
> Best regards
>>
>> Ashley
>>
>>
>>
>>
>> On Tue, 29 Oct 2024 at 07:27, Joel Hockey <joelhoc...@chromium.org>
>> wrote:
>>
>>> Thanks Tom and Ashley, I've created:
>>>
>>> crbug.com/376097107 - Android FileSystemAccess mime filters are being
>>> ignored
>>> crbug.com/376097630 - Android FileSystemAccess opening folder with many
>>> files causes chrome to become unresponsive
>>> crbug.com/376097108 - Android FileSystemAccess save-as does not allow
>>> creating a new file, only selecting existing
>>> crbug.com/376097631 - Android FileSystemAccess save as project folder
>>> fails
>>>
>>> I don't think clank (chrome on android) currently has any code that does
>>> file-saveas, so the interface between chrome and the OS might not have all
>>> the required Intent options.  I'll take a look at that and the other issues.
>>>
>>> Peter, apps that use webview will need to implement
>>> WebChromeClient#onShowFileChooser() for the JS code
>>> window.showOpenFilePicker() / showDirectoryPicker() /
>>> showSaveFilePicker().  I am working on adding more options to
>>> WebChromeClient.FileChooserParams to make it clearer when each is being
>>> used.  The additional options will be available in a future (should be the
>>> next) API release.  For permissions, the assumption is that if / when the
>>> app makes files available to JS code via onShowFileChooser(), the files are
>>> considered to have edit permissions.  Any app that does not want to allow
>>> JS code to edit files should either not implement onShowFileChooser(), or
>>> should apply filtering.
>>>
>>> On Mon, Oct 28, 2024 at 10:57 PM Peter Beverloo <pe...@chromium.org>
>>> wrote:
>>>
>>>> Hi Joel, could you summarise how this has ended up working on WebView,
>>>> as there's neither permissions nor UI there? Will apps using WebView have
>>>> to adopt anything?
>>>>
>>>> Thanks,
>>>> Peter
>>>>
>>>>
>>>> On Mon, Oct 28, 2024 at 12:50 PM 'Ashley Gullen' via blink-dev <
>>>> blink-dev@chromium.org> wrote:
>>>>
>>>>> I'd be very happy to see the File System Access API ship on Android!
>>>>> However from my testing it doesn't look ready yet. Using our PWA 
>>>>> Construct (
>>>>> https://editor.construct.net) in Canary 132, create a new empty
>>>>> project and try saving it with Menu > Project > Save as, and:
>>>>>
>>>>>    - Choosing 'Save as single file' shows a range of apps (some
>>>>>    inappropriate including Camera) - choosing 'Files' then shows what 
>>>>> appears
>>>>>    to be a file picker. The aim here is to have a save-as operation and be
>>>>>    able to choose a new file - but there doesn't seem to be any obvious 
>>>>> way to
>>>>>    choose a new filename here, it looks like you can only overwrite 
>>>>> existing
>>>>>    files.
>>>>>    - Choosing 'Save as project folder' shows a folder picker right
>>>>>    away. If I go to Documents, create a new folder named TestProject, tap 
>>>>> 'Use
>>>>>    this folder', approve the permission prompt (saying 'Allow'), and then
>>>>>    approve a second permission prompt (this one saying 'Edit files'), it 
>>>>> then
>>>>>    shows an 'Unable to save project' error message. This appears to be 
>>>>> because
>>>>>    it throws 'InvalidStateError: An operation that depends on state 
>>>>> cached in
>>>>>    an interface object was made but the state had changed since it was 
>>>>> read
>>>>>    from disk.'
>>>>>
>>>>> These are basic use cases for the File System Access API in our PWA.
>>>>> Would be great if someone could take a look.
>>>>>
>>>>>
>>>>> On Mon, 28 Oct 2024 at 09:09, 'Thomas Steiner' via blink-dev <
>>>>> blink-dev@chromium.org> wrote:
>>>>>
>>>>>> Wow, that's fantastic news!
>>>>>>
>>>>>> I tried the feature on 132.0.6803.0 on Android VanillaIceCream with
>>>>>> this demo
>>>>>> <https://googlechromelabs.github.io/browser-fs-access/demo/> that
>>>>>> uses the main window, a same origin iframe, and a cross origin iframe 
>>>>>> (the
>>>>>> last one should not work).
>>>>>>
>>>>>>    - Opening a single file and multiple files works just fine. A
>>>>>>    slight user irritation was the camera and microphone permission, but 
>>>>>> it
>>>>>>    made sense once I saw the picker, which is a camera and the files 
>>>>>> icons.
>>>>>>    - File MIME type filters seem to be ignored. I filtered on images
>>>>>>    and texts, but could open a PDF.
>>>>>>    - Opening folders works just fine. You need to be careful to not
>>>>>>    open a too big folder. Attempting to open DCIM caused Canary to become
>>>>>>    unresponsive.
>>>>>>    - Saving seems to not work quite yet. While it did trigger the
>>>>>>    same picker with the files and the camera icons (the camera should 
>>>>>> probably
>>>>>>    not be there, it should just enter the files flow directly), there 
>>>>>> was in
>>>>>>    the end no obvious way for me to say "yes, save here", that is, some 
>>>>>> sort
>>>>>>    of file name dialog. Did I not understand what I needed to do?
>>>>>>
>>>>>> Amazing work. I suppose the rest is polish and already known issues.
>>>>>>
>>>>>> Cheers,
>>>>>> Tom
>>>>>>
>>>>>>
>>>>>> On Sat, Oct 26, 2024 at 1:06 AM Joel Hockey <joelhoc...@chromium.org>
>>>>>> wrote:
>>>>>>
>>>>>>> The FileSystemAccessLocal feature has just been enabled for android
>>>>>>> in M132.
>>>>>>>
>>>>>>> On Thu, Sep 5, 2024 at 7:30 PM Thomas Steiner <to...@google.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Very excited for this feature to come, it's a frequently requested
>>>>>>>> gap so far—frequently enough to link to the FSA for Android bug from
>>>>>>>> our developer-facing documentation
>>>>>>>> <https://developer.chrome.com/docs/capabilities/web-apis/file-system-access#:~:text=Support%20for%20Android%20is%20being%20worked%20on%20in%20the%20context%20of%20crbug.com/1011535.>
>>>>>>>> .
>>>>>>>>
>>>>>>>>
>>>>>>>>> There is one area where I am considering proposing a change to the
>>>>>>>>> spec that showOpenFilePicker() could take a boolean hint to indicate 
>>>>>>>>> the
>>>>>>>>> intention of whether files are intended for read-only vs writable 
>>>>>>>>> which
>>>>>>>>> would allow Android to choose between Intent GET_CONTENT (read-only, 
>>>>>>>>> but
>>>>>>>>> supported by more providers) vs OPEN_DOCUMENT (allows for writing to 
>>>>>>>>> files,
>>>>>>>>> but not supported by as many providers).
>>>>>>>>>
>>>>>>>>
>>>>>>>> I've just commented on a relevant GitHub issue
>>>>>>>> <https://github.com/WICG/file-system-access/issues/302#issuecomment-2331041290>
>>>>>>>>  and
>>>>>>>> tagged you.
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Thomas Steiner, PhD—Developer Relations Engineer (blog.tomayac.com,
>>>>>> toot.cafe/@tomayac)
>>>>>>
>>>>>> Google Germany GmbH, ABC-Str. 19, 20354 Hamburg, Germany
>>>>>> Geschäftsführer: Paul Manicle, Liana Sebastian
>>>>>> Registergericht und -nummer: Hamburg, HRB 86891
>>>>>>
>>>>>> ----- BEGIN PGP SIGNATURE -----
>>>>>> Version: GnuPG v2.4.3 (GNU/Linux)
>>>>>>
>>>>>> iFy0uwAntT0bE3xtRa5AfeCheCkthAtTh3reSabiGbl0ck
>>>>>> 0fjumBl3DCharaCTersAttH3b0ttom.xKcd.cOm/1181.
>>>>>> ----- END PGP SIGNATURE -----
>>>>>>
>>>>>> --
>>>>>> 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 visit
>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALgRrL%3D05USBgLCdEgg3k9bcxB%2BzU3YXpXU9i8egymV3KJLQbA%40mail.gmail.com
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALgRrL%3D05USBgLCdEgg3k9bcxB%2BzU3YXpXU9i8egymV3KJLQbA%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 visit
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAABs73jsM-sOYMsapi%3DEdVQq0w7N8EgdzBn5afxTMaMg8Lf10w%40mail.gmail.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAABs73jsM-sOYMsapi%3DEdVQq0w7N8EgdzBn5afxTMaMg8Lf10w%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 visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAABs73iS4Gdj3dz-8c7ZAfnXbFuDuv83J%2BUX9xoo2SsTtw9rcA%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAABs73iS4Gdj3dz-8c7ZAfnXbFuDuv83J%2BUX9xoo2SsTtw9rcA%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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAABs73iEM7LNq9KETuXcWt2kYehJipsF%2BxZMP6Qg0i3z9-Ze6Q%40mail.gmail.com.

Reply via email to