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

Side by Side Diff: chrome/browser/printing/printer_query.cc

Issue 1997016: Set the job name for the print job on the Mac.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/printing/printer_query.h" 5 #include "chrome/browser/printing/printer_query.h"
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "chrome/browser/printing/print_job_worker.h" 8 #include "chrome/browser/printing/print_job_worker.h"
9 9
10 #ifdef _MSC_VER 10 #ifdef _MSC_VER
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 PrintJobWorker* PrinterQuery::DetachWorker(PrintJobWorkerOwner* new_owner) { 55 PrintJobWorker* PrinterQuery::DetachWorker(PrintJobWorkerOwner* new_owner) {
56 DCHECK(!callback_.get()); 56 DCHECK(!callback_.get());
57 DCHECK(worker_.get()); 57 DCHECK(worker_.get());
58 if (!worker_.get()) 58 if (!worker_.get())
59 return NULL; 59 return NULL;
60 worker_->SetNewOwner(new_owner); 60 worker_->SetNewOwner(new_owner);
61 return worker_.release(); 61 return worker_.release();
62 } 62 }
63 63
64 void PrinterQuery::GetSettings(GetSettingsAskParam ask_user_for_settings, 64 void PrinterQuery::GetSettings(GetSettingsAskParam ask_user_for_settings,
65 gfx::NativeWindow parent_window, 65 gfx::NativeView parent_view,
66 int expected_page_count, 66 int expected_page_count,
67 bool has_selection, 67 bool has_selection,
68 bool use_overlays, 68 bool use_overlays,
69 CancelableTask* callback) { 69 CancelableTask* callback) {
70 DCHECK_EQ(ui_message_loop_, MessageLoop::current()); 70 DCHECK_EQ(ui_message_loop_, MessageLoop::current());
71 DCHECK(!is_print_dialog_box_shown_); 71 DCHECK(!is_print_dialog_box_shown_);
72 DCHECK(!callback_.get()); 72 DCHECK(!callback_.get());
73 DCHECK(worker_.get()); 73 DCHECK(worker_.get());
74 if (!worker_.get()) 74 if (!worker_.get())
75 return; 75 return;
76 // Lazy create the worker thread. There is one worker thread per print job. 76 // Lazy create the worker thread. There is one worker thread per print job.
77 if (!worker_->message_loop()) { 77 if (!worker_->message_loop()) {
78 if (!worker_->Start()) { 78 if (!worker_->Start()) {
79 if (callback) { 79 if (callback) {
80 callback->Cancel(); 80 callback->Cancel();
81 delete callback; 81 delete callback;
82 } 82 }
83 NOTREACHED(); 83 NOTREACHED();
84 return; 84 return;
85 } 85 }
86 } 86 }
87 87
88 callback_.reset(callback); 88 callback_.reset(callback);
89 // Real work is done in PrintJobWorker::Init(). 89 // Real work is done in PrintJobWorker::Init().
90 is_print_dialog_box_shown_ = ask_user_for_settings == ASK_USER; 90 is_print_dialog_box_shown_ = ask_user_for_settings == ASK_USER;
91 worker_->message_loop()->PostTask(FROM_HERE, NewRunnableMethod( 91 worker_->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(
92 worker_.get(), 92 worker_.get(),
93 &PrintJobWorker::GetSettings, 93 &PrintJobWorker::GetSettings,
94 is_print_dialog_box_shown_, 94 is_print_dialog_box_shown_,
95 parent_window, 95 parent_view,
96 expected_page_count, 96 expected_page_count,
97 has_selection, 97 has_selection,
98 use_overlays)); 98 use_overlays));
99 } 99 }
100 100
101 void PrinterQuery::StopWorker() { 101 void PrinterQuery::StopWorker() {
102 if (worker_.get()) { 102 if (worker_.get()) {
103 worker_->Stop(); 103 worker_->Stop();
104 worker_.reset(); 104 worker_.reset();
105 } 105 }
106 } 106 }
107 107
108 bool PrinterQuery::is_print_dialog_box_shown() const { 108 bool PrinterQuery::is_print_dialog_box_shown() const {
109 return is_print_dialog_box_shown_; 109 return is_print_dialog_box_shown_;
110 } 110 }
111 111
112 bool PrinterQuery::is_callback_pending() const { 112 bool PrinterQuery::is_callback_pending() const {
113 return callback_.get() != NULL; 113 return callback_.get() != NULL;
114 } 114 }
115 115
116 bool PrinterQuery::is_valid() const { 116 bool PrinterQuery::is_valid() const {
117 return worker_.get() != NULL; 117 return worker_.get() != NULL;
118 } 118 }
119 119
120 } // namespace printing 120 } // namespace printing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698