diff options
author | abarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-01 00:11:40 +0000 |
---|---|---|
committer | abarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-01 00:11:40 +0000 |
commit | df1af24a4724624aa2b56c6adc0db49694379d25 (patch) | |
tree | 466cc885d6706d8d4bf8ed2485ca592646b68476 /chrome/browser/tab_contents | |
parent | 49f3d5598a091569e15102770ffb1a50732d2fc4 (diff) | |
download | chromium_src-df1af24a4724624aa2b56c6adc0db49694379d25.zip chromium_src-df1af24a4724624aa2b56c6adc0db49694379d25.tar.gz chromium_src-df1af24a4724624aa2b56c6adc0db49694379d25.tar.bz2 |
Stop the location bar from flashing white when navigating from one HTTPS site to another. To do this, we have to make sure the SSLManager sees the DidCommitProvisionalLoad event before the location bar draws itself to the screen.
BUG=11157
TEST=Navigate from one HTTPS site to another and watch the location bar carefully. It shouln't flash anymore.
Review URL: http://codereview.chromium.org/99247
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15020 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/tab_contents')
-rw-r--r-- | chrome/browser/tab_contents/navigation_controller.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/chrome/browser/tab_contents/navigation_controller.cc b/chrome/browser/tab_contents/navigation_controller.cc index 268eadb..d8aca75 100644 --- a/chrome/browser/tab_contents/navigation_controller.cc +++ b/chrome/browser/tab_contents/navigation_controller.cc @@ -865,17 +865,25 @@ void NavigationController::NavigateToPendingEntry(bool reload) { void NavigationController::NotifyNavigationEntryCommitted( LoadCommittedDetails* details) { + details->entry = GetActiveEntry(); + NotificationDetails notification_details = + Details<LoadCommittedDetails>(details); + + // We need to notify the ssl_manager_ before the tab_contents_ so the + // location bar will have up-to-date information about the security style + // when it wants to draw. See http://crbug.com/11157 + ssl_manager_.DidCommitProvisionalLoad(notification_details); + // TODO(pkasting): http://b/1113079 Probably these explicit notification paths // should be removed, and interested parties should just listen for the // notification below instead. tab_contents_->NotifyNavigationStateChanged( TabContents::INVALIDATE_EVERYTHING); - details->entry = GetActiveEntry(); NotificationService::current()->Notify( NotificationType::NAV_ENTRY_COMMITTED, Source<NavigationController>(this), - Details<LoadCommittedDetails>(details)); + notification_details); } // static |