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; |
}; |