| Index: chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java
 | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java
 | 
| index f6e49d86921c4fcc6d34cbacb2ce496e82e50184..d88fcc6e76b04353a69ded13048588d4a98f5cd4 100644
 | 
| --- a/chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java
 | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java
 | 
| @@ -4,12 +4,12 @@
 | 
|  
 | 
|  package org.chromium.chrome.browser.init;
 | 
|  
 | 
| -import android.content.Context;
 | 
|  import android.content.Intent;
 | 
|  import android.os.Handler;
 | 
|  import android.os.Looper;
 | 
|  import android.util.Log;
 | 
|  
 | 
| +import org.chromium.base.ContextUtils;
 | 
|  import org.chromium.base.ThreadUtils;
 | 
|  import org.chromium.base.library_loader.LibraryLoader;
 | 
|  import org.chromium.base.library_loader.LibraryProcessType;
 | 
| @@ -28,7 +28,6 @@ import java.util.List;
 | 
|  class NativeInitializationController {
 | 
|      private static final String TAG = "NativeInitializationController";
 | 
|  
 | 
| -    private final Context mContext;
 | 
|      private final ChromeActivityNativeDelegate mActivityDelegate;
 | 
|      private final Handler mHandler;
 | 
|  
 | 
| @@ -59,12 +58,9 @@ class NativeInitializationController {
 | 
|      /**
 | 
|       * Create the NativeInitializationController using the main loop and the application context.
 | 
|       * It will be linked back to the activity via the given delegate.
 | 
| -     * @param context The context to pull the application context from.
 | 
|       * @param activityDelegate The activity delegate for the owning activity.
 | 
|       */
 | 
| -    public NativeInitializationController(Context context,
 | 
| -            ChromeActivityNativeDelegate activityDelegate) {
 | 
| -        mContext = context.getApplicationContext();
 | 
| +    public NativeInitializationController(ChromeActivityNativeDelegate activityDelegate) {
 | 
|          mHandler = new Handler(Looper.getMainLooper());
 | 
|          mActivityDelegate = activityDelegate;
 | 
|      }
 | 
| @@ -84,7 +80,7 @@ class NativeInitializationController {
 | 
|                  try {
 | 
|                      LibraryLoader libraryLoader =
 | 
|                              LibraryLoader.get(LibraryProcessType.PROCESS_BROWSER);
 | 
| -                    libraryLoader.ensureInitialized(mContext.getApplicationContext());
 | 
| +                    libraryLoader.ensureInitialized();
 | 
|                      // The prefetch is done after the library load for two reasons:
 | 
|                      // - It is easier to know the library location after it has
 | 
|                      //   been loaded.
 | 
| @@ -101,7 +97,9 @@ class NativeInitializationController {
 | 
|                      mActivityDelegate.onStartupFailure();
 | 
|                      return;
 | 
|                  }
 | 
| -                if (allocateChildConnection) ChildProcessLauncher.warmUp(mContext);
 | 
| +                if (allocateChildConnection) {
 | 
| +                    ChildProcessLauncher.warmUp(ContextUtils.getApplicationContext());
 | 
| +                }
 | 
|                  ThreadUtils.runOnUiThread(new Runnable() {
 | 
|                      @Override
 | 
|                      public void run() {
 | 
| @@ -165,7 +163,7 @@ class NativeInitializationController {
 | 
|  
 | 
|          try {
 | 
|              LibraryLoader.get(LibraryProcessType.PROCESS_BROWSER)
 | 
| -                    .onNativeInitializationComplete(mContext.getApplicationContext());
 | 
| +                    .onNativeInitializationComplete();
 | 
|          } catch (ProcessInitException e) {
 | 
|              Log.e(TAG, "Unable to load native library.", e);
 | 
|              mActivityDelegate.onStartupFailure();
 | 
| @@ -220,7 +218,7 @@ class NativeInitializationController {
 | 
|          if (mInitializationComplete) {
 | 
|              mActivityDelegate.onNewIntentWithNative(intent);
 | 
|          } else {
 | 
| -            if (mPendingNewIntents == null) mPendingNewIntents = new ArrayList<Intent>(1);
 | 
| +            if (mPendingNewIntents == null) mPendingNewIntents = new ArrayList<>(1);
 | 
|              mPendingNewIntents.add(intent);
 | 
|          }
 | 
|      }
 | 
| @@ -237,7 +235,7 @@ class NativeInitializationController {
 | 
|              mActivityDelegate.onActivityResultWithNative(requestCode, resultCode, data);
 | 
|          } else {
 | 
|              if (mPendingActivityResults == null) {
 | 
| -                mPendingActivityResults = new ArrayList<ActivityResult>(1);
 | 
| +                mPendingActivityResults = new ArrayList<>(1);
 | 
|              }
 | 
|              mPendingActivityResults.add(new ActivityResult(requestCode, resultCode, data));
 | 
|          }
 | 
| 
 |