diff --git a/Ladybird/Android/src/main/cpp/ImageDecoderService.cpp b/Ladybird/Android/src/main/cpp/ImageDecoderService.cpp index 867168b94ce..40c21470059 100644 --- a/Ladybird/Android/src/main/cpp/ImageDecoderService.cpp +++ b/Ladybird/Android/src/main/cpp/ImageDecoderService.cpp @@ -6,6 +6,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include "LadybirdServiceBase.h" #include #include #include diff --git a/Ladybird/Android/src/main/cpp/LadybirdActivity.cpp b/Ladybird/Android/src/main/cpp/LadybirdActivity.cpp index ba1ab146fbe..f3ad098bda0 100644 --- a/Ladybird/Android/src/main/cpp/LadybirdActivity.cpp +++ b/Ladybird/Android/src/main/cpp/LadybirdActivity.cpp @@ -30,6 +30,10 @@ static OwnPtr s_main_event_loop; static jobject s_java_instance; static jmethodID s_schedule_event_loop_method; + +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_LadybirdActivity_initNativeCode(JNIEnv*, jobject, jstring, jstring, jobject); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_LadybirdActivity_initNativeCode(JNIEnv* env, jobject thiz, jstring resource_dir, jstring tag_name, jobject timer_service) { @@ -78,6 +82,9 @@ Java_org_serenityos_ladybird_LadybirdActivity_initNativeCode(JNIEnv* env, jobjec s_application = make(0, nullptr); } +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_LadybirdActivity_execMainEventLoop(JNIEnv*, jobject /* thiz */); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_LadybirdActivity_execMainEventLoop(JNIEnv*, jobject /* thiz */) { @@ -86,6 +93,9 @@ Java_org_serenityos_ladybird_LadybirdActivity_execMainEventLoop(JNIEnv*, jobject } } +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_LadybirdActivity_disposeNativeCode(JNIEnv*, jobject /* thiz */); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_LadybirdActivity_disposeNativeCode(JNIEnv* env, jobject /* thiz */) { diff --git a/Ladybird/Android/src/main/cpp/LadybirdServiceBaseJNI.cpp b/Ladybird/Android/src/main/cpp/LadybirdServiceBaseJNI.cpp index 726fe3f3725..dee876890b1 100644 --- a/Ladybird/Android/src/main/cpp/LadybirdServiceBaseJNI.cpp +++ b/Ladybird/Android/src/main/cpp/LadybirdServiceBaseJNI.cpp @@ -13,6 +13,9 @@ JavaVM* global_vm; +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_LadybirdServiceBase_nativeThreadLoop(JNIEnv*, jobject /* thiz */, jint); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_LadybirdServiceBase_nativeThreadLoop(JNIEnv*, jobject /* thiz */, jint ipc_socket) { @@ -24,6 +27,9 @@ Java_org_serenityos_ladybird_LadybirdServiceBase_nativeThreadLoop(JNIEnv*, jobje } } +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_LadybirdServiceBase_initNativeCode(JNIEnv*, jobject /* thiz */, jstring, jstring); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_LadybirdServiceBase_initNativeCode(JNIEnv* env, jobject /* thiz */, jstring resource_dir, jstring tag_name) { diff --git a/Ladybird/Android/src/main/cpp/RequestServerService.cpp b/Ladybird/Android/src/main/cpp/RequestServerService.cpp index eecb49348da..e38732bda4a 100644 --- a/Ladybird/Android/src/main/cpp/RequestServerService.cpp +++ b/Ladybird/Android/src/main/cpp/RequestServerService.cpp @@ -5,6 +5,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include "LadybirdServiceBase.h" #include #include #include @@ -20,7 +21,7 @@ #include // FIXME: Share b/w RequestServer and WebSocket -ErrorOr find_certificates(StringView serenity_resource_root) +static ErrorOr find_certificates(StringView serenity_resource_root) { auto cert_path = ByteString::formatted("{}/res/ladybird/cacert.pem", serenity_resource_root); if (!FileSystem::exists(cert_path)) diff --git a/Ladybird/Android/src/main/cpp/TimerExecutorService.cpp b/Ladybird/Android/src/main/cpp/TimerExecutorService.cpp index e60f3c77bea..e053a11f1b0 100644 --- a/Ladybird/Android/src/main/cpp/TimerExecutorService.cpp +++ b/Ladybird/Android/src/main/cpp/TimerExecutorService.cpp @@ -9,6 +9,9 @@ #include #include +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_TimerExecutorService_00024Timer_nativeRun(JNIEnv*, jobject /* thiz */, jlong, jlong); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_TimerExecutorService_00024Timer_nativeRun(JNIEnv*, jobject /* thiz */, jlong native_data, jlong id) { diff --git a/Ladybird/Android/src/main/cpp/WebContentServiceJNI.cpp b/Ladybird/Android/src/main/cpp/WebContentServiceJNI.cpp index fe5803b4c08..1e756ffff88 100644 --- a/Ladybird/Android/src/main/cpp/WebContentServiceJNI.cpp +++ b/Ladybird/Android/src/main/cpp/WebContentServiceJNI.cpp @@ -6,6 +6,7 @@ #include "JNIHelpers.h" #include "LadybirdServiceBase.h" +#include "WebContentService.h" #include jobject global_instance; @@ -13,6 +14,9 @@ jclass global_class_reference; jmethodID bind_request_server_method; jmethodID bind_image_decoder_method; +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_WebContentService_nativeInit(JNIEnv*, jobject); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_WebContentService_nativeInit(JNIEnv* env, jobject thiz) { diff --git a/Ladybird/Android/src/main/cpp/WebViewImplementationNativeJNI.cpp b/Ladybird/Android/src/main/cpp/WebViewImplementationNativeJNI.cpp index be3f9cce869..b720398e6b9 100644 --- a/Ladybird/Android/src/main/cpp/WebViewImplementationNativeJNI.cpp +++ b/Ladybird/Android/src/main/cpp/WebViewImplementationNativeJNI.cpp @@ -14,6 +14,9 @@ jmethodID WebViewImplementationNative::bind_webcontent_method; jmethodID WebViewImplementationNative::invalidate_layout_method; jmethodID WebViewImplementationNative::on_load_start_method; +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_WebViewImplementation_00024Companion_nativeClassInit(JNIEnv*, jobject /* thiz */); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_WebViewImplementation_00024Companion_nativeClassInit(JNIEnv* env, jobject /* thiz */) { @@ -39,6 +42,9 @@ Java_org_serenityos_ladybird_WebViewImplementation_00024Companion_nativeClassIni WebViewImplementationNative::on_load_start_method = method; } +extern "C" JNIEXPORT jlong JNICALL +Java_org_serenityos_ladybird_WebViewImplementation_nativeObjectInit(JNIEnv*, jobject); + extern "C" JNIEXPORT jlong JNICALL Java_org_serenityos_ladybird_WebViewImplementation_nativeObjectInit(JNIEnv* env, jobject thiz) { @@ -47,6 +53,9 @@ Java_org_serenityos_ladybird_WebViewImplementation_nativeObjectInit(JNIEnv* env, return instance; } +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_WebViewImplementation_nativeObjectDispose(JNIEnv*, jobject /* thiz */, jlong); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_WebViewImplementation_nativeObjectDispose(JNIEnv* env, jobject /* thiz */, jlong instance) { @@ -55,6 +64,9 @@ Java_org_serenityos_ladybird_WebViewImplementation_nativeObjectDispose(JNIEnv* e delete impl; } +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_WebViewImplementation_nativeDrawIntoBitmap(JNIEnv*, jobject /* thiz */, jlong, jobject); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_WebViewImplementation_nativeDrawIntoBitmap(JNIEnv* env, jobject /* thiz */, jlong instance, jobject bitmap) { @@ -70,6 +82,9 @@ Java_org_serenityos_ladybird_WebViewImplementation_nativeDrawIntoBitmap(JNIEnv* AndroidBitmap_unlockPixels(env, bitmap); } +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_WebViewImplementation_nativeSetViewportGeometry(JNIEnv*, jobject /* thiz */, jlong, jint, jint); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_WebViewImplementation_nativeSetViewportGeometry(JNIEnv*, jobject /* thiz */, jlong instance, jint w, jint h) { @@ -77,6 +92,9 @@ Java_org_serenityos_ladybird_WebViewImplementation_nativeSetViewportGeometry(JNI impl->set_viewport_geometry(w, h); } +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_WebViewImplementation_nativeLoadURL(JNIEnv*, jobject /* thiz */, jlong, jstring); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_WebViewImplementation_nativeLoadURL(JNIEnv* env, jobject /* thiz */, jlong instance, jstring url) { @@ -87,6 +105,9 @@ Java_org_serenityos_ladybird_WebViewImplementation_nativeLoadURL(JNIEnv* env, jo impl->load(ak_url); } +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_WebViewImplementation_nativeSetDevicePixelRatio(JNIEnv*, jobject /* thiz */, jlong instance, jfloat); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_WebViewImplementation_nativeSetDevicePixelRatio(JNIEnv*, jobject /* thiz */, jlong instance, jfloat ratio) { @@ -94,6 +115,9 @@ Java_org_serenityos_ladybird_WebViewImplementation_nativeSetDevicePixelRatio(JNI impl->set_device_pixel_ratio(ratio); } +extern "C" JNIEXPORT void JNICALL +Java_org_serenityos_ladybird_WebViewImplementation_nativeMouseEvent(JNIEnv*, jobject /* thiz */, jlong, jint, jfloat, jfloat, jfloat, jfloat); + extern "C" JNIEXPORT void JNICALL Java_org_serenityos_ladybird_WebViewImplementation_nativeMouseEvent(JNIEnv*, jobject /* thiz */, jlong instance, jint event_type, jfloat x, jfloat y, jfloat raw_x, jfloat raw_y) {