| Index: content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
|
| index 46d91e8f81f694065588a51f57c3bb98548ff4ca..4d2571a3f64c384703d634626f9ed4a9f94dfc79 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
|
| @@ -27,6 +27,7 @@ import org.chromium.content.app.ChildProcessService;
|
| import org.chromium.content.common.CommandLine;
|
| import org.chromium.content.common.IChildProcessCallback;
|
| import org.chromium.content.common.IChildProcessService;
|
| +import org.chromium.content.common.LinkerParams;
|
| import org.chromium.content.common.TraceEvent;
|
|
|
| /**
|
| @@ -103,18 +104,23 @@ public class ChildProcessConnection {
|
| // Incremented on attachAsActive(), decremented on detachAsActive().
|
| private int mAttachAsActiveCount = 0;
|
|
|
| + // Linker-related parameters.
|
| + private LinkerParams mLinkerParams = null;
|
| +
|
| private static final String TAG = "ChildProcessConnection";
|
|
|
| private static class ConnectionParams {
|
| final String[] mCommandLine;
|
| final FileDescriptorInfo[] mFilesToBeMapped;
|
| final IChildProcessCallback mCallback;
|
| + final Bundle mSharedRelros;
|
|
|
| ConnectionParams(String[] commandLine, FileDescriptorInfo[] filesToBeMapped,
|
| - IChildProcessCallback callback) {
|
| + IChildProcessCallback callback, Bundle sharedRelros) {
|
| mCommandLine = commandLine;
|
| mFilesToBeMapped = filesToBeMapped;
|
| mCallback = callback;
|
| + mSharedRelros = sharedRelros;
|
| }
|
| }
|
|
|
| @@ -204,12 +210,14 @@ public class ChildProcessConnection {
|
|
|
| ChildProcessConnection(Context context, int number, boolean inSandbox,
|
| ChildProcessConnection.DeathCallback deathCallback,
|
| - Class<? extends ChildProcessService> serviceClass) {
|
| + Class<? extends ChildProcessService> serviceClass,
|
| + LinkerParams linkerParams) {
|
| mContext = context;
|
| mServiceNumber = number;
|
| mInSandbox = inSandbox;
|
| mDeathCallback = deathCallback;
|
| mServiceClass = serviceClass;
|
| + mLinkerParams = linkerParams;
|
| mInitialBinding = new ChildServiceConnection(Context.BIND_AUTO_CREATE);
|
| mStrongBinding = new ChildServiceConnection(
|
| Context.BIND_AUTO_CREATE | Context.BIND_IMPORTANT);
|
| @@ -273,12 +281,13 @@ public class ChildProcessConnection {
|
| String[] commandLine,
|
| FileDescriptorInfo[] filesToBeMapped,
|
| IChildProcessCallback processCallback,
|
| - ConnectionCallback connectionCallbacks) {
|
| + ConnectionCallback connectionCallbacks,
|
| + Bundle sharedRelros) {
|
| synchronized(mLock) {
|
| TraceEvent.begin();
|
| assert mConnectionParams == null;
|
| mConnectionCallback = connectionCallbacks;
|
| - mConnectionParams = new ConnectionParams(commandLine, filesToBeMapped, processCallback);
|
| + mConnectionParams = new ConnectionParams(commandLine, filesToBeMapped, processCallback, sharedRelros);
|
| // Make sure that the service is already connected. If not, doConnectionSetup() will be
|
| // called from onServiceConnected().
|
| if (mServiceConnectComplete) {
|
|
|