I'm doing some exploration on implementing this. Here's my current plan:
1. Replace all calls to ChildProcessSecurityPolicy::GrantPermissionsForFile which pass bitfields to directly call specific members of ChildProcessSecurityPolicy. Make GrantPermissionsForFile private.
This is intended to do two things: first, consolidate PlatformFileFlag as an internal detail of CPSP, and second, to disallow random assemblages of permissions, forcing callers to use explicit permission bundles that are under the control of CPSP itself. I don't see that we're misusing this capability anywhere, but I think tightening this down is an advantage of the suggestion to move away from PlatformFileFlags.
2. Replace internal use of PlatformFileFlags with specific fine-grained CPSP permissions. Since these will be implementation details they can be expanded and translated at will.
3. Add in further fine-grained permission calls as we establish use cases (i.e. delete-without-write, or add-files-to-directory-but-not-overwrite-existing-ones).