summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/page_info_model.cc19
-rw-r--r--chrome/browser/ssl/ssl_manager.cc7
-rw-r--r--chrome/browser/tab_contents/navigation_entry_unittest.cc2
-rw-r--r--chrome/browser/tab_contents/tab_contents.cc2
4 files changed, 18 insertions, 12 deletions
diff --git a/chrome/browser/page_info_model.cc b/chrome/browser/page_info_model.cc
index 997e2b6..1f2ffbd 100644
--- a/chrome/browser/page_info_model.cc
+++ b/chrome/browser/page_info_model.cc
@@ -110,7 +110,10 @@ PageInfoModel::PageInfoModel(Profile* profile,
state = SECTION_STATE_OK;
headline.clear();
description.clear();
- if (ssl.security_bits() <= 0) {
+ if (ssl.security_bits() < 0) {
+ // Security strength is unknown. Say nothing.
+ state = SECTION_STATE_ERROR;
+ } else if (ssl.security_bits() == 0) {
state = SECTION_STATE_ERROR;
description.assign(l10n_util::GetStringFUTF16(
IDS_PAGE_INFO_SECURITY_TAB_NOT_ENCRYPTED_CONNECTION_TEXT,
@@ -184,12 +187,14 @@ PageInfoModel::PageInfoModel(Profile* profile,
}
}
- sections_.push_back(SectionInfo(
- state,
- l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_CONNECTION_TITLE),
- headline,
- description,
- SECTION_INFO_CONNECTION));
+ if (!description.empty()) {
+ sections_.push_back(SectionInfo(
+ state,
+ l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_CONNECTION_TITLE),
+ headline,
+ description,
+ SECTION_INFO_CONNECTION));
+ }
// Request the number of visits.
HistoryService* history = profile->GetHistoryService(
diff --git a/chrome/browser/ssl/ssl_manager.cc b/chrome/browser/ssl/ssl_manager.cc
index 5b40cc8..39e90a4 100644
--- a/chrome/browser/ssl/ssl_manager.cc
+++ b/chrome/browser/ssl/ssl_manager.cc
@@ -75,12 +75,12 @@ bool SSLManager::DeserializeSecurityInfo(const std::string& state,
int* cert_status,
int* security_bits,
int* ssl_connection_status) {
- DCHECK(cert_id && cert_status && security_bits);
+ DCHECK(cert_id && cert_status && security_bits && ssl_connection_status);
if (state.empty()) {
// No SSL used.
*cert_id = 0;
*cert_status = 0;
- *security_bits = -1;
+ *security_bits = 0; // Not encrypted.
*ssl_connection_status = 0;
return false;
}
@@ -139,7 +139,8 @@ void SSLManager::DidCommitProvisionalLoad(
if (details->is_main_frame) {
if (entry) {
// Decode the security details.
- int ssl_cert_id, ssl_cert_status, ssl_security_bits, ssl_connection_status;
+ int ssl_cert_id, ssl_cert_status, ssl_security_bits,
+ ssl_connection_status;
DeserializeSecurityInfo(details->serialized_security_info,
&ssl_cert_id,
&ssl_cert_status,
diff --git a/chrome/browser/tab_contents/navigation_entry_unittest.cc b/chrome/browser/tab_contents/navigation_entry_unittest.cc
index 6b960a9..db59464 100644
--- a/chrome/browser/tab_contents/navigation_entry_unittest.cc
+++ b/chrome/browser/tab_contents/navigation_entry_unittest.cc
@@ -96,7 +96,7 @@ TEST_F(NavigationEntryTest, NavigationEntryFavicons) {
// Test SSLStatus inner class
TEST_F(NavigationEntryTest, NavigationEntrySSLStatus) {
- // Default (not secure)
+ // Default (unknown)
EXPECT_EQ(SECURITY_STYLE_UNKNOWN, entry1_.get()->ssl().security_style());
EXPECT_EQ(SECURITY_STYLE_UNKNOWN, entry2_.get()->ssl().security_style());
EXPECT_EQ(0, entry1_.get()->ssl().cert_id());
diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc
index 59e18ff..657c464 100644
--- a/chrome/browser/tab_contents/tab_contents.cc
+++ b/chrome/browser/tab_contents/tab_contents.cc
@@ -2130,7 +2130,7 @@ void TabContents::DidLoadResourceFromMemoryCache(
const std::string& main_frame_origin,
const std::string& security_info) {
// Send out a notification that we loaded a resource from our memory cache.
- int cert_id = 0, cert_status = 0, security_bits = 0, connection_status = 0;
+ int cert_id = 0, cert_status = 0, security_bits = -1, connection_status = 0;
SSLManager::DeserializeSecurityInfo(security_info,
&cert_id, &cert_status,
&security_bits,