diff options
author | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-02 02:07:44 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-02 02:07:44 +0000 |
commit | c88d24f1f8aaf609db1fdcc06c3a4b5ca528c7ed (patch) | |
tree | 1bba1823b5277ee9f096e04ab2234bf8856ec500 /chrome | |
parent | 76451fe7fbce667742dff671cad06cbd039f8296 (diff) | |
download | chromium_src-c88d24f1f8aaf609db1fdcc06c3a4b5ca528c7ed.zip chromium_src-c88d24f1f8aaf609db1fdcc06c3a4b5ca528c7ed.tar.gz chromium_src-c88d24f1f8aaf609db1fdcc06c3a4b5ca528c7ed.tar.bz2 |
Do not say the connection is not encrypted if security_bits
is -1 (unknown). Say nothing in that case.
If the description for the connection section is empty, omit
the connection section in the dialog.
R=finnur,jcivelli
BUG=53366,13049
TEST=Visit https://alioth.debian.org/. Bring up the Security
info dialog while Chrome is displaying the SSL certificate
error page. The security info dialog should not say "Your
connection to alioth.debian.org is not encrypted."
Review URL: http://codereview.chromium.org/3243008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58302 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-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, |