OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "chrome/browser/safe_browsing/srt_prompt_controller.h" | 5 #include "chrome/browser/safe_browsing/srt_prompt_controller.h" |
6 | 6 |
7 #include <initializer_list> | |
8 | |
9 #include "base/strings/string_util.h" | |
10 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
11 | 8 |
12 namespace safe_browsing { | 9 namespace safe_browsing { |
13 | 10 |
14 namespace { | 11 namespace { |
15 | 12 |
16 // Some dummy strings to be displayed in the Cleaner dialog while iterating on | 13 // Some dummy strings to be displayed in the Cleaner dialog while iterating on |
17 // the dialog's UX design and work on the Chrome<->Cleaner IPC is ongoing. | 14 // the dialog's UX design and work on the Chrome<->Cleaner IPC is ongoing. |
18 constexpr char kMainTextIntroduction[] = | 15 constexpr char kWindowTitle[] = "Clean up your computer?"; |
19 "Have you seen unusual startup pages or strange search results? Chrome has " | 16 constexpr char kMainText[] = |
20 "detected the following kinds of programs on your computer that may be " | 17 "Chrome found software that harms your browsing experience. Remove related " |
21 "causing the problem:"; | 18 "files from your computer and restore browser settings, including your " |
22 constexpr char kMainTextActionExplanation[] = | 19 "search engine and home page."; |
23 "Chrome can remove the detected programs, which should stop the strange " | 20 constexpr char kAcceptButtonLabel[] = "Cleanup"; |
24 "behavior."; | 21 constexpr char kAdvancedButtonLabel[] = "Advanced"; |
25 constexpr char kUnwantedSoftwareCategory1[] = "1 Browser hijacker"; | |
26 constexpr char kUnwantedSoftwareCategory2[] = "2 Ad Injectors"; | |
27 | |
28 constexpr char kDetailsSectionSettingsResetExplanation[] = | |
29 "Chrome will reset the following settings:"; | |
30 constexpr char kDetailsSectionSetting1[] = "Default search engine"; | |
31 constexpr char kDetailsSectionSetting2[] = "Startup pages"; | |
32 constexpr char kDetailsSectionSetting3[] = "Homepage"; | |
33 constexpr char kDetailsSectionSetting4[] = "Shortcuts"; | |
34 constexpr char kDetailsSectionSetting5[] = | |
35 "All extensions (these can be enabled again later)"; | |
36 constexpr char kDetailsSectionActionExplanation[] = | |
37 "The following files will be removed:"; | |
38 constexpr char kDetailsSectionPoweredBy[] = "Powered by: <ESET logo>"; | |
39 | |
40 constexpr char kDummyDirectory[] = | |
41 "C:\\Documents and Settings\\JohnDoe\\Local Settings\\Application Data" | |
42 "\\IAmNotWanted\\application\\"; | |
43 constexpr char kDummyFilename1[] = "somefile.dll"; | |
44 constexpr char kDummyFilename2[] = "another_file.dll"; | |
45 constexpr char kDummyFilename3[] = "more_stuff.dll"; | |
46 constexpr char kDummyFilename4[] = "run_me.exe"; | |
47 | |
48 constexpr char kShowDetails[] = "Learn more"; | |
49 constexpr char kHideDetails[] = "Close"; | |
50 constexpr char kWindowTitle[] = "Chrome detected unusual behavior"; | |
51 constexpr char kAcceptButtonLabel[] = "Start cleanup"; | |
52 | 22 |
53 } // namespace | 23 } // namespace |
54 | 24 |
55 SRTPromptController::LabelInfo::LabelInfo(LabelType type, | |
56 const base::string16& text) | |
57 : type(type), text(text) {} | |
58 | |
59 SRTPromptController::LabelInfo::~LabelInfo() = default; | |
60 | |
61 SRTPromptController::SRTPromptController() {} | 25 SRTPromptController::SRTPromptController() {} |
62 | 26 |
63 SRTPromptController::~SRTPromptController() = default; | 27 SRTPromptController::~SRTPromptController() = default; |
64 | 28 |
65 base::string16 SRTPromptController::GetWindowTitle() const { | 29 base::string16 SRTPromptController::GetWindowTitle() const { |
66 return base::UTF8ToUTF16(kWindowTitle); | 30 return base::UTF8ToUTF16(kWindowTitle); |
67 } | 31 } |
68 | 32 |
69 std::vector<SRTPromptController::LabelInfo> SRTPromptController::GetMainText() | 33 base::string16 SRTPromptController::GetMainText() const { |
70 const { | 34 return base::UTF8ToUTF16(kMainText); |
71 return { | |
72 LabelInfo(LabelInfo::PARAGRAPH, base::UTF8ToUTF16(kMainTextIntroduction)), | |
73 LabelInfo(LabelInfo::BULLET_ITEM, | |
74 base::UTF8ToUTF16(kUnwantedSoftwareCategory1)), | |
75 LabelInfo(LabelInfo::BULLET_ITEM, | |
76 base::UTF8ToUTF16(kUnwantedSoftwareCategory2)), | |
77 LabelInfo(LabelInfo::PARAGRAPH, | |
78 base::UTF8ToUTF16(kMainTextActionExplanation)), | |
79 }; | |
80 } | |
81 | |
82 std::vector<SRTPromptController::LabelInfo> | |
83 SRTPromptController::GetDetailsText() const { | |
84 return { | |
85 LabelInfo(LabelInfo::PARAGRAPH, | |
86 base::UTF8ToUTF16(kDetailsSectionSettingsResetExplanation)), | |
87 LabelInfo(LabelInfo::BULLET_ITEM, | |
88 base::UTF8ToUTF16(kDetailsSectionSetting1)), | |
89 LabelInfo(LabelInfo::BULLET_ITEM, | |
90 base::UTF8ToUTF16(kDetailsSectionSetting2)), | |
91 LabelInfo(LabelInfo::BULLET_ITEM, | |
92 base::UTF8ToUTF16(kDetailsSectionSetting3)), | |
93 LabelInfo(LabelInfo::BULLET_ITEM, | |
94 base::UTF8ToUTF16(kDetailsSectionSetting4)), | |
95 LabelInfo(LabelInfo::BULLET_ITEM, | |
96 base::UTF8ToUTF16(kDetailsSectionSetting5)), | |
97 LabelInfo(LabelInfo::PARAGRAPH, | |
98 base::UTF8ToUTF16(kDetailsSectionActionExplanation)), | |
99 LabelInfo(LabelInfo::BULLET_ITEM, | |
100 base::UTF8ToUTF16(base::JoinString( | |
101 {kDummyDirectory, kDummyFilename1}, nullptr))), | |
102 LabelInfo(LabelInfo::BULLET_ITEM, | |
103 base::UTF8ToUTF16(base::JoinString( | |
104 {kDummyDirectory, kDummyFilename2}, nullptr))), | |
105 LabelInfo(LabelInfo::BULLET_ITEM, | |
106 base::UTF8ToUTF16(base::JoinString( | |
107 {kDummyDirectory, kDummyFilename3}, nullptr))), | |
108 LabelInfo(LabelInfo::BULLET_ITEM, | |
109 base::UTF8ToUTF16(base::JoinString( | |
110 {kDummyDirectory, kDummyFilename4}, nullptr))), | |
111 LabelInfo(LabelInfo::PARAGRAPH, | |
112 base::UTF8ToUTF16(kDetailsSectionPoweredBy)), | |
113 }; | |
114 } | |
115 | |
116 base::string16 SRTPromptController::GetShowDetailsLabel() const { | |
117 return base::UTF8ToUTF16(kShowDetails); | |
118 } | |
119 | |
120 base::string16 SRTPromptController::GetHideDetailsLabel() const { | |
121 return base::UTF8ToUTF16(kHideDetails); | |
122 } | 35 } |
123 | 36 |
124 base::string16 SRTPromptController::GetAcceptButtonLabel() const { | 37 base::string16 SRTPromptController::GetAcceptButtonLabel() const { |
125 return base::UTF8ToUTF16(kAcceptButtonLabel); | 38 return base::UTF8ToUTF16(kAcceptButtonLabel); |
126 } | 39 } |
127 | 40 |
| 41 base::string16 SRTPromptController::GetAdvancedButtonLabel() const { |
| 42 return base::UTF8ToUTF16(kAdvancedButtonLabel); |
| 43 } |
| 44 |
128 void SRTPromptController::DialogShown() {} | 45 void SRTPromptController::DialogShown() {} |
129 | 46 |
130 void SRTPromptController::Accept() { | 47 void SRTPromptController::Accept() { |
131 OnInteractionDone(); | 48 OnInteractionDone(); |
132 } | 49 } |
133 | 50 |
134 void SRTPromptController::Cancel() { | 51 void SRTPromptController::Cancel() { |
135 OnInteractionDone(); | 52 OnInteractionDone(); |
136 } | 53 } |
137 | 54 |
| 55 void SRTPromptController::Close() { |
| 56 OnInteractionDone(); |
| 57 } |
| 58 |
| 59 void SRTPromptController::AdvancedButtonClicked() { |
| 60 OnInteractionDone(); |
| 61 } |
| 62 |
138 void SRTPromptController::OnInteractionDone() { | 63 void SRTPromptController::OnInteractionDone() { |
139 delete this; | 64 delete this; |
140 } | 65 } |
141 | 66 |
142 } // namespace safe_browsing | 67 } // namespace safe_browsing |
OLD | NEW |