OLD | NEW |
---|---|
1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/ui/webui/settings/chrome_cleanup_handler.h" | 5 #include "chrome/browser/ui/webui/settings/chrome_cleanup_handler.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/feature_list.h" | 10 #include "base/feature_list.h" |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
68 base::Bind(&ChromeCleanupHandler::HandleDismiss, base::Unretained(this))); | 68 base::Bind(&ChromeCleanupHandler::HandleDismiss, base::Unretained(this))); |
69 web_ui()->RegisterMessageCallback( | 69 web_ui()->RegisterMessageCallback( |
70 "registerChromeCleanerObserver", | 70 "registerChromeCleanerObserver", |
71 base::Bind(&ChromeCleanupHandler::HandleRegisterChromeCleanerObserver, | 71 base::Bind(&ChromeCleanupHandler::HandleRegisterChromeCleanerObserver, |
72 base::Unretained(this))); | 72 base::Unretained(this))); |
73 web_ui()->RegisterMessageCallback( | 73 web_ui()->RegisterMessageCallback( |
74 "restartComputer", | 74 "restartComputer", |
75 base::Bind(&ChromeCleanupHandler::HandleRestartComputer, | 75 base::Bind(&ChromeCleanupHandler::HandleRestartComputer, |
76 base::Unretained(this))); | 76 base::Unretained(this))); |
77 web_ui()->RegisterMessageCallback( | 77 web_ui()->RegisterMessageCallback( |
78 "setLogsUploadPermission", | |
79 base::Bind(&ChromeCleanupHandler::HandleSetLogsUploadPermission, | |
80 base::Unretained(this))); | |
81 web_ui()->RegisterMessageCallback( | |
78 "startCleanup", base::Bind(&ChromeCleanupHandler::HandleStartCleanup, | 82 "startCleanup", base::Bind(&ChromeCleanupHandler::HandleStartCleanup, |
79 base::Unretained(this))); | 83 base::Unretained(this))); |
80 } | 84 } |
81 | 85 |
82 void ChromeCleanupHandler::OnJavascriptAllowed() { | 86 void ChromeCleanupHandler::OnJavascriptAllowed() { |
83 controller_->AddObserver(this); | 87 controller_->AddObserver(this); |
84 } | 88 } |
85 | 89 |
86 void ChromeCleanupHandler::OnJavascriptDisallowed() { | 90 void ChromeCleanupHandler::OnJavascriptDisallowed() { |
87 controller_->RemoveObserver(this); | 91 controller_->RemoveObserver(this); |
(...skipping 21 matching lines...) Expand all Loading... | |
109 CallJavascriptFunction("cr.webUIListenerCallback", | 113 CallJavascriptFunction("cr.webUIListenerCallback", |
110 base::Value("chrome-cleanup-on-cleaning"), | 114 base::Value("chrome-cleanup-on-cleaning"), |
111 GetFilesAsListStorage(files)); | 115 GetFilesAsListStorage(files)); |
112 } | 116 } |
113 | 117 |
114 void ChromeCleanupHandler::OnRebootRequired() { | 118 void ChromeCleanupHandler::OnRebootRequired() { |
115 CallJavascriptFunction("cr.webUIListenerCallback", | 119 CallJavascriptFunction("cr.webUIListenerCallback", |
116 base::Value("chrome-cleanup-on-reboot-required")); | 120 base::Value("chrome-cleanup-on-reboot-required")); |
117 } | 121 } |
118 | 122 |
123 void ChromeCleanupHandler::OnLogsEnabledChanged(bool logs_enabled) { | |
124 CallJavascriptFunction("cr.webUIListenerCallback", | |
125 base::Value("chrome-cleanup-upload-permission-change"), | |
126 base::Value(logs_enabled)); | |
127 } | |
128 | |
119 void ChromeCleanupHandler::HandleDismiss(const base::ListValue* args) { | 129 void ChromeCleanupHandler::HandleDismiss(const base::ListValue* args) { |
120 DCHECK_EQ(0U, args->GetSize()); | 130 DCHECK_EQ(0U, args->GetSize()); |
121 | 131 |
122 controller_->RemoveObserver(this); | 132 controller_->RemoveObserver(this); |
123 | 133 |
124 CallJavascriptFunction("cr.webUIListenerCallback", | 134 CallJavascriptFunction("cr.webUIListenerCallback", |
125 base::Value("chrome-cleanup-on-dismiss")); | 135 base::Value("chrome-cleanup-on-dismiss")); |
126 } | 136 } |
127 | 137 |
128 void ChromeCleanupHandler::HandleRegisterChromeCleanerObserver( | 138 void ChromeCleanupHandler::HandleRegisterChromeCleanerObserver( |
129 const base::ListValue* args) { | 139 const base::ListValue* args) { |
130 DCHECK_EQ(0U, args->GetSize()); | 140 DCHECK_EQ(0U, args->GetSize()); |
131 // The Polymer element should never be attached if the feature is | 141 // The Polymer element should never be attached if the feature is |
132 // disabled. | 142 // disabled. |
133 DCHECK( | 143 DCHECK( |
134 base::FeatureList::IsEnabled(safe_browsing::kInBrowserCleanerUIFeature)); | 144 base::FeatureList::IsEnabled(safe_browsing::kInBrowserCleanerUIFeature)); |
135 | 145 |
136 AllowJavascript(); | 146 AllowJavascript(); |
147 | |
148 // Send the current logs upload state. | |
149 OnLogsEnabledChanged(controller_->logs_enabled()); | |
137 } | 150 } |
138 | 151 |
139 void ChromeCleanupHandler::HandleRestartComputer(const base::ListValue* args) { | 152 void ChromeCleanupHandler::HandleRestartComputer(const base::ListValue* args) { |
140 DCHECK_EQ(0U, args->GetSize()); | 153 DCHECK_EQ(0U, args->GetSize()); |
141 | 154 |
142 CallJavascriptFunction("cr.webUIListenerCallback", | 155 CallJavascriptFunction("cr.webUIListenerCallback", |
143 base::Value("chrome-cleanup-on-dismiss")); | 156 base::Value("chrome-cleanup-on-dismiss")); |
144 // TODO(proberge): Show a prompt to reboot the system. | 157 |
158 controller_->Reboot(); | |
159 } | |
160 | |
161 void ChromeCleanupHandler::HandleSetLogsUploadPermission( | |
162 const base::ListValue* args) { | |
163 CHECK_EQ(1U, args->GetSize()); | |
ftirelo
2017/07/05 19:02:25
CHECK_EQ -> DCHECK_EQ
We use DCHECK in other arg
proberge
2017/07/05 20:14:20
Here the param is actually strictly needed.
| |
164 bool allow_logs_upload = false; | |
165 args->GetBoolean(0, &allow_logs_upload); | |
166 | |
167 controller_->SetLogsEnabled(allow_logs_upload); | |
145 } | 168 } |
146 | 169 |
147 void ChromeCleanupHandler::HandleStartCleanup(const base::ListValue* args) { | 170 void ChromeCleanupHandler::HandleStartCleanup(const base::ListValue* args) { |
148 DCHECK_EQ(0U, args->GetSize()); | 171 CHECK_EQ(1U, args->GetSize()); |
ftirelo
2017/07/05 19:02:25
Ditto.
proberge
2017/07/05 20:14:20
Ditto^2
| |
172 bool allow_logs_upload = false; | |
173 args->GetBoolean(0, &allow_logs_upload); | |
174 | |
175 // The state is propagated to all open tabs and should be consistent. | |
176 DCHECK_EQ(controller_->logs_enabled(), allow_logs_upload); | |
149 | 177 |
150 controller_->ReplyWithUserResponse( | 178 controller_->ReplyWithUserResponse( |
151 // TODO(proberge): Send kAcceptedWithLogs or kAcceptedWithoutLogs based on | 179 profile_, |
152 // the state of a logs upload permissions checkbox. | 180 allow_logs_upload |
153 profile_, ChromeCleanerController::UserResponse::kAcceptedWithoutLogs); | 181 ? ChromeCleanerController::UserResponse::kAcceptedWithLogs |
182 : ChromeCleanerController::UserResponse::kAcceptedWithoutLogs); | |
154 } | 183 } |
155 | 184 |
156 } // namespace settings | 185 } // namespace settings |
OLD | NEW |