Chromium Code Reviews| Index: content/public/browser/file_descriptor_info.h |
| diff --git a/content/public/browser/file_descriptor_info.h b/content/public/browser/file_descriptor_info.h |
| index 255ac2cafe19e06aabb5c558bb748e6f955b8034..e9d2e1d98c97f7ac88b5d61c517ae7eeb001e711 100644 |
| --- a/content/public/browser/file_descriptor_info.h |
| +++ b/content/public/browser/file_descriptor_info.h |
| @@ -8,45 +8,49 @@ |
| #include <stddef.h> |
| #include "base/files/file.h" |
| +#include "base/files/memory_mapped_file.h" |
| #include "base/process/launch.h" |
| namespace content { |
| -// FileDescriptorInfo is a collection of file descriptors which is |
| -// needed to launch a process. You should tell FileDescriptorInfo |
| -// which FD should be closed and which shouldn't so that it can take care |
| -// of the lifetime of FDs. |
| +// FileDescriptorInfo is a collection of file descriptors which is needed to |
| +// launch a process. You should tell FileDescriptorInfo which FDs should be |
| +// closed and which shouldn't so that it can take care of the lifetime of FDs. |
| // |
| -// See base/process/launcher.h for more details about launching a |
| -// process. |
| +// See base/process/launcher.h for more details about launching a process. |
| class FileDescriptorInfo { |
| public: |
| virtual ~FileDescriptorInfo() {} |
| - // Add an FD associated with an ID, without delegating the ownerhip |
| - // of ID. |
| + // Adds an FD associated with an ID, without delegating the ownerhip of ID. |
| virtual void Share(int id, base::PlatformFile fd) = 0; |
| - // Add an FD associated with an ID, passing the FD ownership to |
| + // Similar to Share but also provides a region in that file that should be |
| + // read in the launched process (accessible with GetRegionAt()). |
| + virtual void ShareWithRegion(int id, base::PlatformFile fd, |
|
jam
2017/01/06 01:28:45
nit: indentation is off per style guide. if the se
|
| + const base::MemoryMappedFile::Region& region) = 0; |
| + |
| + // Adds an FD associated with an ID, passing the FD ownership to |
| // FileDescriptorInfo. |
| virtual void Transfer(int id, base::ScopedFD fd) = 0; |
| - // A vecotr backed map of registered ID-FD pairs. |
| + // A vector backed map of registered ID-FD pairs. |
| virtual const base::FileHandleMappingVector& GetMapping() const = 0; |
| - // A GetMapping() variant what adjusts the ID value by |delta|. |
| + // A GetMapping() variant that adjusts the ID value by |delta|. |
| // Some environments need this trick. |
| virtual base::FileHandleMappingVector GetMappingWithIDAdjustment( |
| int delta) const = 0; |
| - // API for iterating registered ID-FD pairs. |
| + // API for iterating over the registered ID-FD pairs. |
| virtual base::PlatformFile GetFDAt(size_t i) const = 0; |
| virtual int GetIDAt(size_t i) const = 0; |
| + virtual const base::MemoryMappedFile::Region& GetRegionAt(size_t i) const = 0; |
| virtual size_t GetMappingSize() const = 0; |
| - // True if |this| has an ownership of |file|. |
| + // Returns true if |this| has ownership of |file|. |
| virtual bool OwnsFD(base::PlatformFile file) const = 0; |
| - // Assuming |OwnsFD(file)|, release the ownership. |
| + // Assuming |OwnsFD(file)|, releases the ownership. |
| virtual base::ScopedFD ReleaseFD(base::PlatformFile file) = 0; |
| }; |