Chromium Code Reviews| 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; |