#include "content/shell/app/shell_crash_reporter_client.h"
#include <string>
#include <utility>
#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "content/public/common/content_switches.h"
#include "content/shell/common/shell_switches.h"
#if BUILDFLAG(IS_ANDROID)
#include "content/shell/android/shell_descriptors.h"
#endif
namespace content {
ShellCrashReporterClient::ShellCrashReporterClient() { … }
ShellCrashReporterClient::~ShellCrashReporterClient() { … }
#if BUILDFLAG(IS_WIN)
void ShellCrashReporterClient::GetProductNameAndVersion(
const std::wstring& exe_path,
std::wstring* product_name,
std::wstring* version,
std::wstring* special_build,
std::wstring* channel_name) {
*product_name = L"content_shell";
*version = base::ASCIIToWide(CONTENT_SHELL_VERSION);
*special_build = std::wstring();
*channel_name = std::wstring();
}
#endif
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
void ShellCrashReporterClient::GetProductNameAndVersion(
const char** product_name,
const char** version) { … }
void ShellCrashReporterClient::GetProductNameAndVersion(
std::string* product_name,
std::string* version,
std::string* channel) { … }
base::FilePath ShellCrashReporterClient::GetReporterLogFilename() { … }
#endif
#if BUILDFLAG(IS_WIN)
bool ShellCrashReporterClient::GetCrashDumpLocation(std::wstring* crash_dir) {
#else
bool ShellCrashReporterClient::GetCrashDumpLocation(base::FilePath* crash_dir) { … }
#if BUILDFLAG(IS_ANDROID)
int ShellCrashReporterClient::GetAndroidMinidumpDescriptor() {
return kAndroidMinidumpDescriptor;
}
#endif
bool ShellCrashReporterClient::EnableBreakpadForProcess(
const std::string& process_type) { … }
}