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.

Reply via email to