| 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 89cb5bb6de4d041466c1ff5e00693b2f30b096c1..602358b8e4145dbfac210f73623b12f07e36235b 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
 | 
| @@ -12,6 +12,8 @@ import org.chromium.base.CommandLine;
 | 
|  import org.chromium.base.JNINamespace;
 | 
|  import org.chromium.base.TraceEvent;
 | 
|  
 | 
| +import java.util.Locale;
 | 
| +
 | 
|  import javax.annotation.Nullable;
 | 
|  
 | 
|  /**
 | 
| @@ -59,6 +61,13 @@ public class LibraryLoader {
 | 
|      // APK file with executable permissions.
 | 
|      private static boolean sMapApkWithExecPermission = false;
 | 
|  
 | 
| +    // One-way switch to indicate whether we probe for memory mapping the APK
 | 
| +    // file with executable permissions. We suppress the probe under some
 | 
| +    // conditions.
 | 
| +    // For more, see:
 | 
| +    //   https://code.google.com/p/chromium/issues/detail?id=448084
 | 
| +    private static boolean sProbeMapApkWithExecPermission = true;
 | 
| +
 | 
|      // One-way switch becomes true if the Chromium library was loaded from the
 | 
|      // APK file directly.
 | 
|      private static boolean sLibraryWasLoadedFromApk = false;
 | 
| @@ -166,11 +175,30 @@ public class LibraryLoader {
 | 
|                      String apkFilePath = null;
 | 
|                      boolean useMapExecSupportFallback = false;
 | 
|  
 | 
| +                    // If the Android build version pre-dates KitKat and the device
 | 
| +                    // manufacturer is Samsung, skip the check for mmap exec support and
 | 
| +                    // return false. This avoids triggering a warning on these devices.
 | 
| +                    // The version check is included because these devices do not show
 | 
| +                    // the warning on later OS builds.
 | 
| +                    //
 | 
| +                    // For more, see:
 | 
| +                    //   https://code.google.com/p/chromium/issues/detail?id=448084
 | 
| +                    final String manufacturer = android.os.Build.MANUFACTURER;
 | 
| +                    final int version = android.os.Build.VERSION.SDK_INT;
 | 
| +                    if (manufacturer != null
 | 
| +                            && version < android.os.Build.VERSION_CODES.KITKAT
 | 
| +                            && manufacturer.toLowerCase(Locale.ENGLISH).contains("samsung")) {
 | 
| +                        Log.w(TAG, "Suppressed load from APK support check on this device");
 | 
| +                        sProbeMapApkWithExecPermission = false;
 | 
| +                    }
 | 
| +
 | 
|                      // Check if the device supports memory mapping the APK file
 | 
|                      // with executable permissions.
 | 
|                      if (context != null) {
 | 
|                          apkFilePath = context.getApplicationInfo().sourceDir;
 | 
| -                        sMapApkWithExecPermission = Linker.checkMapExecSupport(apkFilePath);
 | 
| +                        if (sProbeMapApkWithExecPermission) {
 | 
| +                            sMapApkWithExecPermission = Linker.checkMapExecSupport(apkFilePath);
 | 
| +                        }
 | 
|                          if (!sMapApkWithExecPermission && Linker.isInZipFile()) {
 | 
|                              Log.w(TAG, "the no map executable support fallback will be used because"
 | 
|                                      + " memory mapping the APK file with executable permissions is"
 | 
| @@ -378,6 +406,10 @@ public class LibraryLoader {
 | 
|              return LibraryLoadFromApkStatusCodes.UNKNOWN;
 | 
|          }
 | 
|  
 | 
| +        if (!sProbeMapApkWithExecPermission) {
 | 
| +            return LibraryLoadFromApkStatusCodes.UNKNOWN;
 | 
| +        }
 | 
| +
 | 
|          return sMapApkWithExecPermission
 | 
|                  ? LibraryLoadFromApkStatusCodes.SUPPORTED
 | 
|                  : LibraryLoadFromApkStatusCodes.NOT_SUPPORTED;
 | 
| 
 |