Skip to content

Commit

Permalink
Add the classname to JNI method names to make them unique
Browse files Browse the repository at this point in the history
Our JNI code generator generated a lot of Init(...) methods which
collided in jumbo builds. This patch adds a class name prefix to
them, and all other JNI methods, so that they have locally unique names.

TBR=erikchen@chromium.org,fgorski@chromium.org,sergeyu@chromium.org,dtrainor@chromium.org,rouslan@chromium.org,vakh@chromium.org,rogerta@chromium.org,holte@chromium.org,bajones@chromium.org

Bug: 779013
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I86b6ac83c8e0a3507bd1d0efc48d625c12b4bb2b
Reviewed-on: https://chromium-review.googlesource.com/765973
Commit-Queue: Daniel Bratell <bratell@opera.com>
Reviewed-by: Daniel Bratell <bratell@opera.com>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Sky Malice <skym@chromium.org>
Reviewed-by: Lambros Lambrou <lambroslambrou@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Wei-Yin Chen (陳威尹) <wychen@chromium.org>
Reviewed-by: Miguel Casas <mcasas@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Paul Jensen <pauljensen@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518300}
  • Loading branch information
bratell-at-opera authored and Commit Bot committed Nov 21, 2017
1 parent 76f718c commit 7aacf95
Show file tree
Hide file tree
Showing 282 changed files with 2,901 additions and 2,254 deletions.
6 changes: 4 additions & 2 deletions android_webview/browser/android_protocol_handler.cc
Original file line number Diff line number Diff line change
Expand Up @@ -232,13 +232,15 @@ CreateAssetFileRequestInterceptor() {
new AssetFileRequestInterceptor());
}

