• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "printing/printed_document.h"
6 
7 #include "base/logging.h"
8 #include "printing/page_number.h"
9 #include "printing/printed_page.h"
10 #include "printing/printing_context_linux.h"
11 
12 namespace printing {
13 
14 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
RenderPrintedPage(const PrintedPage & page,PrintingContext * context) const15 void PrintedDocument::RenderPrintedPage(
16     const PrintedPage& page, PrintingContext* context) const {
17 #ifndef NDEBUG
18   {
19     // Make sure the page is from our list.
20     base::AutoLock lock(lock_);
21     DCHECK(&page == mutable_.pages_.find(page.page_number() - 1)->second.get());
22   }
23 #endif
24 
25   DCHECK(context);
26 
27   {
28     base::AutoLock lock(lock_);
29     if (page.page_number() - 1 == mutable_.first_page) {
30       static_cast<PrintingContextLinux*>(context)->PrintDocument(
31           page.metafile());
32     }
33   }
34 }
35 #endif  // !OS_CHROMEOS && !OS_ANDROID
36 
37 }  // namespace printing
38