| Index: content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
 | 
| diff --git a/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java b/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
 | 
| index 8831ec63dedf692a476d363db4b46f30bf661309..7467065d5983eabbeed4b7ad272e5336da3162e2 100644
 | 
| --- a/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
 | 
| +++ b/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
 | 
| @@ -261,10 +261,19 @@ public class ChildProcessServiceImpl {
 | 
|                              mMainThread.wait();
 | 
|                          }
 | 
|                      }
 | 
| -                    for (FileDescriptorInfo fdInfo : mFdInfos) {
 | 
| -                        nativeRegisterGlobalFileDescriptor(
 | 
| -                                fdInfo.mId, fdInfo.mFd.detachFd(), fdInfo.mOffset, fdInfo.mSize);
 | 
| +
 | 
| +                    int[] fileIds = new int[mFdInfos.length];
 | 
| +                    int[] fds = new int[mFdInfos.length];
 | 
| +                    long[] regionOffsets = new long[mFdInfos.length];
 | 
| +                    long[] regionSizes = new long[mFdInfos.length];
 | 
| +                    for (int i = 0; i < mFdInfos.length; i++) {
 | 
| +                        FileDescriptorInfo fdInfo = mFdInfos[i];
 | 
| +                        fileIds[i] = fdInfo.mId;
 | 
| +                        fds[i] = fdInfo.mFd.detachFd();
 | 
| +                        regionOffsets[i] = fdInfo.mOffset;
 | 
| +                        regionSizes[i] = fdInfo.mSize;
 | 
|                      }
 | 
| +                    nativeRegisterFileDescriptors(fileIds, fds, regionOffsets, regionSizes);
 | 
|                      nativeInitChildProcessImpl(ChildProcessServiceImpl.this, mCpuCount,
 | 
|                              mCpuFeatures);
 | 
|                      if (mActivitySemaphore.tryAcquire()) {
 | 
| @@ -402,12 +411,13 @@ public class ChildProcessServiceImpl {
 | 
|      }
 | 
|  
 | 
|      /**
 | 
| -     * Helper for registering FileDescriptorInfo objects with GlobalFileDescriptors.
 | 
| +     * Helper for registering FileDescriptorInfo objects with GlobalFileDescriptors or
 | 
| +     * FileDescriptorStore.
 | 
|       * This includes the IPC channel, the crash dump signals and resource related
 | 
|       * files.
 | 
|       */
 | 
| -    private static native void nativeRegisterGlobalFileDescriptor(
 | 
| -            int id, int fd, long offset, long size);
 | 
| +    private static native void nativeRegisterFileDescriptors(
 | 
| +            int[] id, int[] fd, long[] offset, long[] size);
 | 
|  
 | 
|      /**
 | 
|       * The main entry point for a child process. This should be called from a new thread since
 | 
| 
 |