diff options
Diffstat (limited to 'chromium/printing/printed_document_gtk.cc')
-rw-r--r-- | chromium/printing/printed_document_gtk.cc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/chromium/printing/printed_document_gtk.cc b/chromium/printing/printed_document_gtk.cc new file mode 100644 index 00000000000..0970b251e2d --- /dev/null +++ b/chromium/printing/printed_document_gtk.cc @@ -0,0 +1,35 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "printing/printed_document.h" + +#include "base/logging.h" +#include "printing/page_number.h" +#include "printing/printed_page.h" +#include "printing/printing_context_gtk.h" + +namespace printing { + +void PrintedDocument::RenderPrintedPage( + const PrintedPage& page, PrintingContext* context) const { +#ifndef NDEBUG + { + // Make sure the page is from our list. + base::AutoLock lock(lock_); + DCHECK(&page == mutable_.pages_.find(page.page_number() - 1)->second.get()); + } +#endif + + DCHECK(context); + + { + base::AutoLock lock(lock_); + if (page.page_number() - 1 == mutable_.first_page) { + reinterpret_cast<PrintingContextGtk*>(context)->PrintDocument( + page.metafile()); + } + } +} + +} // namespace printing |