summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-02 02:07:44 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-02 02:07:44 +0000
commitc88d24f1f8aaf609db1fdcc06c3a4b5ca528c7ed (patch)
tree1bba1823b5277ee9f096e04ab2234bf8856ec500 /chrome
parent76451fe7fbce667742dff671cad06cbd039f8296 (diff)
downloadchromium_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.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,