diff options
author | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-20 19:17:58 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-20 19:17:58 +0000 |
commit | faf9cd6e0a9a3b8d6466c547cb9314c6af8dcdad (patch) | |
tree | 9a9ab40c4ddd6a08b717bd48b93342faf66dd92f /chrome/browser/ssl/ssl_blocking_page.cc | |
parent | 7ceeba70872aab6ac66a1043c9f1587b12fc6710 (diff) | |
download | chromium_src-faf9cd6e0a9a3b8d6466c547cb9314c6af8dcdad.zip chromium_src-faf9cd6e0a9a3b8d6466c547cb9314c6af8dcdad.tar.gz chromium_src-faf9cd6e0a9a3b8d6466c547cb9314c6af8dcdad.tar.bz2 |
Use the same code to handle both overridable and fatal
certificate errors. The only difference is that the SSL
interstial page for fatal certificate errors has only one
button ("Back").
Copy ssl_roadpage.html to ssl_error.html, remove the
"proceed" button, and rename the "exit" button to "back".
The local variable |html| in SSLBlockingPage::GetHTMLContents
should not be declared as static.
Remove SSLPolicy::ShowErrorPage and
RenderViewHost::LoadAlternateHTMLString.
R=abarth,jcivelli
BUG=41360
TEST=Type https://test-ssev.verisign.com:2443/test-SSEV-revoked-verisign.html
in the location bar and hit Enter. The location bar should display that URL
with a broken certificate error status, and the Back button on the SSL
interstitial page should work.
Review URL: http://codereview.chromium.org/1613016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45060 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ssl/ssl_blocking_page.cc')
-rw-r--r-- | chrome/browser/ssl/ssl_blocking_page.cc | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/chrome/browser/ssl/ssl_blocking_page.cc b/chrome/browser/ssl/ssl_blocking_page.cc index 904c083..aa3df31 100644 --- a/chrome/browser/ssl/ssl_blocking_page.cc +++ b/chrome/browser/ssl/ssl_blocking_page.cc @@ -45,11 +45,13 @@ void RecordSSLBlockingPageStats(SSLBlockingPageEvent event) { // Note that we always create a navigation entry with SSL errors. // No error happening loading a sub-resource triggers an interstitial so far. SSLBlockingPage::SSLBlockingPage(SSLCertErrorHandler* handler, - Delegate* delegate) + Delegate* delegate, + bool overridable) : InterstitialPage(handler->GetTabContents(), true, handler->request_url()), handler_(handler), delegate_(delegate), - delegate_has_been_notified_(false) { + delegate_has_been_notified_(false), + overridable_(overridable) { RecordSSLBlockingPageStats(SHOW); } @@ -65,8 +67,6 @@ std::string SSLBlockingPage::GetHTMLContents() { // Let's build the html error page. DictionaryValue strings; SSLErrorInfo error_info = delegate_->GetSSLErrorInfo(handler_); - strings.SetString(L"title", - l10n_util::GetString(IDS_SSL_BLOCKING_PAGE_TITLE)); strings.SetString(L"headLine", error_info.title()); strings.SetString(L"description", error_info.details()); @@ -74,16 +74,25 @@ std::string SSLBlockingPage::GetHTMLContents() { l10n_util::GetString(IDS_CERT_ERROR_EXTRA_INFO_TITLE)); SetExtraInfo(&strings, error_info.extra_information()); - strings.SetString(L"proceed", - l10n_util::GetString(IDS_SSL_BLOCKING_PAGE_PROCEED)); - strings.SetString(L"exit", - l10n_util::GetString(IDS_SSL_BLOCKING_PAGE_EXIT)); + int resource_id; + if (overridable_) { + resource_id = IDR_SSL_ROAD_BLOCK_HTML; + strings.SetString(L"title", + l10n_util::GetString(IDS_SSL_BLOCKING_PAGE_TITLE)); + strings.SetString(L"proceed", + l10n_util::GetString(IDS_SSL_BLOCKING_PAGE_PROCEED)); + strings.SetString(L"exit", + l10n_util::GetString(IDS_SSL_BLOCKING_PAGE_EXIT)); + } else { + resource_id = IDR_SSL_ERROR_HTML; + strings.SetString(L"title", l10n_util::GetString(IDS_SSL_ERROR_PAGE_TITLE)); + strings.SetString(L"back", l10n_util::GetString(IDS_SSL_ERROR_PAGE_BACK)); + } strings.SetString(L"textdirection", base::i18n::IsRTL() ? L"rtl" : L"ltr"); - static const base::StringPiece html( - ResourceBundle::GetSharedInstance().GetRawDataResource( - IDR_SSL_ROAD_BLOCK_HTML)); + base::StringPiece html( + ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id)); return jstemplate_builder::GetI18nTemplateHtml(html, &strings); } |