| Index: chrome/browser/browser.cc
|
| diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc
|
| index 8bfb10c664feaafdc730cfa0c1d66017b2b2a976..bf425ac0657c3635791c389f04ae69621874c69e 100644
|
| --- a/chrome/browser/browser.cc
|
| +++ b/chrome/browser/browser.cc
|
| @@ -824,7 +824,15 @@ void Browser::GoForward(WindowOpenDisposition disp) {
|
|
|
| void Browser::Reload() {
|
| UserMetrics::RecordAction("Reload", profile_);
|
| + ReloadInternal(false);
|
| +}
|
| +
|
| +void Browser::ReloadIgnoringCache() {
|
| + UserMetrics::RecordAction("ReloadIgnoringCache", profile_);
|
| + ReloadInternal(true);
|
| +}
|
|
|
| +void Browser::ReloadInternal(bool ignore_cache) {
|
| // If we are showing an interstitial, treat this as an OpenURL.
|
| TabContents* current_tab = GetSelectedTabContents();
|
| if (current_tab) {
|
| @@ -838,7 +846,10 @@ void Browser::Reload() {
|
| // As this is caused by a user action, give the focus to the page.
|
| if (!current_tab->FocusLocationBarByDefault())
|
| current_tab->Focus();
|
| - current_tab->controller().Reload(true);
|
| + if (ignore_cache)
|
| + current_tab->controller().ReloadIgnoringCache(true);
|
| + else
|
| + current_tab->controller().Reload(true);
|
| }
|
| }
|
|
|
| @@ -1469,6 +1480,7 @@ void Browser::ExecuteCommandWithDisposition(
|
| case IDC_BACK: GoBack(disposition); break;
|
| case IDC_FORWARD: GoForward(disposition); break;
|
| case IDC_RELOAD: Reload(); break;
|
| + case IDC_RELOAD_IGNORING_CACHE: ReloadIgnoringCache(); break;
|
| case IDC_HOME: Home(disposition); break;
|
| case IDC_OPEN_CURRENT_URL: OpenCurrentURL(); break;
|
| case IDC_GO: Go(disposition); break;
|
| @@ -2509,6 +2521,7 @@ void Browser::InitCommandState() {
|
|
|
| // Navigation commands
|
| command_updater_.UpdateCommandEnabled(IDC_RELOAD, true);
|
| + command_updater_.UpdateCommandEnabled(IDC_RELOAD_IGNORING_CACHE, true);
|
|
|
| // Window management commands
|
| command_updater_.UpdateCommandEnabled(IDC_NEW_WINDOW, true);
|
| @@ -2700,6 +2713,8 @@ void Browser::UpdateCommandsForTabState() {
|
| // Disable certain items if running DevTools
|
| command_updater_.UpdateCommandEnabled(IDC_RELOAD,
|
| CanReloadContents(current_tab));
|
| + command_updater_.UpdateCommandEnabled(IDC_RELOAD_IGNORING_CACHE,
|
| + CanReloadContents(current_tab));
|
| bool enabled_for_non_devtools = type() != TYPE_DEVTOOLS;
|
| command_updater_.UpdateCommandEnabled(IDC_FIND, enabled_for_non_devtools);
|
| command_updater_.UpdateCommandEnabled(IDC_FIND_NEXT,
|
|
|