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

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

Issue 47823002: De-duplicate job_settings parsing code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Noam's comments Created 7 years, 1 month 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/print_job_worker.h" 5 #include "chrome/browser/printing/print_job_worker.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 void PrintJobWorker::UseDefaultSettings() { 201 void PrintJobWorker::UseDefaultSettings() {
202 PrintingContext::Result result = printing_context_->UseDefaultSettings(); 202 PrintingContext::Result result = printing_context_->UseDefaultSettings();
203 GetSettingsDone(result); 203 GetSettingsDone(result);
204 } 204 }
205 205
206 void PrintJobWorker::StartPrinting(PrintedDocument* new_document) { 206 void PrintJobWorker::StartPrinting(PrintedDocument* new_document) {
207 DCHECK_EQ(message_loop(), base::MessageLoop::current()); 207 DCHECK_EQ(message_loop(), base::MessageLoop::current());
208 DCHECK_EQ(page_number_, PageNumber::npos()); 208 DCHECK_EQ(page_number_, PageNumber::npos());
209 DCHECK_EQ(document_, new_document); 209 DCHECK_EQ(document_, new_document);
210 DCHECK(document_.get()); 210 DCHECK(document_.get());
211 DCHECK(new_document->settings().Equals(printing_context_->settings()));
212 211
213 if (!document_.get() || page_number_ != PageNumber::npos() || 212 if (!document_.get() || page_number_ != PageNumber::npos() ||
214 document_.get() != new_document) { 213 document_.get() != new_document) {
215 return; 214 return;
216 } 215 }
217 216
218 string16 document_name = 217 string16 document_name =
219 printing::PrintBackend::SimplifyDocumentTitle(document_->name()); 218 printing::PrintBackend::SimplifyDocumentTitle(document_->name());
220 if (document_name.empty()) { 219 if (document_name.empty()) {
221 document_name = printing::PrintBackend::SimplifyDocumentTitle( 220 document_name = printing::PrintBackend::SimplifyDocumentTitle(
(...skipping 11 matching lines...) Expand all
233 OnNewPage(); 232 OnNewPage();
234 // Don't touch this anymore since the instance could be destroyed. It happens 233 // Don't touch this anymore since the instance could be destroyed. It happens
235 // if all the pages are printed a one sweep and the client doesn't have a 234 // if all the pages are printed a one sweep and the client doesn't have a
236 // handle to us anymore. There's a timing issue involved between the worker 235 // handle to us anymore. There's a timing issue involved between the worker
237 // thread and the UI thread. Take no chance. 236 // thread and the UI thread. Take no chance.
238 } 237 }
239 238
240 void PrintJobWorker::OnDocumentChanged(PrintedDocument* new_document) { 239 void PrintJobWorker::OnDocumentChanged(PrintedDocument* new_document) {
241 DCHECK_EQ(message_loop(), base::MessageLoop::current()); 240 DCHECK_EQ(message_loop(), base::MessageLoop::current());
242 DCHECK_EQ(page_number_, PageNumber::npos()); 241 DCHECK_EQ(page_number_, PageNumber::npos());
243 DCHECK(!new_document ||
244 new_document->settings().Equals(printing_context_->settings()));
245 242
246 if (page_number_ != PageNumber::npos()) 243 if (page_number_ != PageNumber::npos())
247 return; 244 return;
248 245
249 document_ = new_document; 246 document_ = new_document;
250 } 247 }
251 248
252 void PrintJobWorker::OnNewPage() { 249 void PrintJobWorker::OnNewPage() {
253 if (!document_.get()) // Spurious message. 250 if (!document_.get()) // Spurious message.
254 return; 251 return;
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 JobEventDetails::FAILED, document_, 377 JobEventDetails::FAILED, document_,
381 scoped_refptr<PrintedPage>())); 378 scoped_refptr<PrintedPage>()));
382 Cancel(); 379 Cancel();
383 380
384 // Makes sure the variables are reinitialized. 381 // Makes sure the variables are reinitialized.
385 document_ = NULL; 382 document_ = NULL;
386 page_number_ = PageNumber::npos(); 383 page_number_ = PageNumber::npos();
387 } 384 }
388 385
389 } // namespace printing 386 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/browser/printing/print_dialog_gtk.cc ('k') | chrome/browser/printing/printing_message_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698