Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(538)

Unified Diff: chrome/browser/crash_handler_host_linuxish.cc

Issue 9838033: Upstream native crash handling changes for Android. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Fix minor oversight. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/crash_handler_host_linuxish.cc
diff --git a/chrome/browser/crash_handler_host_linux.cc b/chrome/browser/crash_handler_host_linuxish.cc
similarity index 96%
rename from chrome/browser/crash_handler_host_linux.cc
rename to chrome/browser/crash_handler_host_linuxish.cc
index 2d1ac2f21fcbad3a656cdb8f45c3187bc44d5f2c..aeb36324d6df5537b74e7473e6b1bbb867317f4f 100644
--- a/chrome/browser/crash_handler_host_linux.cc
+++ b/chrome/browser/crash_handler_host_linuxish.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/crash_handler_host_linux.h"
+#include "chrome/browser/crash_handler_host_linuxish.h"
#include <stdint.h>
#include <stdlib.h>
@@ -27,11 +27,17 @@
#include "breakpad/src/client/linux/handler/exception_handler.h"
#include "breakpad/src/client/linux/minidump_writer/linux_dumper.h"
#include "breakpad/src/client/linux/minidump_writer/minidump_writer.h"
-#include "chrome/app/breakpad_linux.h"
+#include "chrome/app/breakpad_linuxish.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/env_vars.h"
#include "content/public/browser/browser_thread.h"
+#if defined(OS_ANDROID)
+#include <sys/linux-syscalls.h>
+
+#define SYS_read __NR_read
+#endif
+
using content::BrowserThread;
using google_breakpad::ExceptionHandler;
@@ -312,8 +318,12 @@ void CrashHandlerHostLinux::OnFileCanReadWithoutBlocking(int fd) {
info->distro_length = strlen(distro);
info->distro = distro;
-
+#if defined(OS_ANDROID)
+ // Nothing gets uploaded in android.
+ info->upload = false;
+#else
info->upload = (getenv(env_vars::kHeadless) == NULL);
+#endif
info->process_start_time = uptime;
BrowserThread::PostTask(
@@ -350,10 +360,13 @@ void CrashHandlerHostLinux::WriteDumpFile(BreakpadInfo* info,
delete[] crash_context;
// Freed in CrashDumpTask();
- char* minidump_filename_str = new char[minidump_filename.length() + 1];
+ unsigned minidump_filename_str_len = minidump_filename.length() + 1;
+ char* minidump_filename_str = new char[minidump_filename_str_len];
minidump_filename.copy(minidump_filename_str, minidump_filename.length());
minidump_filename_str[minidump_filename.length()] = '\0';
info->filename = minidump_filename_str;
+ info->filename_length = minidump_filename_str_len;
+ info->pid = crashing_pid;
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,

Powered by Google App Engine
This is Rietveld 408576698