diff options
-rw-r--r-- | chrome/browser/page_info_model.cc | 19 | ||||
-rw-r--r-- | chrome/browser/ssl/ssl_manager.cc | 7 | ||||
-rw-r--r-- | chrome/browser/tab_contents/navigation_entry_unittest.cc | 2 | ||||
-rw-r--r-- | chrome/browser/tab_contents/tab_contents.cc | 2 |
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, |