Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
[ID: 1223031]
Blink>Storage>FileSystem
Supplemental component tags only. Set main component first. [ID: 1222907]
[ID: 1223136]
Design doc to be reviewed. [ID: 1223032]
[ID: 1223087]
[ID: 1223134]
Milestone(s) impacted by this issue. [ID: 1223085]
[ID: 1223084]
[ID: 1223086]
[ID: 1223034]
Link to incidents in IRM as a result of this ticket. [ID: 1300460]
[ID: 1223088]
This field contains Gerrit urls of code changes that ‘fix’ a security bug (i.e., excluding logging/cleanup commits) and is used when a singular fix cannot be uniquely identified from the existing “Code Changes” field. The change can be in the chromium repo or any other third_party repo. [ID: 1358989]
Blink
Blink>Storage
[ID: 1253656]
View issue level access limits(Press Alt + Right arrow for more information)
Unintended behavior
View staffing
Estimated effort
Attachment actions
Description
Steps to reproduce:
touch
in the console on random files in that directorytouch
is logged in the Devtools consoletouch
in the console on random files in that directoryWorking theory is that this is related to Garbage Collection. I can't reproduce the issue with the attached "fix.html" code, where the only difference is that
observer
is a global.I think this is because when
observer
is a local in a function, nothing is tracing it after the function returns, so it gets garbage collected.A
FileSystemObserver
should be kept alive as long as it has some active observation (mojom::blink::FileSystemAccessObserver
).Currently the . Assuming the working theory is true, these mojo receivers should be wrapped in their own
blink::FileSystemObserver
class keeps its observations (mojom::blink::FileSystemAccessObserver
) in aHeapMojoReceiverSet
GarbageCollected
class which traces theblink::FileSystemObserver
. This wrapped class will then in turn need to be traced by something else that is traced by the document.For reference, look at the IntersectionObserver . In particular look at ElementIntersectionObserverData who is owned and traced by the .
blink::Document