| 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..2f5d3985e8de3adeaa455e5f0b5b6b80ea9fb2cb 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,7 @@ 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 +87,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 +116,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 +135,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 +175,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 +206,7 @@ base::RefCountedMemory* CrashesUI::GetFaviconResourceBytes(
|
|
|
| // static
|
| bool CrashesUI::CrashReportingUIEnabled() {
|
| + return true;
|
| #if defined(GOOGLE_CHROME_BUILD)
|
| #if defined(OS_CHROMEOS)
|
| bool reporting_enabled = false;
|
|
|