| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/crash/core/browser/crashes_ui_util.h" | 5 #include "components/crash/core/browser/crashes_ui_util.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "base/i18n/time_formatting.h" | 11 #include "base/i18n/time_formatting.h" |
| 12 #include "base/macros.h" | 12 #include "base/macros.h" |
| 13 #include "base/values.h" | 13 #include "base/values.h" |
| 14 #include "components/upload_list/upload_list.h" | 14 #include "components/upload_list/upload_list.h" |
| 15 #include "grit/components_chromium_strings.h" | 15 #include "grit/components_chromium_strings.h" |
| 16 #include "grit/components_strings.h" | 16 #include "grit/components_strings.h" |
| 17 | 17 |
| 18 namespace crash { | 18 namespace crash { |
| 19 | 19 |
| 20 const CrashesUILocalizedString kCrashesUILocalizedStrings[] = { | 20 const CrashesUILocalizedString kCrashesUILocalizedStrings[] = { |
| 21 {"bugLinkText", IDS_CRASH_BUG_LINK_LABEL}, | 21 {"bugLinkText", IDS_CRASH_BUG_LINK_LABEL}, |
| 22 {"crashCountFormat", IDS_CRASH_CRASH_COUNT_BANNER_FORMAT}, | 22 {"crashCountFormat", IDS_CRASH_CRASH_COUNT_BANNER_FORMAT}, |
| 23 {"crashHeaderFormat", IDS_CRASH_CRASH_HEADER_FORMAT}, | 23 {"crashHeaderFormat", IDS_CRASH_CRASH_HEADER_FORMAT}, |
| 24 {"crashHeaderFormatLocalOnly", IDS_CRASH_CRASH_HEADER_FORMAT_LOCAL_ONLY}, | 24 {"crashHeaderFormatLocalOnly", IDS_CRASH_CRASH_HEADER_FORMAT_LOCAL_ONLY}, |
| 25 {"crashTimeFormat", IDS_CRASH_CRASH_TIME_FORMAT}, | 25 {"crashTimeFormat", IDS_CRASH_CRASH_TIME_FORMAT}, |
| 26 {"crashNotUploaded", IDS_CRASH_CRASH_NOT_UPLOADED}, | 26 {"crashNotUploaded", IDS_CRASH_CRASH_NOT_UPLOADED}, |
| 27 {"crashUserRequested", IDS_CRASH_CRASH_USER_REQUESTED}, |
| 27 {"crashPending", IDS_CRASH_CRASH_PENDING}, | 28 {"crashPending", IDS_CRASH_CRASH_PENDING}, |
| 28 {"crashesTitle", IDS_CRASH_TITLE}, | 29 {"crashesTitle", IDS_CRASH_TITLE}, |
| 29 {"disabledHeader", IDS_CRASH_DISABLED_HEADER}, | 30 {"disabledHeader", IDS_CRASH_DISABLED_HEADER}, |
| 30 {"disabledMessage", IDS_CRASH_DISABLED_MESSAGE}, | 31 {"disabledMessage", IDS_CRASH_DISABLED_MESSAGE}, |
| 31 {"noCrashesMessage", IDS_CRASH_NO_CRASHES_MESSAGE}, | 32 {"noCrashesMessage", IDS_CRASH_NO_CRASHES_MESSAGE}, |
| 32 {"uploadCrashesLinkText", IDS_CRASH_UPLOAD_MESSAGE}, | 33 {"uploadCrashesLinkText", IDS_CRASH_UPLOAD_MESSAGE}, |
| 34 {"uploadNowLinkText", IDS_CRASH_UPLOAD_NOW_LINK_TEXT}, |
| 33 }; | 35 }; |
| 34 | 36 |
| 35 const size_t kCrashesUILocalizedStringsCount = | 37 const size_t kCrashesUILocalizedStringsCount = |
| 36 arraysize(kCrashesUILocalizedStrings); | 38 arraysize(kCrashesUILocalizedStrings); |
| 37 | 39 |
| 38 const char kCrashesUICrashesJS[] = "crashes.js"; | 40 const char kCrashesUICrashesJS[] = "crashes.js"; |
| 39 const char kCrashesUIRequestCrashList[] = "requestCrashList"; | 41 const char kCrashesUIRequestCrashList[] = "requestCrashList"; |
| 40 const char kCrashesUIRequestCrashUpload[] = "requestCrashUpload"; | 42 const char kCrashesUIRequestCrashUpload[] = "requestCrashUpload"; |
| 41 const char kCrashesUIShortProductName[] = "shortProductName"; | 43 const char kCrashesUIShortProductName[] = "shortProductName"; |
| 42 const char kCrashesUIUpdateCrashList[] = "updateCrashList"; | 44 const char kCrashesUIUpdateCrashList[] = "updateCrashList"; |
| 45 const char kCrashesUIRequestSingleCrashUpload[] = "requestSingleCrashUpload"; |
| 43 | 46 |
| 44 std::string UploadInfoStateAsString(UploadList::UploadInfo::State state) { | 47 std::string UploadInfoStateAsString(UploadList::UploadInfo::State state) { |
| 45 switch (state) { | 48 switch (state) { |
| 46 case UploadList::UploadInfo::State::NotUploaded: | 49 case UploadList::UploadInfo::State::NotUploaded: |
| 47 return "not_uploaded"; | 50 return "not_uploaded"; |
| 48 case UploadList::UploadInfo::State::Pending: | 51 case UploadList::UploadInfo::State::Pending: |
| 49 return "pending"; | 52 return "pending"; |
| 53 case UploadList::UploadInfo::State::Pending_UserRequested: |
| 54 return "pending_user_requested"; |
| 50 case UploadList::UploadInfo::State::Uploaded: | 55 case UploadList::UploadInfo::State::Uploaded: |
| 51 return "uploaded"; | 56 return "uploaded"; |
| 52 } | 57 } |
| 53 | 58 |
| 54 NOTREACHED(); | 59 NOTREACHED(); |
| 55 return ""; | 60 return ""; |
| 56 } | 61 } |
| 57 | 62 |
| 58 void UploadListToValue(UploadList* upload_list, base::ListValue* out_value) { | 63 void UploadListToValue(UploadList* upload_list, base::ListValue* out_value) { |
| 59 std::vector<UploadList::UploadInfo> crashes; | 64 std::vector<UploadList::UploadInfo> crashes; |
| 60 upload_list->GetUploads(50, &crashes); | 65 upload_list->GetUploads(50, &crashes); |
| 61 | 66 |
| 62 for (const auto& info : crashes) { | 67 for (const auto& info : crashes) { |
| 63 std::unique_ptr<base::DictionaryValue> crash(new base::DictionaryValue()); | 68 std::unique_ptr<base::DictionaryValue> crash(new base::DictionaryValue()); |
| 64 crash->SetString("id", info.upload_id); | 69 crash->SetString("id", info.upload_id); |
| 65 if (info.state == UploadList::UploadInfo::State::Uploaded) { | 70 if (info.state == UploadList::UploadInfo::State::Uploaded) { |
| 66 crash->SetString("time", | 71 crash->SetString("time", |
| 67 base::TimeFormatFriendlyDateAndTime(info.upload_time)); | 72 base::TimeFormatFriendlyDateAndTime(info.upload_time)); |
| 68 } else { | 73 } else { |
| 69 crash->SetString("time", | 74 crash->SetString("time", |
| 70 base::TimeFormatFriendlyDateAndTime(info.capture_time)); | 75 base::TimeFormatFriendlyDateAndTime(info.capture_time)); |
| 71 } | 76 } |
| 72 crash->SetString("local_id", info.local_id); | 77 crash->SetString("local_id", info.local_id); |
| 73 crash->SetString("state", UploadInfoStateAsString(info.state)); | 78 crash->SetString("state", UploadInfoStateAsString(info.state)); |
| 74 out_value->Append(std::move(crash)); | 79 out_value->Append(std::move(crash)); |
| 75 } | 80 } |
| 76 } | 81 } |
| 77 | 82 |
| 78 } // namespace crash | 83 } // namespace crash |
| OLD | NEW |