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

Side by Side Diff: components/crash/core/browser/crashes_ui_util.cc

Issue 2325713002: Manual crash uploads for mac and win (Closed)
Patch Set: Created 4 years, 3 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 unified diff | Download patch
OLDNEW
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
OLDNEW
« no previous file with comments | « components/crash/core/browser/crashes_ui_util.h ('k') | components/crash/core/browser/resources/crashes.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698