1ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org// Copyright 2014 The Chromium Authors. All rights reserved.
2901e96df6916e6f8ba95a4ea85a2ceac31e7d633robertphillips// Use of this source code is governed by a BSD-style license that can be
3901e96df6916e6f8ba95a4ea85a2ceac31e7d633robertphillips// found in the LICENSE file.
4901e96df6916e6f8ba95a4ea85a2ceac31e7d633robertphillips
5901e96df6916e6f8ba95a4ea85a2ceac31e7d633robertphillips#include "printing/printed_document.h"
6901e96df6916e6f8ba95a4ea85a2ceac31e7d633robertphillips
7ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org#include "base/logging.h"
8ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org#include "printing/page_number.h"
9ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org#include "printing/printed_page.h"
10ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org#include "printing/printing_context_linux.h"
11ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org
12ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.orgnamespace printing {
13ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org
14ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org#if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
15901e96df6916e6f8ba95a4ea85a2ceac31e7d633robertphillipsvoid PrintedDocument::RenderPrintedPage(
16ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org    const PrintedPage& page, PrintingContext* context) const {
17ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org#ifndef NDEBUG
18ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org  {
19ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org    // Make sure the page is from our list.
20ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org    base::AutoLock lock(lock_);
21ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org    DCHECK(&page == mutable_.pages_.find(page.page_number() - 1)->second.get());
22ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org  }
23ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org#endif
24ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org
25ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org  DCHECK(context);
26ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org
27ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org  {
28ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org    base::AutoLock lock(lock_);
29ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org    if (page.page_number() - 1 == mutable_.first_page) {
30ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org      static_cast<PrintingContextLinux*>(context)
31ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org          ->PrintDocument(*page.metafile());
32ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org    }
33d537341e16524d1e22ac5e6c8b9c8f274ba1833crobertphillips  }
34ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org}
354cbf8e3dce10ef0d06e5ef95ea88b084bbad2553robertphillips#endif  // !OS_CHROMEOS && !OS_ANDROID
36ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org
37ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org}  // namespace printing
38ad854bf9c0d2029cf0730e50ac7f7ddbe32d1c97commit-bot@chromium.org