Don't call chrome::EndKeepAlive from CloudPrintWebDialogDelegate::OnDialogClosed.
chrome::EndKeepAlive maycall CloudPrintWebDialogDelegate::OnDialogClosed again.
BUG=321368
Review URL: https://codereview.chromium.org/76983004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236200 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/printing/print_dialog_cloud.cc b/chrome/browser/printing/print_dialog_cloud.cc
index 8dcaf97..f030633 100644
--- a/chrome/browser/printing/print_dialog_cloud.cc
+++ b/chrome/browser/printing/print_dialog_cloud.cc
@@ -585,8 +585,11 @@
// If we're modal we can show the dialog with no browser.
// End the keep-alive so that Chrome can exit.
- if (!modal_parent_ && keep_alive_when_non_modal_)
- chrome::EndKeepAlive();
+ if (!modal_parent_ && keep_alive_when_non_modal_) {
+ // Post to prevent recursive call tho this function.
+ base::MessageLoop::current()->PostTask(FROM_HERE,
+ base::Bind(&chrome::EndKeepAlive));
+ }
delete this;
}