summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tab_contents
diff options
context:
space:
mode:
authorabarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-01 00:11:40 +0000
committerabarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-01 00:11:40 +0000
commitdf1af24a4724624aa2b56c6adc0db49694379d25 (patch)
tree466cc885d6706d8d4bf8ed2485ca592646b68476 /chrome/browser/tab_contents
parent49f3d5598a091569e15102770ffb1a50732d2fc4 (diff)
downloadchromium_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.cc12
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