Index: chrome/browser/managed_mode/managed_mode_interstitial.cc |
diff --git a/chrome/browser/managed_mode/managed_mode_interstitial.cc b/chrome/browser/managed_mode/managed_mode_interstitial.cc |
index 225b776e339cd7856a0018852bf69b555f42cedf..9d97ccc40fce4fe04b0c5e13a5801e0c367f0b5b 100644 |
--- a/chrome/browser/managed_mode/managed_mode_interstitial.cc |
+++ b/chrome/browser/managed_mode/managed_mode_interstitial.cc |
@@ -224,6 +224,11 @@ void ManagedModeInterstitial::OnFilteringPrefsChanged() { |
} |
void ManagedModeInterstitial::DispatchContinueRequest(bool continue_request) { |
+ // If there is no history entry to go back to, close the tab instead. |
+ int nav_entry_count = web_contents_->GetController().GetEntryCount(); |
+ if (!continue_request && nav_entry_count == 0) |
+ web_contents_->Close(); |
+ |
BrowserThread::PostTask( |
BrowserThread::IO, FROM_HERE, base::Bind(callback_, continue_request)); |
} |