Index: chrome/browser/ui/webui/crashes_ui.cc |
diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/crashes_ui.cc |
index 67d9a55fbee40e06891f92b69367280967fca323..709ac8e7926f578c948c6696e76b3b6c4f227ba3 100644 |
--- a/chrome/browser/ui/webui/crashes_ui.cc |
+++ b/chrome/browser/ui/webui/crashes_ui.cc |
@@ -32,6 +32,8 @@ |
#if defined(OS_CHROMEOS) |
#include "chrome/browser/chromeos/settings/cros_settings.h" |
+#include "chromeos/dbus/dbus_thread_manager.h" |
+#include "chromeos/dbus/debug_daemon_client.h" |
#endif |
using content::WebContents; |
@@ -55,6 +57,8 @@ content::WebUIDataSource* CreateCrashesUIHTMLSource() { |
IDS_CRASHES_NO_CRASHES_MESSAGE); |
source->AddLocalizedString("disabledHeader", IDS_CRASHES_DISABLED_HEADER); |
source->AddLocalizedString("disabledMessage", IDS_CRASHES_DISABLED_MESSAGE); |
+ source->AddLocalizedString("uploadCrashesLinkText", |
+ IDS_CRASHES_UPLOAD_MESSAGE); |
source->SetJsonPath("strings.js"); |
source->AddResourcePath("crashes.js", IDR_CRASHES_JS); |
source->SetDefaultResource(IDR_CRASHES_HTML); |
@@ -84,6 +88,11 @@ class CrashesDOMHandler : public WebUIMessageHandler, |
// Asynchronously fetches the list of crashes. Called from JS. |
void HandleRequestCrashes(const ListValue* args); |
+#if defined(OS_CHROMEOS) |
+ // Asynchronously triggers crash uploading. Called from JS. |
+ void HandleRequestUploads(const ListValue* args); |
+#endif |
+ |
// Sends the recent crashes list JS. |
void UpdateUI(); |
@@ -108,6 +117,12 @@ void CrashesDOMHandler::RegisterMessages() { |
web_ui()->RegisterMessageCallback("requestCrashList", |
base::Bind(&CrashesDOMHandler::HandleRequestCrashes, |
base::Unretained(this))); |
+ |
+#if defined(OS_CHROMEOS) |
+ web_ui()->RegisterMessageCallback("requestCrashUpload", |
+ base::Bind(&CrashesDOMHandler::HandleRequestUploads, |
+ base::Unretained(this))); |
+#endif |
} |
void CrashesDOMHandler::HandleRequestCrashes(const ListValue* args) { |
@@ -121,6 +136,16 @@ void CrashesDOMHandler::HandleRequestCrashes(const ListValue* args) { |
} |
} |
+#if defined(OS_CHROMEOS) |
+void CrashesDOMHandler::HandleRequestUploads(const ListValue* args) { |
+ chromeos::DebugDaemonClient* debugd_client = |
+ chromeos::DBusThreadManager::Get()->GetDebugDaemonClient(); |
+ DCHECK(debugd_client); |
+ |
+ debugd_client->UploadCrashes(); |
+} |
+#endif |
+ |
void CrashesDOMHandler::OnUploadListAvailable() { |
list_available_ = true; |
if (!first_load_) |
@@ -151,6 +176,10 @@ void CrashesDOMHandler::UpdateUI() { |
web_ui()->CallJavascriptFunction("updateCrashList", enabled, crash_list, |
version); |
+ |
+#if defined(OS_CHROMEOS) |
+ web_ui()->CallJavascriptFunction("updateCrashUploadStatus", enabled); |
+#endif |
} |
} // namespace |
@@ -178,6 +207,7 @@ base::RefCountedMemory* CrashesUI::GetFaviconResourceBytes( |
// static |
bool CrashesUI::CrashReportingUIEnabled() { |
+ return true; |
Lei Zhang
2013/10/08 18:05:07
remove
vapier
2013/10/08 18:10:16
oops, left debug code in
|
#if defined(GOOGLE_CHROME_BUILD) |
#if defined(OS_CHROMEOS) |
bool reporting_enabled = false; |