| Index: base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java
|
| diff --git a/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java b/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java
|
| index 28c688dae29c0654db4da036ee202c97a015bc89..89cb5bb6de4d041466c1ff5e00693b2f30b096c1 100644
|
| --- a/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java
|
| +++ b/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java
|
| @@ -67,11 +67,6 @@ public class LibraryLoader {
|
| // directly from the APK file but it was compressed or not aligned.
|
| private static boolean sLibraryIsMappableInApk = true;
|
|
|
| - // One-way switch becomes true if the system library loading failed,
|
| - // and the right native library was found and loaded by the hack.
|
| - // The flag is used to report UMA stats later.
|
| - private static boolean sNativeLibraryHackWasUsed = false;
|
| -
|
| /**
|
| * The same as ensureInitialized(null, false), should only be called
|
| * by non-browser processes.
|
| @@ -87,27 +82,20 @@ public class LibraryLoader {
|
| *
|
| * @param context The context in which the method is called, the caller
|
| * may pass in a null context if it doesn't know in which context it
|
| - * is running, or it doesn't need to work around the issue
|
| - * http://b/13216167.
|
| - *
|
| - * When the context is not null and native library was not extracted
|
| - * by Android package manager, the LibraryLoader class
|
| - * will extract the native libraries from APK. This is a hack used to
|
| - * work around some Sony devices with the following platform bug:
|
| - * http://b/13216167.
|
| + * is running.
|
| *
|
| - * @param shouldDeleteOldWorkaroundLibraries The flag tells whether the method
|
| - * should delete the old workaround and fallback libraries or not.
|
| + * @param shouldDeleteFallbackLibraries The flag tells whether the method
|
| + * should delete the fallback libraries or not.
|
| */
|
| public static void ensureInitialized(
|
| - Context context, boolean shouldDeleteOldWorkaroundLibraries)
|
| + Context context, boolean shouldDeleteFallbackLibraries)
|
| throws ProcessInitException {
|
| synchronized (sLock) {
|
| if (sInitialized) {
|
| // Already initialized, nothing to do.
|
| return;
|
| }
|
| - loadAlreadyLocked(context, shouldDeleteOldWorkaroundLibraries);
|
| + loadAlreadyLocked(context, shouldDeleteFallbackLibraries);
|
| initializeAlreadyLocked();
|
| }
|
| }
|
| @@ -139,15 +127,15 @@ public class LibraryLoader {
|
| * See the comment in doInBackground() for more considerations on this.
|
| *
|
| * @param context The context the code is running, or null if it doesn't have one.
|
| - * @param shouldDeleteOldWorkaroundLibraries The flag tells whether the method
|
| - * should delete the old workaround and fallback libraries or not.
|
| + * @param shouldDeleteFallbackLibraries The flag tells whether the method
|
| + * should delete the old fallback libraries or not.
|
| *
|
| * @throws ProcessInitException if the native library failed to load.
|
| */
|
| - public static void loadNow(Context context, boolean shouldDeleteOldWorkaroundLibraries)
|
| + public static void loadNow(Context context, boolean shouldDeleteFallbackLibraries)
|
| throws ProcessInitException {
|
| synchronized (sLock) {
|
| - loadAlreadyLocked(context, shouldDeleteOldWorkaroundLibraries);
|
| + loadAlreadyLocked(context, shouldDeleteFallbackLibraries);
|
| }
|
| }
|
|
|
| @@ -164,7 +152,7 @@ public class LibraryLoader {
|
|
|
| // Invoke System.loadLibrary(...), triggering JNI_OnLoad in native code
|
| private static void loadAlreadyLocked(
|
| - Context context, boolean shouldDeleteOldWorkaroundLibraries)
|
| + Context context, boolean shouldDeleteFallbackLibraries)
|
| throws ProcessInitException {
|
| try {
|
| if (!sLoaded) {
|
| @@ -261,29 +249,14 @@ public class LibraryLoader {
|
| } else {
|
| // Load libraries using the system linker.
|
| for (String library : NativeLibraries.LIBRARIES) {
|
| - try {
|
| - System.loadLibrary(library);
|
| - } catch (UnsatisfiedLinkError e) {
|
| - if (context != null
|
| - && LibraryLoaderHelper.tryLoadLibraryUsingWorkaround(context,
|
| - library)) {
|
| - sNativeLibraryHackWasUsed = true;
|
| - } else {
|
| - throw e;
|
| - }
|
| - }
|
| + System.loadLibrary(library);
|
| }
|
| }
|
|
|
| - if (context != null && shouldDeleteOldWorkaroundLibraries) {
|
| - if (!sNativeLibraryHackWasUsed) {
|
| - LibraryLoaderHelper.deleteLibrariesAsynchronously(
|
| - context, LibraryLoaderHelper.PACKAGE_MANAGER_WORKAROUND_DIR);
|
| - }
|
| - if (!fallbackWasUsed) {
|
| - LibraryLoaderHelper.deleteLibrariesAsynchronously(
|
| - context, LibraryLoaderHelper.LOAD_FROM_APK_FALLBACK_DIR);
|
| - }
|
| + if (!fallbackWasUsed && context != null
|
| + && shouldDeleteFallbackLibraries) {
|
| + LibraryLoaderHelper.deleteLibrariesAsynchronously(
|
| + context, LibraryLoaderHelper.LOAD_FROM_APK_FALLBACK_DIR);
|
| }
|
|
|
| long stopTime = SystemClock.uptimeMillis();
|
| @@ -373,7 +346,6 @@ public class LibraryLoader {
|
| // Called after all native initializations are complete.
|
| public static void onNativeInitializationComplete(Context context) {
|
| recordBrowserProcessHistogram(context);
|
| - nativeRecordNativeLibraryHack(sNativeLibraryHackWasUsed);
|
| }
|
|
|
| // Record Chromium linker histogram state for the main browser process. Called from
|
| @@ -452,6 +424,4 @@ public class LibraryLoader {
|
| // Get the version of the native library. This is needed so that we can check we
|
| // have the right version before initializing the (rest of the) JNI.
|
| private static native String nativeGetVersionNumber();
|
| -
|
| - private static native void nativeRecordNativeLibraryHack(boolean usedHack);
|
| }
|
|
|