| OLD | NEW |
| 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "chrome/browser/ui/webui/settings/chrome_cleanup_handler.h" | 5 #include "chrome/browser/ui/webui/settings/chrome_cleanup_handler.h" |
| 6 | 6 |
| 7 // DO NOT SUBMIT. For the moment, please ignore changes to this file. |
| 8 |
| 7 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 8 #include "base/feature_list.h" | 10 #include "base/feature_list.h" |
| 9 #include "base/metrics/user_metrics.h" | 11 #include "base/metrics/user_metrics.h" |
| 10 #include "base/synchronization/lock.h" | 12 #include "base/synchronization/lock.h" |
| 11 #include "base/values.h" | 13 #include "base/values.h" |
| 14 #include "chrome/browser/safe_browsing/chrome_cleaner/srt_field_trial_win.h" |
| 12 #include "chrome/grit/generated_resources.h" | 15 #include "chrome/grit/generated_resources.h" |
| 13 #include "content/public/browser/web_contents.h" | 16 #include "content/public/browser/web_contents.h" |
| 14 #include "content/public/browser/web_ui.h" | 17 #include "content/public/browser/web_ui.h" |
| 15 #include "ui/base/l10n/l10n_util.h" | 18 #include "ui/base/l10n/l10n_util.h" |
| 16 | 19 |
| 17 using base::UserMetricsAction; | 20 using base::UserMetricsAction; |
| 18 using safe_browsing::ChromeCleanerController; | 21 using safe_browsing::ChromeCleanerController; |
| 19 | 22 |
| 20 namespace settings { | 23 namespace settings { |
| 21 | 24 |
| 22 const base::Feature kInBrowserCleanerUIFeature{ | |
| 23 "InBrowserCleanerUI", base::FEATURE_DISABLED_BY_DEFAULT}; | |
| 24 | |
| 25 namespace { | 25 namespace { |
| 26 | 26 |
| 27 base::ListValue GetFilesAsListStorage( | 27 base::ListValue GetFilesAsListStorage( |
| 28 const std::vector<base::FilePath>& files) { | 28 const std::vector<base::FilePath>& files) { |
| 29 base::Value::ListStorage result(files.size()); | 29 base::Value::ListStorage result(files.size()); |
| 30 std::transform( | 30 std::transform( |
| 31 files.begin(), files.end(), result.begin(), | 31 files.begin(), files.end(), result.begin(), |
| 32 [](const base::FilePath& file) { return base::Value(file.value()); }); | 32 [](const base::FilePath& file) { return base::Value(file.value()); }); |
| 33 return base::ListValue(result); | 33 return base::ListValue(result); |
| 34 } | 34 } |
| 35 | 35 |
| 36 } // namespace | 36 } // namespace |
| 37 | 37 |
| 38 ChromeCleanupHandler::ChromeCleanupHandler() { | 38 ChromeCleanupHandler::ChromeCleanupHandler() { |
| 39 chromeCleanupVisible_ = | 39 chromeCleanupVisible_ = |
| 40 base::FeatureList::IsEnabled(kInBrowserCleanerUIFeature); | 40 base::FeatureList::IsEnabled(safe_browsing::kInBrowserCleanerUIFeature); |
| 41 } | 41 } |
| 42 | 42 |
| 43 ChromeCleanupHandler::~ChromeCleanupHandler() {} | 43 ChromeCleanupHandler::~ChromeCleanupHandler() {} |
| 44 | 44 |
| 45 void ChromeCleanupHandler::RegisterMessages() { | 45 void ChromeCleanupHandler::RegisterMessages() { |
| 46 web_ui()->RegisterMessageCallback( | 46 web_ui()->RegisterMessageCallback( |
| 47 "registerChromeCleanupObserver", | 47 "registerChromeCleanupObserver", |
| 48 base::Bind(&ChromeCleanupHandler::HandleRegisterChromeCleanupObserver, | 48 base::Bind(&ChromeCleanupHandler::HandleRegisterChromeCleanupObserver, |
| 49 base::Unretained(this))); | 49 base::Unretained(this))); |
| 50 web_ui()->RegisterMessageCallback( | 50 web_ui()->RegisterMessageCallback( |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 void ChromeCleanupHandler::OnRebootRequired() { | 97 void ChromeCleanupHandler::OnRebootRequired() { |
| 98 CallJavascriptFunction("cr.webUIListenerCallback", | 98 CallJavascriptFunction("cr.webUIListenerCallback", |
| 99 base::Value("chrome-cleanup-on-reboot-required")); | 99 base::Value("chrome-cleanup-on-reboot-required")); |
| 100 } | 100 } |
| 101 | 101 |
| 102 void ChromeCleanupHandler::HandleRegisterChromeCleanupObserver( | 102 void ChromeCleanupHandler::HandleRegisterChromeCleanupObserver( |
| 103 const base::ListValue* args) { | 103 const base::ListValue* args) { |
| 104 DCHECK_EQ(0, args->GetSize()); | 104 DCHECK_EQ(0, args->GetSize()); |
| 105 | 105 |
| 106 AllowJavascript(); | 106 AllowJavascript(); |
| 107 if (!base::FeatureList::IsEnabled(kInBrowserCleanerUIFeature)) { | 107 if (!base::FeatureList::IsEnabled( |
| 108 safe_browsing::kInBrowserCleanerUIFeature)) { |
| 108 CallJavascriptFunction("cr.webUIListenerCallback", | 109 CallJavascriptFunction("cr.webUIListenerCallback", |
| 109 base::Value("chrome-cleanup-dismiss")); | 110 base::Value("chrome-cleanup-dismiss")); |
| 110 return; | 111 return; |
| 111 } | 112 } |
| 112 | 113 |
| 113 controller_ = ChromeCleanerController::GetInstance(); | 114 controller_ = ChromeCleanerController::GetInstance(); |
| 114 controller_->AddObserver(this); | 115 controller_->AddObserver(this); |
| 115 } | 116 } |
| 116 | 117 |
| 117 void ChromeCleanupHandler::HandleStartCleanup(const base::ListValue* args) { | 118 void ChromeCleanupHandler::HandleStartCleanup(const base::ListValue* args) { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 128 | 129 |
| 129 AllowJavascript(); | 130 AllowJavascript(); |
| 130 controller_->RestartComputer(); | 131 controller_->RestartComputer(); |
| 131 } | 132 } |
| 132 | 133 |
| 133 void ChromeCleanupHandler::HandleSetChromeCleanupVisibility( | 134 void ChromeCleanupHandler::HandleSetChromeCleanupVisibility( |
| 134 const base::ListValue* args) { | 135 const base::ListValue* args) { |
| 135 DCHECK_EQ(1U, args->GetSize()); | 136 DCHECK_EQ(1U, args->GetSize()); |
| 136 | 137 |
| 137 bool visible = false; | 138 bool visible = false; |
| 138 if (base::FeatureList::IsEnabled(kInBrowserCleanerUIFeature)) { | 139 if (base::FeatureList::IsEnabled(safe_browsing::kInBrowserCleanerUIFeature)) { |
| 139 bool success = args->GetBoolean(0, &visible); | 140 bool success = args->GetBoolean(0, &visible); |
| 140 DCHECK(success); | 141 DCHECK(success); |
| 141 } | 142 } |
| 142 | 143 |
| 143 chromeCleanupVisible_ = visible; | 144 chromeCleanupVisible_ = visible; |
| 144 UpdateChromeCleanupVisibility(); | 145 UpdateChromeCleanupVisibility(); |
| 145 } | 146 } |
| 146 | 147 |
| 147 void ChromeCleanupHandler::HandleGetChromeCleanupVisibility( | 148 void ChromeCleanupHandler::HandleGetChromeCleanupVisibility( |
| 148 const base::ListValue* args) { | 149 const base::ListValue* args) { |
| 149 DCHECK_EQ(0, args->GetSize()); | 150 DCHECK_EQ(0, args->GetSize()); |
| 150 UpdateChromeCleanupVisibility(); | 151 UpdateChromeCleanupVisibility(); |
| 151 } | 152 } |
| 152 | 153 |
| 153 void ChromeCleanupHandler::UpdateChromeCleanupVisibility() { | 154 void ChromeCleanupHandler::UpdateChromeCleanupVisibility() { |
| 154 AllowJavascript(); | 155 AllowJavascript(); |
| 155 CallJavascriptFunction( | 156 CallJavascriptFunction( |
| 156 "cr.webUIListenerCallback", | 157 "cr.webUIListenerCallback", |
| 157 base::Value("basic-page-set-chrome-cleanup-visibility"), | 158 base::Value("basic-page-set-chrome-cleanup-visibility"), |
| 158 base::Value(chromeCleanupVisible_)); | 159 base::Value(chromeCleanupVisible_)); |
| 159 } | 160 } |
| 160 | 161 |
| 161 } // namespace settings | 162 } // namespace settings |
| OLD | NEW |