| Index: chrome_frame/chrome_frame_reporting.cc
|
| diff --git a/chrome_frame/chrome_frame_reporting.cc b/chrome_frame/chrome_frame_reporting.cc
|
| deleted file mode 100644
|
| index ead924a29f211146eea2f2a18fd08065ecfa02bd..0000000000000000000000000000000000000000
|
| --- a/chrome_frame/chrome_frame_reporting.cc
|
| +++ /dev/null
|
| @@ -1,113 +0,0 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -// Implementation of wrapper around common crash reporting.
|
| -
|
| -#include "chrome_frame/chrome_frame_reporting.h"
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/file_util.h"
|
| -#include "base/file_version_info.h"
|
| -#include "base/win/win_util.h"
|
| -#include "chrome/installer/util/google_update_settings.h"
|
| -#include "chrome/installer/util/install_util.h"
|
| -#include "chrome_frame/crash_reporting/crash_report.h"
|
| -#include "chrome_frame/exception_barrier.h"
|
| -#include "chrome_frame/utils.h"
|
| -
|
| -extern "C" IMAGE_DOS_HEADER __ImageBase;
|
| -
|
| -namespace {
|
| -
|
| -// Well known SID for the system principal.
|
| -const wchar_t kSystemPrincipalSid[] = L"S-1-5-18";
|
| -const wchar_t kChromePipeName[] = L"\\\\.\\pipe\\ChromeCrashServices";
|
| -
|
| -// Returns the custom info structure based on the dll in parameter
|
| -google_breakpad::CustomClientInfo* GetCustomInfo(const wchar_t* dll_path) {
|
| - std::wstring product;
|
| - std::wstring version;
|
| - scoped_ptr<FileVersionInfo> version_info(
|
| - FileVersionInfo::CreateFileVersionInfo(base::FilePath(dll_path)));
|
| - if (version_info.get()) {
|
| - version = version_info->product_version();
|
| - product = version_info->product_short_name();
|
| - }
|
| -
|
| - if (version.empty())
|
| - version = L"0.1.0.0";
|
| -
|
| - if (product.empty())
|
| - product = L"ChromeFrame";
|
| -
|
| - static google_breakpad::CustomInfoEntry ver_entry(L"ver", version.c_str());
|
| - static google_breakpad::CustomInfoEntry prod_entry(L"prod", product.c_str());
|
| - static google_breakpad::CustomInfoEntry plat_entry(L"plat", L"Win32");
|
| - static google_breakpad::CustomInfoEntry type_entry(L"ptype", L"chrome_frame");
|
| - static google_breakpad::CustomInfoEntry entries[] = {
|
| - ver_entry, prod_entry, plat_entry, type_entry };
|
| - static google_breakpad::CustomClientInfo custom_info = {
|
| - entries, arraysize(entries) };
|
| - return &custom_info;
|
| -}
|
| -
|
| -bool InitializeCrashReporting() {
|
| - // In headless mode we want crashes to be reported back.
|
| - bool always_take_dump = IsHeadlessMode();
|
| - // We want to use the Google Update crash reporting. We need to check if the
|
| - // user allows it first.
|
| - if (!always_take_dump && !GoogleUpdateSettings::GetCollectStatsConsent())
|
| - return true;
|
| -
|
| - // If we got here, we want to report crashes, so make sure all
|
| - // ExceptionBarrierBase instances do so.
|
| - ExceptionBarrierConfig::set_enabled(true);
|
| -
|
| - // Get the alternate dump directory. We use the temp path.
|
| - base::FilePath temp_directory;
|
| - if (!base::GetTempDir(&temp_directory) || temp_directory.empty())
|
| - return false;
|
| -
|
| - wchar_t dll_path[MAX_PATH * 2] = {0};
|
| - GetModuleFileName(reinterpret_cast<HMODULE>(&__ImageBase), dll_path,
|
| - arraysize(dll_path));
|
| -
|
| - if (always_take_dump) {
|
| - return InitializeVectoredCrashReportingWithPipeName(
|
| - true, kChromePipeName, temp_directory.value(), GetCustomInfo(dll_path));
|
| - }
|
| -
|
| - // Build the pipe name. It can be either:
|
| - // System-wide install: "NamedPipe\GoogleCrashServices\S-1-5-18"
|
| - // Per-user install: "NamedPipe\GoogleCrashServices\<user SID>"
|
| - std::wstring user_sid;
|
| - if (InstallUtil::IsPerUserInstall(dll_path)) {
|
| - if (!base::win::GetUserSidString(&user_sid))
|
| - return false;
|
| - } else {
|
| - user_sid = kSystemPrincipalSid;
|
| - }
|
| -
|
| - return InitializeVectoredCrashReporting(
|
| - false, user_sid.c_str(), temp_directory.value(), GetCustomInfo(dll_path));
|
| -}
|
| -
|
| -bool ShutdownCrashReporting() {
|
| - ExceptionBarrierConfig::set_enabled(false);
|
| - return ShutdownVectoredCrashReporting();
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -namespace chrome_frame {
|
| -
|
| -void CrashReportingTraits::Initialize() {
|
| - InitializeCrashReporting();
|
| -}
|
| -
|
| -void CrashReportingTraits::Shutdown() {
|
| - ShutdownCrashReporting();
|
| -}
|
| -
|
| -} // namespace chrome_frame
|
|
|