diff --git a/chromium_src/chrome/browser/android/preferences/about_settings_bridge.cc b/chromium_src/chrome/browser/android/preferences/about_settings_bridge.cc index 57ec0dae733..a59eb9a768d 100644 --- a/chromium_src/chrome/browser/android/preferences/about_settings_bridge.cc +++ b/chromium_src/chrome/browser/android/preferences/about_settings_bridge.cc @@ -10,13 +10,16 @@ #define JNI_AboutSettingsBridge_GetApplicationVersion \ JNI_AboutSettingsBridge_GetApplicationVersion_ChromiumImpl +// Suppress DEFINE_JNI in included file - we call it ourselves at the end +#pragma push_macro("DEFINE_JNI") +#undef DEFINE_JNI +#define DEFINE_JNI(...) #include +#undef DEFINE_JNI +#pragma pop_macro("DEFINE_JNI") #undef JNI_AboutSettingsBridge_GetApplicationVersion -// We can't use DEFINE_JNI when override upstream's JNI method as it causes -// class redefinition issues. So we use [[maybe_unused]] to suppress the error. -[[maybe_unused]] static std::string -JNI_AboutSettingsBridge_GetApplicationVersion(JNIEnv* env) { +static std::string JNI_AboutSettingsBridge_GetApplicationVersion(JNIEnv* env) { JNI_AboutSettingsBridge_GetApplicationVersion_ChromiumImpl(env); std::string application(base::android::apk_info::host_package_label()); @@ -28,3 +31,5 @@ JNI_AboutSettingsBridge_GetApplicationVersion(JNIEnv* env) { return application; } + +DEFINE_JNI(AboutSettingsBridge) diff --git a/chromium_src/components/browser_ui/site_settings/android/website_preference_bridge.cc b/chromium_src/components/browser_ui/site_settings/android/website_preference_bridge.cc index d68b2fdae88..4a3bb3c7c55 100644 --- a/chromium_src/components/browser_ui/site_settings/android/website_preference_bridge.cc +++ b/chromium_src/components/browser_ui/site_settings/android/website_preference_bridge.cc @@ -24,16 +24,18 @@ #define JNI_WebsitePreferenceBridge_ClearCookieData \ JNI_WebsitePreferenceBridge_ClearCookieData_ChromiumImpl - +// Suppress DEFINE_JNI in included file - we call it ourselves at the end +#pragma push_macro("DEFINE_JNI") +#undef DEFINE_JNI +#define DEFINE_JNI(...) #include - +#undef DEFINE_JNI +#pragma pop_macro("DEFINE_JNI") #undef BACKGROUND_SYNC #undef CLIPBOARD_READ_WRITE #undef JNI_WebsitePreferenceBridge_ClearCookieData -// We can't use DEFINE_JNI when override upstream's JNI method as it causes -// class redefinition issues. So we use [[maybe_unused]] to suppress the error. -[[maybe_unused]] static void JNI_WebsitePreferenceBridge_ClearCookieData( +static void JNI_WebsitePreferenceBridge_ClearCookieData( JNIEnv* env, const jni_zero::JavaRef& jbrowser_context_handle, const jni_zero::JavaRef& jorigin) { @@ -59,3 +61,6 @@ ContentSettingsType::BRAVE_SHIELDS_METADATA, base::Value()); } } + +DEFINE_JNI(GeolocationSetting) +DEFINE_JNI(WebsitePreferenceBridge) diff --git a/chromium_src/components/external_intents/android/intercept_navigation_delegate_impl.cc b/chromium_src/components/external_intents/android/intercept_navigation_delegate_impl.cc index 3e1016eacde..c21a0509682 100644 --- a/chromium_src/components/external_intents/android/intercept_navigation_delegate_impl.cc +++ b/chromium_src/components/external_intents/android/intercept_navigation_delegate_impl.cc @@ -19,11 +19,16 @@ #include "content/public/browser/web_contents.h" #include "url/gurl.h" -#define JNI_InterceptNavigationDelegateImpl_AssociateWithWebContents \ - JNI_InterceptNavigationDelegateImpl_AssociateWithWebContents_ChromiumImpl - +#define JNI_InterceptNavigationDelegateImpl_AssociateWithWebContents \ + JNI_InterceptNavigationDelegateImpl_AssociateWithWebContents_ChromiumImpl \ + [[maybe_unused]] +// Suppress DEFINE_JNI in included file - we call it ourselves at the end +#pragma push_macro("DEFINE_JNI") +#undef DEFINE_JNI +#define DEFINE_JNI(...) #include - +#undef DEFINE_JNI +#pragma pop_macro("DEFINE_JNI") #undef JNI_InterceptNavigationDelegateImpl_AssociateWithWebContents namespace external_intents { @@ -75,10 +80,7 @@ class BraveInterceptNavigationDelegate : public InterceptNavigationDelegate { } // namespace -// We can't use DEFINE_JNI when override upstream's JNI method as it causes -// class redefinition issues. So we use [[maybe_unused]] to suppress the error. -[[maybe_unused]] static void -JNI_InterceptNavigationDelegateImpl_AssociateWithWebContents( +static void JNI_InterceptNavigationDelegateImpl_AssociateWithWebContents( JNIEnv* env, const base::android::JavaRef& jdelegate, const base::android::JavaRef& jweb_contents) { @@ -93,3 +95,5 @@ JNI_InterceptNavigationDelegateImpl_AssociateWithWebContents( } } // namespace external_intents + +DEFINE_JNI(InterceptNavigationDelegateImpl)