diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-28 06:52:35 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-28 06:52:35 +0000 |
commit | 329581b6dbfa4ad0ca1013d0407e202b8dffed77 (patch) | |
tree | 8a6832ac64e99760cb07b74a08896f7a41def051 /chrome/browser/browser.cc | |
parent | 6faa0e0d23ca6fc27ae603063ce23eb018a670cd (diff) | |
download | chromium_src-329581b6dbfa4ad0ca1013d0407e202b8dffed77.zip chromium_src-329581b6dbfa4ad0ca1013d0407e202b8dffed77.tar.gz chromium_src-329581b6dbfa4ad0ca1013d0407e202b8dffed77.tar.bz2 |
Synchronously update the loading state when a load starts so that the UI will
be more responsive and the loading state won't be out-of-sync with anything
else. This also removes the synchronous update to the throbber when we load a
URL because this happens before the loda actually starts, giving a flash of the
default favicon. The load start call made by RenderViewHost will cover this
case after the load actually starts.
BUG=11051
Review URL: http://codereview.chromium.org/100033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14718 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser.cc')
-rw-r--r-- | chrome/browser/browser.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc index 8bdbc81..ace2369 100644 --- a/chrome/browser/browser.cc +++ b/chrome/browser/browser.cc @@ -1737,10 +1737,13 @@ void Browser::OpenURLFromTab(TabContents* source, if (GetStatusBubble()) GetStatusBubble()->Hide(); - // Update the location bar and load state. These are both synchronous - // updates inside of ScheduleUIUpdate. - ScheduleUIUpdate(current_tab, TabContents::INVALIDATE_URL | - TabContents::INVALIDATE_LOAD); + // Update the location bar. This is synchronous. We specfically don't update + // the load state since the load hasn't started yet and updating it will put + // it out of sync with the actual state like whether we're displaying a + // favicon, which controls the throbber. If we updated it here, the throbber + // will show the default favicon for a split second when navigating away + // from the new tab page. + ScheduleUIUpdate(current_tab, TabContents::INVALIDATE_URL); } else if (disposition == OFF_THE_RECORD) { OpenURLOffTheRecord(profile_, url); return; |