Howdy blink-dev, In Chromium M121, we will update how the File System Access (FSA) API interacts with the back/forward cache (BFCache). This should only affect the conditions a page can remain in the BFCache. There should be no behavioral changes to the FSA API.
A page can hold FSA locks to files via FileSystemWritableFileStream, FileSystemSyncAccessHandle, and file operations. These FSA locks prevent incompatible concurrent access to a file (e.g. having both a writable and access handle open on a file). A page in BFCache can hold FSA locks and prevent an active (not in BFCache) page from accessing a file. This can be unexpected behavior to a developer/user. The changes made in Chromium M121 address this issue by evicting a page in BFCache if it allows another page to take an FSA lock. If it doesn't allow another page to take an FSA lock, then the page can remain in BFCache. This doesn't break any assumptions about concurrent access. An FSA lock is not given out until incompatible FSA locks have been released. This PR for the whatwg/fs spec defines the behavior in more detail: https://github.com/whatwg/fs/pull/154 Thanks, Nathan -- 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/CAO4d-SusHj7XEePhBqBkvH24Q50KHF%3DhMNOPpK5wkwpGvkwe4g%40mail.gmail.com.