Chromium Code Reviews| Index: chrome/browser/page_info_model.cc |
| diff --git a/chrome/browser/page_info_model.cc b/chrome/browser/page_info_model.cc |
| index da20fa285ed61c9dca55704adfb83a8d170abe30..022c88f3480f432610be0f92f8104f32452756e0 100644 |
| --- a/chrome/browser/page_info_model.cc |
| +++ b/chrome/browser/page_info_model.cc |
| @@ -17,6 +17,8 @@ |
| #include "chrome/common/pref_names.h" |
| #include "grit/generated_resources.h" |
| #include "net/base/cert_status_flags.h" |
| +#include "net/base/ssl_connection_status_flags.h" |
| +#include "net/base/ssl_cipher_suite_names.h" |
| #include "net/base/x509_certificate.h" |
| namespace { |
| @@ -133,8 +135,7 @@ PageInfoModel::PageInfoModel(Profile* profile, |
| } else { |
| description.assign(l10n_util::GetStringFUTF16( |
| IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_CONNECTION_TEXT, |
| - subject_name, |
| - IntToString16(ssl.security_bits()))); |
| + subject_name)); |
| if (ssl.displayed_insecure_content() || ssl.ran_insecure_content()) { |
| state = false; |
| description.assign(l10n_util::GetStringFUTF16( |
| @@ -145,6 +146,42 @@ PageInfoModel::PageInfoModel(Profile* profile, |
| IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_INSECURE_CONTENT_WARNING))); |
| } |
| } |
| + |
| + uint16_t cipher_suite = |
|
wtc
2010/07/16 20:07:10
Question: are we supposed to use uint16_t instead
agl
2010/07/18 17:03:49
I haven't heard so. I tend to use _t because it's
|
| + ((ssl.connection_status() >> net::SSL_CONNECTION_CIPHERSUITE_SHIFT) & |
| + net::SSL_CONNECTION_CIPHERSUITE_MASK); |
| + if (ssl.security_bits() > 0 && cipher_suite) { |
| + uint8_t compression_id = |
| + ((ssl.connection_status() >> net::SSL_CONNECTION_COMPRESSION_SHIFT) & |
| + net::SSL_CONNECTION_COMPRESSION_MASK); |
| + bool did_fallback = ssl.connection_status() & |
| + net::SSL_CONNECTION_SSL3_FALLBACK; |
| + bool no_renegotiation = ssl.connection_status() & |
| + net::SSL_CONNECTION_NO_RENEGOTIATION_EXTENSION; |
| + // For now, only SSLv3 fallback will trigger a warning icon here. |
| + state = !did_fallback; |
| + const char *key_exchange, *cipher, *mac, *compression; |
| + net::SSLCipherSuiteToStrings(&key_exchange, &cipher, &mac, cipher_suite); |
| + net::SSLCompressionToString(&compression, compression_id); |
| + |
| + description += ASCIIToUTF16("\n\n"); |
|
wtc
2010/07/16 20:07:10
Can we add "\n\n" here? Are there some languages
agl
2010/07/18 17:03:49
I wondered about that also, but I believe that we'
|
| + description += l10n_util::GetStringFUTF16( |
| + IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTION_DETAILS, |
| + ASCIIToUTF16(cipher), ASCIIToUTF16(mac), ASCIIToUTF16(key_exchange), |
| + ASCIIToUTF16(compression)); |
| + |
| + if (did_fallback) { |
| + description += ASCIIToUTF16("\n\n"); |
| + description += l10n_util::GetStringUTF16( |
| + IDS_PAGE_INFO_SECURITY_TAB_FALLBACK_MESSAGE); |
| + } |
| + if (no_renegotiation) { |
| + description += ASCIIToUTF16("\n\n"); |
| + description += l10n_util::GetStringUTF16( |
| + IDS_PAGE_INFO_SECURITY_TAB_RENEGOTIATION_MESSAGE); |
| + } |
| + } |
| + |
| sections_.push_back(SectionInfo( |
| state, |
| l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_CONNECTION_TITLE), |