Home | History | Annotate | Download | only in printing
      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
      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_gtk.h"
     11 
     12 namespace printing {
     13 
     14 void PrintedDocument::RenderPrintedPage(
     15     const PrintedPage& page, PrintingContext* context) const {
     16 #ifndef NDEBUG
     17   {
     18     // Make sure the page is from our list.
     19     base::AutoLock lock(lock_);
     20     DCHECK(&page == mutable_.pages_.find(page.page_number() - 1)->second.get());
     21   }
     22 #endif
     23 
     24   DCHECK(context);
     25 
     26   {
     27     base::AutoLock lock(lock_);
     28     if (page.page_number() - 1 == mutable_.first_page) {
     29       reinterpret_cast<PrintingContextGtk*>(context)->PrintDocument(
     30           page.metafile());
     31     }
     32   }
     33 }
     34 
     35 }  // namespace printing
     36