| OLD | NEW |
| 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/print_job_worker.h" | 5 #include "chrome/browser/printing/print_job_worker.h" |
| 6 | 6 |
| 7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
| 8 #include "chrome/browser/chrome_thread.h" | 8 #include "chrome/browser/chrome_thread.h" |
| 9 #include "chrome/browser/printing/print_job.h" | 9 #include "chrome/browser/printing/print_job.h" |
| 10 #include "chrome/common/notification_service.h" | 10 #include "chrome/common/notification_service.h" |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 NULL); | 256 NULL); |
| 257 owner_->message_loop()->PostTask(FROM_HERE, task); | 257 owner_->message_loop()->PostTask(FROM_HERE, task); |
| 258 | 258 |
| 259 // Makes sure the variables are reinitialized. | 259 // Makes sure the variables are reinitialized. |
| 260 document_ = NULL; | 260 document_ = NULL; |
| 261 } | 261 } |
| 262 | 262 |
| 263 void PrintJobWorker::SpoolPage(PrintedPage& page) { | 263 void PrintJobWorker::SpoolPage(PrintedPage& page) { |
| 264 DCHECK_EQ(message_loop(), MessageLoop::current()); | 264 DCHECK_EQ(message_loop(), MessageLoop::current()); |
| 265 DCHECK_NE(page_number_, PageNumber::npos()); | 265 DCHECK_NE(page_number_, PageNumber::npos()); |
| 266 #if !defined(OS_MACOSX) | 266 |
| 267 DCHECK(printing_context_.context()); | |
| 268 #endif | |
| 269 // Signal everyone that the page is about to be printed. | 267 // Signal everyone that the page is about to be printed. |
| 270 NotificationTask* task = new NotificationTask(); | 268 NotificationTask* task = new NotificationTask(); |
| 271 task->Init(owner_, | 269 task->Init(owner_, |
| 272 JobEventDetails::NEW_PAGE, | 270 JobEventDetails::NEW_PAGE, |
| 273 document_.get(), | 271 document_.get(), |
| 274 &page); | 272 &page); |
| 275 owner_->message_loop()->PostTask(FROM_HERE, task); | 273 owner_->message_loop()->PostTask(FROM_HERE, task); |
| 276 | 274 |
| 277 // Preprocess. | 275 // Preprocess. |
| 278 if (printing_context_.NewPage() != PrintingContext::OK) { | 276 if (printing_context_.NewPage() != PrintingContext::OK) { |
| 279 OnFailure(); | 277 OnFailure(); |
| 280 return; | 278 return; |
| 281 } | 279 } |
| 282 | 280 |
| 283 #if defined(OS_MACOSX) | |
| 284 // Context is only valid between NewPage and PageDone, so we only check here. | |
| 285 DCHECK(printing_context_.context()); | |
| 286 #endif | |
| 287 // Actual printing. | 281 // Actual printing. |
| 288 document_->RenderPrintedPage(page, printing_context_.context()); | 282 document_->RenderPrintedPage(page, printing_context_.context()); |
| 289 | 283 |
| 290 // Postprocess. | 284 // Postprocess. |
| 291 if (printing_context_.PageDone() != PrintingContext::OK) { | 285 if (printing_context_.PageDone() != PrintingContext::OK) { |
| 292 OnFailure(); | 286 OnFailure(); |
| 293 return; | 287 return; |
| 294 } | 288 } |
| 295 | 289 |
| 296 // Signal everyone that the page is printed. | 290 // Signal everyone that the page is printed. |
| (...skipping 30 matching lines...) Expand all Loading... |
| 327 printing::PrintJobWorker* obj) { | 321 printing::PrintJobWorker* obj) { |
| 328 DCHECK(!owner_.get()); | 322 DCHECK(!owner_.get()); |
| 329 owner_ = obj->owner_; | 323 owner_ = obj->owner_; |
| 330 } | 324 } |
| 331 | 325 |
| 332 void RunnableMethodTraits<printing::PrintJobWorker>::ReleaseCallee( | 326 void RunnableMethodTraits<printing::PrintJobWorker>::ReleaseCallee( |
| 333 printing::PrintJobWorker* obj) { | 327 printing::PrintJobWorker* obj) { |
| 334 DCHECK_EQ(owner_, obj->owner_); | 328 DCHECK_EQ(owner_, obj->owner_); |
| 335 owner_ = NULL; | 329 owner_ = NULL; |
| 336 } | 330 } |
| OLD | NEW |