Index: chrome/browser/download/download_util.cc |
diff --git a/chrome/browser/download/download_util.cc b/chrome/browser/download/download_util.cc |
index 8010f97301aaa887eaec16263d701d85170f2102..6f1746e7cd5afd365d69bd64a44c9590968ce6eb 100644 |
--- a/chrome/browser/download/download_util.cc |
+++ b/chrome/browser/download/download_util.cc |
@@ -269,4 +269,87 @@ void RecordDownloadSource(ChromeDownloadSource source) { |
"Download.SourcesChrome", source, CHROME_DOWNLOAD_SOURCE_LAST_ENTRY); |
} |
+// Finch trial ----------------------------------------------------------------- |
+ |
+const char kFinchTrialName[] = "MalwareDownloadWarning"; |
+const char kCondition1Control[] = "Condition1Control"; |
+const char kCondition2Control[] = "Condition2Control"; |
+const char kCondition3Malicious[] = "Condition3Malicious"; |
+const char kCondition4Unsafe[] = "Condition4Unsafe"; |
+const char kCondition5Dangerous[] = "Condition5Dangerous"; |
+const char kCondition6Harmful[] = "Condition6Harmful"; |
+const char kCondition7DiscardSecond[] = "Condition7DiscardSecond"; |
+const char kCondition8DiscardFirst[] = "Condition8DiscardFirst"; |
+const char kCondition9SafeDiscard[] = "Condition9SafeDiscard"; |
+const char kCondition10SafeDontRun[] = "Condition10SafeDontRun"; |
+ |
+string16 AssembleMalwareFinchString(const std::string& trial_condition, |
Dan Beam
2013/08/09 21:25:02
base::string16 everywhere
felt
2013/08/09 22:38:03
Done.
|
+ const string16& elided_filename) { |
+ // Sanity check to make sure we have a filename. |
+ string16 filename; |
+ if (elided_filename.empty()) { |
Dan Beam
2013/08/09 21:25:02
nit: no curlies when if () and {} are 1-liners
felt
2013/08/09 22:38:03
Is that in the style guide? I can't find it and it
Dan Beam
2013/08/09 23:24:51
"In general, curly braces are not required for sin
|
+ filename = ASCIIToUTF16("This file"); |
+ } else { |
+ filename = elided_filename; |
+ } |
Dan Beam
2013/08/09 21:25:02
nit: \n
felt
2013/08/09 22:38:03
Done.
|
+ // Set the message text according to the condition. |
+ string16 message_text; |
+ if (trial_condition == kCondition1Control) { |
+ message_text = ASCIIToUTF16("This file appears malicious."); |
+ } else if (trial_condition == kCondition2Control) { |
+ message_text = ReplaceStringPlaceholders( |
+ ASCIIToUTF16("File '$1' appears malicious."), |
+ filename, |
+ NULL); |
+ } else if (trial_condition == kCondition3Malicious) { |
+ message_text = ReplaceStringPlaceholders( |
+ ASCIIToUTF16("File '$1' is malicious."), |
+ filename, |
+ NULL); |
+ } else if (trial_condition == kCondition4Unsafe) { |
+ message_text = ReplaceStringPlaceholders( |
+ ASCIIToUTF16("File '$1' is unsafe."), |
+ filename, |
+ NULL); |
+ } else if (trial_condition == kCondition5Dangerous) { |
+ message_text = ReplaceStringPlaceholders( |
+ ASCIIToUTF16("File '$1' is dangerous."), |
+ filename, |
+ NULL); |
+ } else if (trial_condition == kCondition6Harmful) { |
+ message_text = ReplaceStringPlaceholders( |
+ ASCIIToUTF16("File '$1' is harmful."), |
+ filename, |
+ NULL); |
+ } else if (trial_condition == kCondition7DiscardSecond) { |
+ message_text = ReplaceStringPlaceholders( |
+ ASCIIToUTF16("File '$1' is malicious. Discard this file to stay safe."), |
+ filename, |
+ NULL); |
+ } else if (trial_condition == kCondition8DiscardFirst) { |
+ message_text = ReplaceStringPlaceholders( |
+ ASCIIToUTF16("Discard this file to stay safe. File '$1' is malicious."), |
+ filename, |
+ NULL); |
+ } else if (trial_condition == kCondition9SafeDiscard) { |
+ message_text = ReplaceStringPlaceholders( |
+ ASCIIToUTF16("File '$1' is malicious. To stay safe, discard it."), |
+ filename, |
+ NULL); |
+ } else if (trial_condition == kCondition10SafeDontRun) { |
+ message_text = ReplaceStringPlaceholders( |
+ ASCIIToUTF16("File '$1' is malicious. To stay safe, don't run it."), |
+ filename, |
+ NULL); |
+ } else { |
+ // We use the second control as a default for other conditions that don't |
+ // change the warning string. |
+ message_text = ReplaceStringPlaceholders( |
+ ASCIIToUTF16("File '$1' appears malicious."), |
+ filename, |
+ NULL); |
+ } |
Dan Beam
2013/08/09 21:25:02
nit: \n
felt
2013/08/09 22:38:03
Done.
|
+ return message_text; |
+} |
+ |
} // namespace download_util |