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_); |