Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: chrome/browser/ui/unload_controller.cc

Issue 160963002: Reset UnloadController::is_attempting_to_close_browser_ when the download-in-progress prompt is can… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sky comments Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/unload_controller.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/unload_controller.cc
diff --git a/chrome/browser/ui/unload_controller.cc b/chrome/browser/ui/unload_controller.cc
index db8b2476ddda62c63ab6d73e2d85685df8acb5c4..931d8cae412fea8036ff2bddb4ea9ac8cfe8a0bc 100644
--- a/chrome/browser/ui/unload_controller.cc
+++ b/chrome/browser/ui/unload_controller.cc
@@ -180,6 +180,28 @@ bool UnloadController::TabsNeedBeforeUnloadFired() {
return !tabs_needing_before_unload_fired_.empty();
}
+void UnloadController::CancelWindowClose() {
+ // Closing of window can be canceled from a beforeunload handler.
+ DCHECK(is_attempting_to_close_browser_);
+ tabs_needing_before_unload_fired_.clear();
+ for (UnloadListenerSet::iterator it = tabs_needing_unload_fired_.begin();
+ it != tabs_needing_unload_fired_.end(); ++it) {
+ DevToolsWindow::OnPageCloseCanceled(*it);
+ }
+ tabs_needing_unload_fired_.clear();
+ if (is_calling_before_unload_handlers()) {
+ base::Callback<void(bool)> on_close_confirmed = on_close_confirmed_;
+ on_close_confirmed_.Reset();
+ on_close_confirmed.Run(false);
+ }
+ is_attempting_to_close_browser_ = false;
+
+ content::NotificationService::current()->Notify(
+ chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED,
+ content::Source<Browser>(browser_),
+ content::NotificationService::NoDetails());
+}
+
////////////////////////////////////////////////////////////////////////////////
// UnloadController, content::NotificationObserver implementation:
@@ -308,28 +330,6 @@ bool UnloadController::HasCompletedUnloadProcessing() const {
tabs_needing_unload_fired_.empty();
}
-void UnloadController::CancelWindowClose() {
- // Closing of window can be canceled from a beforeunload handler.
- DCHECK(is_attempting_to_close_browser_);
- tabs_needing_before_unload_fired_.clear();
- for (UnloadListenerSet::iterator it = tabs_needing_unload_fired_.begin();
- it != tabs_needing_unload_fired_.end(); ++it) {
- DevToolsWindow::OnPageCloseCanceled(*it);
- }
- tabs_needing_unload_fired_.clear();
- if (is_calling_before_unload_handlers()) {
- base::Callback<void(bool)> on_close_confirmed = on_close_confirmed_;
- on_close_confirmed_.Reset();
- on_close_confirmed.Run(false);
- }
- is_attempting_to_close_browser_ = false;
-
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED,
- content::Source<Browser>(browser_),
- content::NotificationService::NoDetails());
-}
-
bool UnloadController::RemoveFromSet(UnloadListenerSet* set,
content::WebContents* web_contents) {
DCHECK(is_attempting_to_close_browser_);
« no previous file with comments | « chrome/browser/ui/unload_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698