Chromium Code Reviews| 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..764ab4b700d1ab9142114e7e961656a8a2ad9674 100644 |
| --- a/chrome/browser/download/download_util.cc |
| +++ b/chrome/browser/download/download_util.cc |
| @@ -269,4 +269,91 @@ 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"; |
| + |
| +base::string16 AssembleMalwareFinchString( |
| + const std::string& trial_condition, const base::string16& elided_filename) { |
| + // Sanity check to make sure we have a filename. |
| + base::string16 filename; |
| + if (elided_filename.empty()) { |
| + filename = ASCIIToUTF16("This file"); |
| + } else { |
| + filename = ReplaceStringPlaceholders(ASCIIToUTF16("File '$1'"), |
| + elided_filename, |
| + NULL); |
| + } |
| + |
| + // Set the message text according to the condition. |
| + base::string16 message_text; |
| + if (trial_condition == kCondition1Control) { |
| + message_text = ASCIIToUTF16("This file appears malicious."); |
| + } else if (trial_condition == kCondition2Control) { |
| + message_text = ReplaceStringPlaceholders( |
| + ASCIIToUTF16("$1 appears malicious."), |
| + filename, |
| + NULL); |
|
Dan Beam
2013/08/09 23:24:51
nit: shaves code, reduces duplication
if (trial
felt
2013/08/09 23:48:34
Done.
|
| + } else if (trial_condition == kCondition3Malicious) { |
| + message_text = ReplaceStringPlaceholders( |
| + ASCIIToUTF16("$1 is malicious."), |
| + filename, |
| + NULL); |
| + } else if (trial_condition == kCondition4Unsafe) { |
| + message_text = ReplaceStringPlaceholders( |
| + ASCIIToUTF16("$1 is unsafe."), |
| + filename, |
| + NULL); |
| + } else if (trial_condition == kCondition5Dangerous) { |
| + message_text = ReplaceStringPlaceholders( |
| + ASCIIToUTF16("$1 is dangerous."), |
| + filename, |
| + NULL); |
| + } else if (trial_condition == kCondition6Harmful) { |
| + message_text = ReplaceStringPlaceholders( |
| + ASCIIToUTF16("$1 is harmful."), |
| + filename, |
| + NULL); |
| + } else if (trial_condition == kCondition7DiscardSecond) { |
| + message_text = ReplaceStringPlaceholders( |
| + ASCIIToUTF16("$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. $1 is malicious."), |
| + filename, |
| + NULL); |
| + } else if (trial_condition == kCondition9SafeDiscard) { |
| + message_text = ReplaceStringPlaceholders( |
| + ASCIIToUTF16("$1 is malicious. To stay safe, discard it."), |
| + filename, |
| + NULL); |
| + } else if (trial_condition == kCondition10SafeDontRun) { |
| + message_text = ReplaceStringPlaceholders( |
| + ASCIIToUTF16("$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("$1 appears malicious."), |
| + filename, |
| + NULL); |
| + } |
| + |
| + return message_text; |
| +} |
| + |
| } // namespace download_util |