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

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

Issue 118338: Add support for printing selection only flag. This only adds the flag to the ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 6 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
« no previous file with comments | « chrome/browser/printing/printer_query.h ('k') | chrome/browser/printing/win_printing_context.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 HWND parent_window, 65 HWND parent_window,
66 int expected_page_count, 66 int expected_page_count,
67 bool has_selection,
67 CancelableTask* callback) { 68 CancelableTask* callback) {
68 DCHECK_EQ(ui_message_loop_, MessageLoop::current()); 69 DCHECK_EQ(ui_message_loop_, MessageLoop::current());
69 DCHECK(!is_print_dialog_box_shown_); 70 DCHECK(!is_print_dialog_box_shown_);
70 DCHECK(!callback_.get()); 71 DCHECK(!callback_.get());
71 DCHECK(worker_.get()); 72 DCHECK(worker_.get());
72 if (!worker_.get()) 73 if (!worker_.get())
73 return; 74 return;
74 // Lazy create the worker thread. There is one worker thread per print job. 75 // Lazy create the worker thread. There is one worker thread per print job.
75 if (!worker_->message_loop()) { 76 if (!worker_->message_loop()) {
76 if (!worker_->Start()) { 77 if (!worker_->Start()) {
77 if (callback) { 78 if (callback) {
78 callback->Cancel(); 79 callback->Cancel();
79 delete callback; 80 delete callback;
80 } 81 }
81 NOTREACHED(); 82 NOTREACHED();
82 return; 83 return;
83 } 84 }
84 } 85 }
85 86
86 callback_.reset(callback); 87 callback_.reset(callback);
87 // Real work is done in PrintJobWorker::Init(). 88 // Real work is done in PrintJobWorker::Init().
88 is_print_dialog_box_shown_ = ask_user_for_settings == ASK_USER; 89 is_print_dialog_box_shown_ = ask_user_for_settings == ASK_USER;
89 worker_->message_loop()->PostTask(FROM_HERE, NewRunnableMethod( 90 worker_->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(
90 worker_.get(), 91 worker_.get(),
91 &PrintJobWorker::GetSettings, 92 &PrintJobWorker::GetSettings,
92 is_print_dialog_box_shown_, 93 is_print_dialog_box_shown_,
93 parent_window, 94 parent_window,
94 expected_page_count)); 95 expected_page_count,
96 has_selection));
95 } 97 }
96 98
97 void PrinterQuery::StopWorker() { 99 void PrinterQuery::StopWorker() {
98 if (worker_.get()) { 100 if (worker_.get()) {
99 worker_->Stop(); 101 worker_->Stop();
100 worker_.reset(); 102 worker_.reset();
101 } 103 }
102 } 104 }
103 105
104 bool PrinterQuery::is_print_dialog_box_shown() const { 106 bool PrinterQuery::is_print_dialog_box_shown() const {
105 return is_print_dialog_box_shown_; 107 return is_print_dialog_box_shown_;
106 } 108 }
107 109
108 bool PrinterQuery::is_callback_pending() const { 110 bool PrinterQuery::is_callback_pending() const {
109 return callback_.get() != NULL; 111 return callback_.get() != NULL;
110 } 112 }
111 113
112 bool PrinterQuery::is_valid() const { 114 bool PrinterQuery::is_valid() const {
113 return worker_.get() != NULL; 115 return worker_.get() != NULL;
114 } 116 }
115 117
116 } // namespace printing 118 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/browser/printing/printer_query.h ('k') | chrome/browser/printing/win_printing_context.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698