| Index: base/posix/global_descriptors.cc | 
| diff --git a/base/posix/global_descriptors.cc b/base/posix/global_descriptors.cc | 
| index 6c187838ad69d63051a1155d64c26623de8a2db0..1b5a33ec68d53813019999cc78a0d084c7e4ea9f 100644 | 
| --- a/base/posix/global_descriptors.cc | 
| +++ b/base/posix/global_descriptors.cc | 
| @@ -47,6 +47,23 @@ int GlobalDescriptors::MaybeGet(Key key) const { | 
| return -1; | 
| } | 
|  | 
| +base::ScopedFD GlobalDescriptors::TakeFD( | 
| +    Key key, | 
| +    base::MemoryMappedFile::Region* region) { | 
| +  base::ScopedFD fd; | 
| +  for (Mapping::iterator i = descriptors_.begin(); i != descriptors_.end(); | 
| +       ++i) { | 
| +    if (i->key == key) { | 
| +      if (region) | 
| +        *region = i->region; | 
| +      fd.reset(i->fd); | 
| +      descriptors_.erase(i); | 
| +      break; | 
| +    } | 
| +  } | 
| +  return fd; | 
| +} | 
| + | 
| void GlobalDescriptors::Set(Key key, int fd) { | 
| Set(key, fd, base::MemoryMappedFile::Region::kWholeFile); | 
| } | 
|  |