#include "content/app/android/library_loader_hooks.h"
#include "base/android/reached_code_profiler.h"
#include "base/i18n/icu_util.h"
#include "base/logging.h"
#include "base/process/current_process.h"
#include "base/trace_event/trace_event.h"
#include "content/common/content_constants_internal.h"
#include "content/common/url_schemes.h"
#include "content/public/browser/browser_thread.h"
#include "services/tracing/public/cpp/trace_startup.h"
namespace content {
bool LibraryLoaded(JNIEnv* env,
jclass clazz,
base::android::LibraryProcessType library_process_type) {
if (library_process_type ==
base::android::LibraryProcessType::PROCESS_BROWSER ||
library_process_type ==
base::android::LibraryProcessType::PROCESS_CHILD) {
base::android::InitReachedCodeProfilerAtStartup(library_process_type);
}
if (library_process_type ==
base::android::LibraryProcessType::PROCESS_BROWSER ||
library_process_type ==
base::android::LibraryProcessType::PROCESS_WEBVIEW) {
base::CurrentProcess::GetInstance().SetProcessType(
base::CurrentProcessType::PROCESS_BROWSER);
}
base::trace_event::TraceLog::GetInstance()->SetProcessSortIndex(
kTraceEventBrowserProcessSortIndex);
logging::LoggingSettings settings;
settings.logging_dest =
logging::LOG_TO_SYSTEM_DEBUG_LOG | logging::LOG_TO_STDERR;
logging::InitLogging(settings);
logging::SetLogItems(false,
false,
false,
false);
if (logging::GetMinLogLevel() != 0 || logging::GetVlogVerbosity() != 0 ||
DCHECK_IS_ON()) {
VLOG(0) << "Chromium logging enabled: level = " << logging::GetMinLogLevel()
<< ", default verbosity = " << logging::GetVlogVerbosity();
}
#if ICU_UTIL_DATA_IMPL == ICU_UTIL_DATA_FILE
TRACE_EVENT0("startup", "InitializeICU");
CHECK(base::i18n::InitializeICU());
#endif
RegisterContentSchemes();
return true;
}
}