summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/webkit/WebViewLibraryLoader.java13
-rw-r--r--native/webview/loader/loader.cpp12
2 files changed, 10 insertions, 15 deletions
diff --git a/core/java/android/webkit/WebViewLibraryLoader.java b/core/java/android/webkit/WebViewLibraryLoader.java
index e385a4832a0c..6f9e8ece4b13 100644
--- a/core/java/android/webkit/WebViewLibraryLoader.java
+++ b/core/java/android/webkit/WebViewLibraryLoader.java
@@ -215,12 +215,10 @@ class WebViewLibraryLoader {
return WebViewFactory.LIBLOAD_ADDRESS_SPACE_NOT_RESERVED;
}
- String[] args = getWebViewNativeLibraryPaths(packageInfo);
- int result = nativeLoadWithRelroFile(args[0] /* path32 */,
- args[1] /* path64 */,
- CHROMIUM_WEBVIEW_NATIVE_RELRO_32,
- CHROMIUM_WEBVIEW_NATIVE_RELRO_64,
- clazzLoader);
+ final String libraryFileName =
+ WebViewFactory.getWebViewLibrary(packageInfo.applicationInfo);
+ int result = nativeLoadWithRelroFile(libraryFileName, CHROMIUM_WEBVIEW_NATIVE_RELRO_32,
+ CHROMIUM_WEBVIEW_NATIVE_RELRO_64, clazzLoader);
if (result != WebViewFactory.LIBLOAD_SUCCESS) {
Log.w(LOGTAG, "failed to load with relro file, proceeding without");
} else if (DEBUG) {
@@ -317,7 +315,6 @@ class WebViewLibraryLoader {
static native boolean nativeReserveAddressSpace(long addressSpaceToReserve);
static native boolean nativeCreateRelroFile(String lib32, String lib64,
String relro32, String relro64);
- static native int nativeLoadWithRelroFile(String lib32, String lib64,
- String relro32, String relro64,
+ static native int nativeLoadWithRelroFile(String lib, String relro32, String relro64,
ClassLoader clazzLoader);
}
diff --git a/native/webview/loader/loader.cpp b/native/webview/loader/loader.cpp
index 565c6b06edb6..376dbb844906 100644
--- a/native/webview/loader/loader.cpp
+++ b/native/webview/loader/loader.cpp
@@ -167,16 +167,14 @@ jboolean CreateRelroFile(JNIEnv* env, jclass, jstring lib32, jstring lib64,
return ret;
}
-jint LoadWithRelroFile(JNIEnv* env, jclass, jstring lib32, jstring lib64,
- jstring relro32, jstring relro64, jobject clazzLoader) {
+jint LoadWithRelroFile(JNIEnv* env, jclass, jstring lib, jstring relro32,
+ jstring relro64, jobject clazzLoader) {
#ifdef __LP64__
- jstring lib = lib64;
jstring relro = relro64;
- (void)lib32; (void)relro32;
+ (void)relro32;
#else
- jstring lib = lib32;
jstring relro = relro32;
- (void)lib64; (void)relro64;
+ (void)relro64;
#endif
jint ret = LIBLOAD_FAILED_JNI_CALL;
const char* lib_utf8 = env->GetStringUTFChars(lib, NULL);
@@ -201,7 +199,7 @@ const JNINativeMethod kJniMethods[] = {
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z",
reinterpret_cast<void*>(CreateRelroFile) },
{ "nativeLoadWithRelroFile",
- "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)I",
+ "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)I",
reinterpret_cast<void*>(LoadWithRelroFile) },
};