Index: content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java b/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java |
index 98d8bda51e9f98b99c9f9122d8dd586bdb6a89f8..37f093f2c5cc96882c89894f2ea1a0b6e5ba623c 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/FileDescriptorInfo.java |
@@ -4,14 +4,57 @@ |
package org.chromium.content.browser; |
-class FileDescriptorInfo { |
- public int mId; |
- public int mFd; |
- public boolean mAutoClose; |
+import android.os.Parcel; |
+import android.os.ParcelFileDescriptor; |
+import android.os.Parcelable; |
- FileDescriptorInfo(int id, int fd, boolean autoClose) { |
+/** |
+ * Parcelable class that contains file descriptor and file region information to |
+ * be passed to child processes. |
+ */ |
+public final class FileDescriptorInfo implements Parcelable { |
+ public final int mId; |
+ public final ParcelFileDescriptor mFd; |
+ public final long mOffset; |
+ public final long mSize; |
+ |
+ FileDescriptorInfo(int id, ParcelFileDescriptor fd, long offset, long size) { |
mId = id; |
mFd = fd; |
- mAutoClose = autoClose; |
+ mOffset = offset; |
+ mSize = size; |
+ } |
+ |
+ FileDescriptorInfo(Parcel in) { |
+ mId = in.readInt(); |
+ mFd = in.readParcelable(null); |
+ mOffset = in.readLong(); |
+ mSize = in.readLong(); |
+ } |
+ |
+ @Override |
+ public int describeContents() { |
+ return CONTENTS_FILE_DESCRIPTOR; |
} |
-} |
+ |
+ @Override |
+ public void writeToParcel(Parcel dest, int flags) { |
+ dest.writeInt(mId); |
+ dest.writeParcelable(mFd, CONTENTS_FILE_DESCRIPTOR); |
+ dest.writeLong(mOffset); |
+ dest.writeLong(mSize); |
+ } |
+ |
+ public static final Parcelable.Creator<FileDescriptorInfo> CREATOR = |
+ new Parcelable.Creator<FileDescriptorInfo>() { |
+ @Override |
+ public FileDescriptorInfo createFromParcel(Parcel in) { |
+ return new FileDescriptorInfo(in); |
+ } |
+ |
+ @Override |
+ public FileDescriptorInfo[] newArray(int size) { |
+ return new FileDescriptorInfo[size]; |
+ } |
+ }; |
+} |