Index: chrome/browser/printing/printer_query.cc |
diff --git a/chrome/browser/printing/printer_query.cc b/chrome/browser/printing/printer_query.cc |
index 6cd11ff067ef9537b1c6ee0131160c8eb8805b1d..de89aae7bc69b4e05c515c1c4f1b5db797b68b28 100644 |
--- a/chrome/browser/printing/printer_query.cc |
+++ b/chrome/browser/printing/printer_query.cc |
@@ -30,6 +30,12 @@ PrinterQuery::~PrinterQuery() { |
void PrinterQuery::GetSettingsDone(const PrintSettings& new_settings, |
PrintingContext::Result result) { |
+ |
+ if (result == PrintingContext::TEST) { |
+ LOG(INFO) << "DGN - GetSettingsDone - Received TEST"; |
+ return; |
+ } |
+ |
is_print_dialog_box_shown_ = false; |
last_status_ = result; |
if (result != PrintingContext::FAILED) { |
@@ -42,11 +48,25 @@ void PrinterQuery::GetSettingsDone(const PrintSettings& new_settings, |
if (!callback_.is_null()) { |
// This may cause reentrancy like to call StopWorker(). |
+ LOG(INFO) << "DGN - GetSettingsDone - Calling PrinterQuery(" |
+ << cookie_ <<")'s stored callback"; |
+ |
callback_.Run(); |
callback_.Reset(); |
} |
} |
+void PrinterQuery::ShowSystemDialogDone(PrintingContext::Result result) { |
+ LOG(INFO) << "DGN - ShowSystemDialogDone " << result; |
+ |
+ if (!callback_.is_null()) { |
+ // This may cause reentrancy like to call StopWorker(). |
+ callback_.Run(); |
+ callback_.Reset(); |
dgn
2014/11/25 17:07:42
callback reset here. I can't rely on something cal
|
+ } |
+} |
+ |
+ |
PrintJobWorker* PrinterQuery::DetachWorker(PrintJobWorkerOwner* new_owner) { |
DCHECK(callback_.is_null()); |
DCHECK(worker_.get()); |
@@ -75,14 +95,15 @@ void PrinterQuery::GetSettings( |
StartWorker(callback); |
// Real work is done in PrintJobWorker::GetSettings(). |
- is_print_dialog_box_shown_ = ask_user_for_settings == ASK_USER; |
worker_->PostTask(FROM_HERE, |
base::Bind(&PrintJobWorker::GetSettings, |
base::Unretained(worker_.get()), |
- is_print_dialog_box_shown_, |
+ ask_user_for_settings, |
expected_page_count, |
has_selection, |
margin_type)); |
+ |
+ |
} |
void PrinterQuery::SetSettings(scoped_ptr<base::DictionaryValue> new_settings, |