| Index: content/browser/ssl/ssl_manager.cc
|
| diff --git a/content/browser/ssl/ssl_manager.cc b/content/browser/ssl/ssl_manager.cc
|
| index ab1048c31404dc35e1eb261f1aab427c8d76f10e..e4c71e3dc4e0f8b2c520afe4cb9d9979d51140d9 100644
|
| --- a/content/browser/ssl/ssl_manager.cc
|
| +++ b/content/browser/ssl/ssl_manager.cc
|
| @@ -121,7 +121,10 @@ void SSLManager::DidCommitProvisionalLoad(const LoadCommittedDetails& details) {
|
| }
|
| }
|
|
|
| - UpdateEntry(entry);
|
| + policy()->UpdateEntry(entry, controller_->delegate()->GetWebContents());
|
| + // Always notify the WebContents that the SSL state changed when a
|
| + // load is committed, in case the active navigation entry has changed.
|
| + NotifyDidChangeVisibleSSLState();
|
| }
|
|
|
| void SSLManager::DidDisplayInsecureContent() {
|
| @@ -184,12 +187,16 @@ void SSLManager::UpdateEntry(NavigationEntryImpl* entry) {
|
|
|
| SSLStatus original_ssl_status = entry->GetSSL(); // Copy!
|
|
|
| - WebContentsImpl* contents =
|
| - static_cast<WebContentsImpl*>(controller_->delegate()->GetWebContents());
|
| - policy()->UpdateEntry(entry, contents);
|
| + policy()->UpdateEntry(entry, controller_->delegate()->GetWebContents());
|
|
|
| if (!entry->GetSSL().Equals(original_ssl_status))
|
| - contents->DidChangeVisibleSSLState();
|
| + NotifyDidChangeVisibleSSLState();
|
| +}
|
| +
|
| +void SSLManager::NotifyDidChangeVisibleSSLState() {
|
| + WebContentsImpl* contents =
|
| + static_cast<WebContentsImpl*>(controller_->delegate()->GetWebContents());
|
| + contents->DidChangeVisibleSSLState();
|
| }
|
|
|
| } // namespace content
|
|
|