| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/certificates_handler.h" | 5 #include "chrome/browser/ui/webui/settings/certificates_handler.h" |
| 6 | 6 |
| 7 #include <errno.h> | 7 #include <errno.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 888 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 899 IDS_SETTINGS_CERTIFICATE_MANAGER_CERT_PARSE_ERROR)); | 899 IDS_SETTINGS_CERTIFICATE_MANAGER_CERT_PARSE_ERROR)); |
| 900 return; | 900 return; |
| 901 } | 901 } |
| 902 | 902 |
| 903 scoped_refptr<net::X509Certificate> root_cert = | 903 scoped_refptr<net::X509Certificate> root_cert = |
| 904 certificate_manager_model_->cert_db()->FindRootInList( | 904 certificate_manager_model_->cert_db()->FindRootInList( |
| 905 selected_cert_list_); | 905 selected_cert_list_); |
| 906 | 906 |
| 907 // TODO(mattm): check here if root_cert is not a CA cert and show error. | 907 // TODO(mattm): check here if root_cert is not a CA cert and show error. |
| 908 | 908 |
| 909 base::StringValue cert_name(root_cert->subject().GetDisplayName()); | 909 base::Value cert_name(root_cert->subject().GetDisplayName()); |
| 910 ResolveCallback(cert_name); | 910 ResolveCallback(cert_name); |
| 911 } | 911 } |
| 912 | 912 |
| 913 void CertificatesHandler::HandleImportCATrustSelected( | 913 void CertificatesHandler::HandleImportCATrustSelected( |
| 914 const base::ListValue* args) { | 914 const base::ListValue* args) { |
| 915 CHECK_EQ(4U, args->GetSize()); | 915 CHECK_EQ(4U, args->GetSize()); |
| 916 AssignWebUICallbackId(args); | 916 AssignWebUICallbackId(args); |
| 917 | 917 |
| 918 bool trust_ssl = false; | 918 bool trust_ssl = false; |
| 919 bool trust_email = false; | 919 bool trust_email = false; |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 982 certificate_manager_model_ = std::move(model); | 982 certificate_manager_model_ = std::move(model); |
| 983 CertificateManagerModelReady(); | 983 CertificateManagerModelReady(); |
| 984 } | 984 } |
| 985 | 985 |
| 986 void CertificatesHandler::CertificateManagerModelReady() { | 986 void CertificatesHandler::CertificateManagerModelReady() { |
| 987 base::Value user_db_available_value( | 987 base::Value user_db_available_value( |
| 988 certificate_manager_model_->is_user_db_available()); | 988 certificate_manager_model_->is_user_db_available()); |
| 989 base::Value tpm_available_value( | 989 base::Value tpm_available_value( |
| 990 certificate_manager_model_->is_tpm_available()); | 990 certificate_manager_model_->is_tpm_available()); |
| 991 CallJavascriptFunction("cr.webUIListenerCallback", | 991 CallJavascriptFunction("cr.webUIListenerCallback", |
| 992 base::StringValue("certificates-model-ready"), | 992 base::Value("certificates-model-ready"), |
| 993 user_db_available_value, tpm_available_value); | 993 user_db_available_value, tpm_available_value); |
| 994 certificate_manager_model_->Refresh(); | 994 certificate_manager_model_->Refresh(); |
| 995 } | 995 } |
| 996 | 996 |
| 997 void CertificatesHandler::HandleRefreshCertificates( | 997 void CertificatesHandler::HandleRefreshCertificates( |
| 998 const base::ListValue* args) { | 998 const base::ListValue* args) { |
| 999 AllowJavascript(); | 999 AllowJavascript(); |
| 1000 | 1000 |
| 1001 if (certificate_manager_model_) { | 1001 if (certificate_manager_model_) { |
| 1002 // Already have a model, the webui must be re-loading. Just re-run the | 1002 // Already have a model, the webui must be re-loading. Just re-run the |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1076 subnodes->Append(std::move(cert_dict)); | 1076 subnodes->Append(std::move(cert_dict)); |
| 1077 } | 1077 } |
| 1078 std::sort(subnodes->begin(), subnodes->end(), comparator); | 1078 std::sort(subnodes->begin(), subnodes->end(), comparator); |
| 1079 | 1079 |
| 1080 dict->Set(kSubnodesField, subnodes); | 1080 dict->Set(kSubnodesField, subnodes); |
| 1081 nodes->Append(std::move(dict)); | 1081 nodes->Append(std::move(dict)); |
| 1082 } | 1082 } |
| 1083 std::sort(nodes->begin(), nodes->end(), comparator); | 1083 std::sort(nodes->begin(), nodes->end(), comparator); |
| 1084 | 1084 |
| 1085 CallJavascriptFunction("cr.webUIListenerCallback", | 1085 CallJavascriptFunction("cr.webUIListenerCallback", |
| 1086 base::StringValue("certificates-changed"), | 1086 base::Value("certificates-changed"), |
| 1087 base::StringValue(tab_name), *nodes); | 1087 base::Value(tab_name), *nodes); |
| 1088 } | 1088 } |
| 1089 } | 1089 } |
| 1090 | 1090 |
| 1091 void CertificatesHandler::ResolveCallback(const base::Value& response) { | 1091 void CertificatesHandler::ResolveCallback(const base::Value& response) { |
| 1092 DCHECK(!webui_callback_id_.empty()); | 1092 DCHECK(!webui_callback_id_.empty()); |
| 1093 ResolveJavascriptCallback(base::StringValue(webui_callback_id_), response); | 1093 ResolveJavascriptCallback(base::Value(webui_callback_id_), response); |
| 1094 webui_callback_id_.clear(); | 1094 webui_callback_id_.clear(); |
| 1095 } | 1095 } |
| 1096 | 1096 |
| 1097 void CertificatesHandler::RejectCallback(const base::Value& response) { | 1097 void CertificatesHandler::RejectCallback(const base::Value& response) { |
| 1098 DCHECK(!webui_callback_id_.empty()); | 1098 DCHECK(!webui_callback_id_.empty()); |
| 1099 RejectJavascriptCallback(base::StringValue(webui_callback_id_), response); | 1099 RejectJavascriptCallback(base::Value(webui_callback_id_), response); |
| 1100 webui_callback_id_.clear(); | 1100 webui_callback_id_.clear(); |
| 1101 } | 1101 } |
| 1102 | 1102 |
| 1103 void CertificatesHandler::RejectCallbackWithError(const std::string& title, | 1103 void CertificatesHandler::RejectCallbackWithError(const std::string& title, |
| 1104 const std::string& error) { | 1104 const std::string& error) { |
| 1105 std::unique_ptr<base::DictionaryValue> error_info(new base::DictionaryValue); | 1105 std::unique_ptr<base::DictionaryValue> error_info(new base::DictionaryValue); |
| 1106 error_info->SetString(kErrorTitle, title); | 1106 error_info->SetString(kErrorTitle, title); |
| 1107 error_info->SetString(kErrorDescription, error); | 1107 error_info->SetString(kErrorDescription, error); |
| 1108 RejectCallback(*error_info); | 1108 RejectCallback(*error_info); |
| 1109 } | 1109 } |
| (...skipping 29 matching lines...) Expand all Loading... |
| 1139 error_info->Set(kCertificateErrors, | 1139 error_info->Set(kCertificateErrors, |
| 1140 base::WrapUnique(cert_error_list.release())); | 1140 base::WrapUnique(cert_error_list.release())); |
| 1141 RejectCallback(*error_info); | 1141 RejectCallback(*error_info); |
| 1142 } | 1142 } |
| 1143 | 1143 |
| 1144 gfx::NativeWindow CertificatesHandler::GetParentWindow() const { | 1144 gfx::NativeWindow CertificatesHandler::GetParentWindow() const { |
| 1145 return web_ui()->GetWebContents()->GetTopLevelNativeWindow(); | 1145 return web_ui()->GetWebContents()->GetTopLevelNativeWindow(); |
| 1146 } | 1146 } |
| 1147 | 1147 |
| 1148 } // namespace settings | 1148 } // namespace settings |
| OLD | NEW |