Ah that makes sense! Thank you for explaining! On Thu, Dec 21, 2023 at 1:57 PM 'Nathan Memmott' via blink-dev < blink-dev@chromium.org> wrote:
> Sorry, that was poorly worded. We evict "a page in BFCache if *[evicting > the page in BFCache]* allows another page to take an FSA lock." > > For example, a page in BFCache may have a sync access handle open on a > file. An active page may attempt to open a writable on that same file. > Previous behavior is to reject with a NoModificationAllowedError. The new > behavior is to evict the page in BFCache to allow the active page to open > the writable. > > On Thu, Dec 21, 2023, 8:23 AM Vladimir Levin <vmp...@google.com> wrote: > >> >> >> On Wed, Dec 20, 2023 at 8:17 PM 'Nathan Memmott' via blink-dev < >> blink-dev@chromium.org> wrote: >> >>> 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 might be a misunderstanding in terminology on my part, but is this >> backwards? If the BFCache page allows an active page to acquire a lock, >> then it's evicted? Or is it then allowed to stay? >> >> >>> 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 >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAO4d-SusHj7XEePhBqBkvH24Q50KHF%3DhMNOPpK5wkwpGvkwe4g%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/CAO4d-SuFB_G_H%2Bqdq2OhN6Fc3gR5Npy%3D5unk5EB1bJbzvPRtHg%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAO4d-SuFB_G_H%2Bqdq2OhN6Fc3gR5Npy%3D5unk5EB1bJbzvPRtHg%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/CADsXd2PPjsS7isdROkQRDDiSSfQctSaAHpk%3DWHufACxZCQPhxw%40mail.gmail.com.