summaryrefslogtreecommitdiffstats
path: root/chrome/browser/navigation_controller.cc
diff options
context:
space:
mode:
authorbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-07 23:57:40 +0000
committerbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-07 23:57:40 +0000
commite83f16853d443dd0556b7e8c42f1f6013581715d (patch)
tree58a34a6602aa351ae1d35c2ab5117a0ffd01089a /chrome/browser/navigation_controller.cc
parentf80ea89e0e951089b9f08ea40c2c2b528f3df66f (diff)
downloadchromium_src-e83f16853d443dd0556b7e8c42f1f6013581715d.zip
chromium_src-e83f16853d443dd0556b7e8c42f1f6013581715d.tar.gz
chromium_src-e83f16853d443dd0556b7e8c42f1f6013581715d.tar.bz2
Fix SSL state in the URL bar being incorrect. Going to an EV site like https://www.verisign.com/ would not should the EV name in the URL bar unless you did something like switch tabs away and back because in my cleanup I removed the notification that this was depending on.
This patch adds a new NOTIFY_SSL_STATE_CHANGED notification which is broadcast by the various SSL components when they update the flags. The browser now listens for this notification and will update the URL bar. BUG=1359547 TEST=see repro steps in bug Review URL: http://codereview.chromium.org/436 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1831 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/navigation_controller.cc')
-rw-r--r--chrome/browser/navigation_controller.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/chrome/browser/navigation_controller.cc b/chrome/browser/navigation_controller.cc
index 2dfc9b3..df55f9b 100644
--- a/chrome/browser/navigation_controller.cc
+++ b/chrome/browser/navigation_controller.cc
@@ -537,7 +537,13 @@ void NavigationController::DidNavigateToEntry(NavigationEntry* entry,
} else if ((existing_entry != pending_entry_) && pending_entry_ &&
(pending_entry_->page_id() == -1) &&
(pending_entry_->url() == existing_entry->url())) {
- // Not a new navigation.
+ // In this case, we have a pending entry for a URL but WebCore didn't do a
+ // new navigation. This happens when you press enter in the URL bar to
+ // reload. We will create a pending entry, but WebCore will convert it to
+ // a reload since it's the same page and not create a new entry for it
+ // (the user doesn't want to have a new back/forward entry when they do
+ // this). In this case, we want to just ignore the pending entry and go back
+ // to where we were.
existing_entry->set_unique_id(pending_entry_->unique_id());
DiscardPendingEntry();
} else {