static ScopedJavaLocalRef<jstring> GetAndroidAssetPath(
static ScopedJavaLocalRef<jstring>
JNI_AndroidProtocolHandler_GetAndroidAssetPath(
JNIEnv* env,
const JavaParamRef<jclass>& /*clazz*/) {
return ConvertUTF8ToJavaString(env, android_webview::kAndroidAssetPath);
}

static ScopedJavaLocalRef<jstring> GetAndroidResourcePath(
static ScopedJavaLocalRef<jstring>
JNI_AndroidProtocolHandler_GetAndroidResourcePath(
JNIEnv* env,
const JavaParamRef<jclass>& /*clazz*/) {
return ConvertUTF8ToJavaString(env, android_webview::kAndroidResourcePath);
Expand Down
40 changes: 22 additions & 18 deletions android_webview/browser/aw_contents.cc
Original file line number Diff line number Diff line change
Expand Up @@ -173,10 +173,11 @@ AwContents* AwContents::FromID(int render_process_id, int render_view_id) {
}

// static
void UpdateDefaultLocale(JNIEnv* env,
const JavaParamRef<jclass>&,
const JavaParamRef<jstring>& locale,
const JavaParamRef<jstring>& locale_list) {
void JNI_AwContents_UpdateDefaultLocale(
JNIEnv* env,
const JavaParamRef<jclass>&,
const JavaParamRef<jstring>& locale,
const JavaParamRef<jstring>& locale_list) {
*g_locale() = ConvertJavaStringToUTF8(env, locale);
*g_locale_list() = ConvertJavaStringToUTF8(env, locale_list);
}
Expand Down Expand Up @@ -400,9 +401,9 @@ void AwContents::Destroy(JNIEnv* env, const JavaParamRef<jobject>& obj) {
delete this;
}

static jlong Init(JNIEnv* env,
const JavaParamRef<jclass>&,
const JavaParamRef<jobject>& browser_context) {
static jlong JNI_AwContents_Init(JNIEnv* env,
const JavaParamRef<jclass>&,
const JavaParamRef<jobject>& browser_context) {
// TODO(joth): Use |browser_context| to get the native BrowserContext, rather
// than hard-code the default instance lookup here.
std::unique_ptr<WebContents> web_contents(content::WebContents::Create(
Expand All @@ -412,26 +413,28 @@ static jlong Init(JNIEnv* env,
return reinterpret_cast<intptr_t>(new AwContents(std::move(web_contents)));
}

static jboolean HasRequiredHardwareExtensions(JNIEnv* env,
const JavaParamRef<jclass>&) {
static jboolean JNI_AwContents_HasRequiredHardwareExtensions(
JNIEnv* env,
const JavaParamRef<jclass>&) {
return content::GpuDataManager::GetInstance()
->GetGPUInfo()
.can_support_threaded_texture_mailbox;
}

static void SetAwDrawSWFunctionTable(JNIEnv* env,
const JavaParamRef<jclass>&,
jlong function_table) {
static void JNI_AwContents_SetAwDrawSWFunctionTable(JNIEnv* env,
const JavaParamRef<jclass>&,
jlong function_table) {
RasterHelperSetAwDrawSWFunctionTable(
reinterpret_cast<AwDrawSWFunctionTable*>(function_table));
}

static void SetAwDrawGLFunctionTable(JNIEnv* env,
const JavaParamRef<jclass>&,
jlong function_table) {}
static void JNI_AwContents_SetAwDrawGLFunctionTable(JNIEnv* env,
const JavaParamRef<jclass>&,
jlong function_table) {}

// static
jint GetNativeInstanceCount(JNIEnv* env, const JavaParamRef<jclass>&) {
jint JNI_AwContents_GetNativeInstanceCount(JNIEnv* env,
const JavaParamRef<jclass>&) {
return base::subtle::NoBarrier_Load(&g_instance_count);
}

Expand Down Expand Up @@ -1309,8 +1312,9 @@ jlong AwContents::GetAutofillProvider(
return reinterpret_cast<jlong>(autofill_provider_.get());
}

void SetShouldDownloadFavicons(JNIEnv* env,
const JavaParamRef<jclass>& jclazz) {
void JNI_AwContents_SetShouldDownloadFavicons(
JNIEnv* env,
const JavaParamRef<jclass>& jclazz) {
g_should_download_favicons = true;
}

Expand Down
47 changes: 27 additions & 20 deletions android_webview/browser/aw_contents_statics.cc
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ void SafeBrowsingWhitelistAssigned(const JavaRef<jobject>& callback,
} // namespace

// static
ScopedJavaLocalRef<jstring> GetSafeBrowsingPrivacyPolicyUrl(
ScopedJavaLocalRef<jstring>
JNI_AwContentsStatics_GetSafeBrowsingPrivacyPolicyUrl(
JNIEnv* env,
const JavaParamRef<jclass>&) {
GURL privacy_policy_url(
Expand All @@ -65,9 +66,10 @@ ScopedJavaLocalRef<jstring> GetSafeBrowsingPrivacyPolicyUrl(
}

// static
void ClearClientCertPreferences(JNIEnv* env,
const JavaParamRef<jclass>&,
const JavaParamRef<jobject>& callback) {
void JNI_AwContentsStatics_ClearClientCertPreferences(
JNIEnv* env,
const JavaParamRef<jclass>&,
const JavaParamRef<jobject>& callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
BrowserThread::PostTaskAndReply(
BrowserThread::IO, FROM_HERE,
Expand All @@ -77,38 +79,42 @@ void ClearClientCertPreferences(JNIEnv* env,
}

// static
ScopedJavaLocalRef<jstring> GetUnreachableWebDataUrl(
ScopedJavaLocalRef<jstring> JNI_AwContentsStatics_GetUnreachableWebDataUrl(
JNIEnv* env,
const JavaParamRef<jclass>&) {
return base::android::ConvertUTF8ToJavaString(
env, content::kUnreachableWebDataURL);
}

// static
ScopedJavaLocalRef<jstring> GetProductVersion(JNIEnv* env,
const JavaParamRef<jclass>&) {
ScopedJavaLocalRef<jstring> JNI_AwContentsStatics_GetProductVersion(
JNIEnv* env,
const JavaParamRef<jclass>&) {
return base::android::ConvertUTF8ToJavaString(
env, version_info::GetVersionNumber());
}

// static
jboolean GetSafeBrowsingEnabledByManifest(JNIEnv* env,
const JavaParamRef<jclass>&) {
jboolean JNI_AwContentsStatics_GetSafeBrowsingEnabledByManifest(
JNIEnv* env,
const JavaParamRef<jclass>&) {
return AwSafeBrowsingConfigHelper::GetSafeBrowsingEnabledByManifest();
}

// static
void SetSafeBrowsingEnabledByManifest(JNIEnv* env,
const JavaParamRef<jclass>&,
jboolean enable) {
void JNI_AwContentsStatics_SetSafeBrowsingEnabledByManifest(
JNIEnv* env,
const JavaParamRef<jclass>&,
jboolean enable) {
AwSafeBrowsingConfigHelper::SetSafeBrowsingEnabledByManifest(enable);
}

// static
void SetSafeBrowsingWhitelist(JNIEnv* env,
const JavaParamRef<jclass>&,
const JavaParamRef<jobjectArray>& jrules,
const JavaParamRef<jobject>& callback) {
void JNI_AwContentsStatics_SetSafeBrowsingWhitelist(
JNIEnv* env,
const JavaParamRef<jclass>&,
const JavaParamRef<jobjectArray>& jrules,
const JavaParamRef<jobject>& callback) {
std::vector<std::string> rules;
base::android::AppendJavaStringArrayToStringVector(env, jrules, &rules);
AwSafeBrowsingWhitelistManager* whitelist_manager =
Expand All @@ -120,7 +126,7 @@ void SetSafeBrowsingWhitelist(JNIEnv* env,
}

// static
void SetServiceWorkerIoThreadClient(
void JNI_AwContentsStatics_SetServiceWorkerIoThreadClient(
JNIEnv* env,
const JavaParamRef<jclass>&,
const base::android::JavaParamRef<jobject>& io_thread_client,
Expand All @@ -130,9 +136,10 @@ void SetServiceWorkerIoThreadClient(
}

// static
void SetCheckClearTextPermitted(JNIEnv* env,
const JavaParamRef<jclass>&,
jboolean permitted) {
void JNI_AwContentsStatics_SetCheckClearTextPermitted(
JNIEnv* env,
const JavaParamRef<jclass>&,
jboolean permitted) {
AwURLRequestContextGetter::set_check_cleartext_permitted(permitted);
}

Expand Down
20 changes: 11 additions & 9 deletions android_webview/browser/aw_debug.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ using base::android::ScopedJavaLocalRef;

namespace android_webview {

static jboolean DumpWithoutCrashing(JNIEnv* env,
const JavaParamRef<jclass>& clazz,
const JavaParamRef<jstring>& dump_path) {
static jboolean JNI_AwDebug_DumpWithoutCrashing(
JNIEnv* env,
const JavaParamRef<jclass>& clazz,
const JavaParamRef<jstring>& dump_path) {
// This may be called from any thread, and we might be in a state
// where it is impossible to post tasks, so we have to be prepared
// to do IO from this thread.
Expand All @@ -36,15 +37,16 @@ static jboolean DumpWithoutCrashing(JNIEnv* env,
return crash_reporter::DumpWithoutCrashingToFd(target.TakePlatformFile());
}

static void InitCrashKeysForWebViewTesting(JNIEnv* env,
const JavaParamRef<jclass>& clazz) {
static void JNI_AwDebug_InitCrashKeysForWebViewTesting(
JNIEnv* env,
const JavaParamRef<jclass>& clazz) {
crash_keys::InitCrashKeysForWebViewTesting();
}

static void SetCrashKeyValue(JNIEnv* env,
const JavaParamRef<jclass>& clazz,
const JavaParamRef<jstring>& key,
const JavaParamRef<jstring>& value) {
static void JNI_AwDebug_SetCrashKeyValue(JNIEnv* env,
const JavaParamRef<jclass>& clazz,
const JavaParamRef<jstring>& key,
const JavaParamRef<jstring>& value) {
base::debug::SetCrashKeyValue(ConvertJavaStringToUTF8(env, key),
ConvertJavaStringToUTF8(env, value));
}
Expand Down
21 changes: 12 additions & 9 deletions android_webview/browser/aw_devtools_server.cc
Original file line number Diff line number Diff line change
Expand Up @@ -109,22 +109,25 @@ bool AwDevToolsServer::IsStarted() const {
return is_started_;
}

static jlong InitRemoteDebugging(JNIEnv* env,
const JavaParamRef<jobject>& obj) {
static jlong JNI_AwDevToolsServer_InitRemoteDebugging(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
AwDevToolsServer* server = new AwDevToolsServer();
return reinterpret_cast<intptr_t>(server);
}

static void DestroyRemoteDebugging(JNIEnv* env,
const JavaParamRef<jobject>& obj,
jlong server) {
static void JNI_AwDevToolsServer_DestroyRemoteDebugging(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
jlong server) {
delete reinterpret_cast<AwDevToolsServer*>(server);
}

static void SetRemoteDebuggingEnabled(JNIEnv* env,
const JavaParamRef<jobject>& obj,
jlong server,
jboolean enabled) {
static void JNI_AwDevToolsServer_SetRemoteDebuggingEnabled(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
jlong server,
jboolean enabled) {
AwDevToolsServer* devtools_server =
reinterpret_cast<AwDevToolsServer*>(server);
if (enabled) {
Expand Down
4 changes: 2 additions & 2 deletions android_webview/browser/aw_form_database.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ AwFormDatabaseService* GetFormDatabaseService() {
} // anonymous namespace

// static
jboolean HasFormData(JNIEnv*, const JavaParamRef<jclass>&) {
jboolean JNI_AwFormDatabase_HasFormData(JNIEnv*, const JavaParamRef<jclass>&) {
return GetFormDatabaseService()->HasFormData();
}

// static
void ClearFormData(JNIEnv*, const JavaParamRef<jclass>&) {
void JNI_AwFormDatabase_ClearFormData(JNIEnv*, const JavaParamRef<jclass>&) {
GetFormDatabaseService()->ClearFormData();
}

Expand Down
14 changes: 9 additions & 5 deletions android_webview/browser/aw_gl_functor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -83,18 +83,22 @@ jlong AwGLFunctor::GetAwDrawGLViewContext(
return reinterpret_cast<intptr_t>(&render_thread_manager_);
}

static jint GetNativeInstanceCount(JNIEnv* env, const JavaParamRef<jclass>&) {
static jint JNI_AwGLFunctor_GetNativeInstanceCount(
JNIEnv* env,
const JavaParamRef<jclass>&) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
return g_instance_count;
}

static jlong GetAwDrawGLFunction(JNIEnv* env, const JavaParamRef<jclass>&) {
static jlong JNI_AwGLFunctor_GetAwDrawGLFunction(JNIEnv* env,
const JavaParamRef<jclass>&) {
return reinterpret_cast<intptr_t>(&DrawGLFunction);
}

static jlong Create(JNIEnv* env,
const JavaParamRef<jclass>&,
const base::android::JavaParamRef<jobject>& obj) {
static jlong JNI_AwGLFunctor_Create(
JNIEnv* env,
const JavaParamRef<jclass>&,
const base::android::JavaParamRef<jobject>& obj) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
return reinterpret_cast<intptr_t>(
new AwGLFunctor(JavaObjectWeakGlobalRef(env, obj)));
Expand Down
7 changes: 4 additions & 3 deletions android_webview/browser/aw_metrics_service_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -283,9 +283,10 @@ AwMetricsServiceClient::AwMetricsServiceClient()
AwMetricsServiceClient::~AwMetricsServiceClient() {}

// static
void SetHaveMetricsConsent(JNIEnv* env,
const base::android::JavaParamRef<jclass>& jcaller,
jboolean consent) {
void JNI_AwMetricsServiceClient_SetHaveMetricsConsent(
JNIEnv* env,
const base::android::JavaParamRef<jclass>& jcaller,
jboolean consent) {
g_lazy_instance_.Pointer()->SetHaveMetricsConsent(consent);
}

Expand Down
8 changes: 4 additions & 4 deletions android_webview/browser/aw_pdf_exporter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ namespace android_webview {

namespace {

void GetPageRanges(JNIEnv* env,
jintArray int_arr,
printing::PageRanges* range_vector) {
void JNI_AwPdfExporter_GetPageRanges(JNIEnv* env,
jintArray int_arr,
printing::PageRanges* range_vector) {
std::vector<int> pages;
base::android::JavaIntArrayToIntVector(env, int_arr, &pages);
for (int page : pages) {
Expand Down Expand Up @@ -61,7 +61,7 @@ void AwPdfExporter::ExportToPdf(JNIEnv* env,
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
printing::PrintSettings print_settings;
printing::PageRanges page_ranges;
GetPageRanges(env, pages, &page_ranges);
JNI_AwPdfExporter_GetPageRanges(env, pages, &page_ranges);
InitPdfSettings(env, obj, page_ranges, print_settings);
AwPrintManager* print_manager = AwPrintManager::CreateForWebContents(
web_contents_, print_settings, base::FileDescriptor(fd, false),
Expand Down
5 changes: 3 additions & 2 deletions android_webview/browser/aw_quota_manager_bridge.cc
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,9 @@ void RunOnUIThread(const base::Closure& task) {
} // namespace

// static
jlong GetDefaultNativeAwQuotaManagerBridge(JNIEnv* env,
const JavaParamRef<jclass>& clazz) {
jlong JNI_AwQuotaManagerBridge_GetDefaultNativeAwQuotaManagerBridge(
JNIEnv* env,
const JavaParamRef<jclass>& clazz) {
AwBrowserContext* browser_context =
AwContentBrowserClient::GetAwBrowserContext();

Expand Down
8 changes: 4 additions & 4 deletions android_webview/browser/aw_settings.cc
Original file line number Diff line number Diff line change
Expand Up @@ -473,16 +473,16 @@ void AwSettings::PopulateWebPreferencesLocked(JNIEnv* env,
Java_AwSettings_getScrollTopLeftInteropEnabledLocked(env, obj);
}

static jlong Init(JNIEnv* env,
const JavaParamRef<jobject>& obj,
const JavaParamRef<jobject>& web_contents) {
static jlong JNI_AwSettings_Init(JNIEnv* env,
const JavaParamRef<jobject>& obj,
const JavaParamRef<jobject>& web_contents) {
content::WebContents* contents =
content::WebContents::FromJavaWebContents(web_contents);
AwSettings* settings = new AwSettings(env, obj, contents);
return reinterpret_cast<intptr_t>(settings);
}

static ScopedJavaLocalRef<jstring> GetDefaultUserAgent(
static ScopedJavaLocalRef<jstring> JNI_AwSettings_GetDefaultUserAgent(
JNIEnv* env,
const JavaParamRef<jclass>& clazz) {
return base::android::ConvertUTF8ToJavaString(env, GetUserAgent());
Expand Down
2 changes: 1 addition & 1 deletion android_webview/browser/aw_web_contents_delegate.cc
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ bool AwWebContentsDelegate::IsFullscreenForTabOrPending(
return is_fullscreen_;
}

static void FilesSelectedInChooser(
static void JNI_AwWebContentsDelegate_FilesSelectedInChooser(
JNIEnv* env,
const JavaParamRef<jclass>& clazz,
jint process_id,
Expand Down
Loading

0 comments on commit 7aacf95

Please sign in to comment.