# Copyright 2014 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.

pdf_engine = 0  # 0 PDFium

static_library("pdf") {
  sources = [
    "button.cc",
    "button.h",
    "chunk_stream.cc",
    "chunk_stream.h",
    "control.cc",
    "control.h",
    "document_loader.cc",
    "document_loader.h",
    "draw_utils.cc",
    "draw_utils.h",
    "fading_control.cc",
    "fading_control.h",
    "fading_controls.cc",
    "fading_controls.h",
    "instance.cc",
    "instance.h",
    "number_image_generator.cc",
    "number_image_generator.h",
    "out_of_process_instance.cc",
    "out_of_process_instance.h",
    "page_indicator.cc",
    "page_indicator.h",
    "paint_aggregator.cc",
    "paint_aggregator.h",
    "paint_manager.cc",
    "paint_manager.h",
    "pdf.cc",
    "pdf.h",
    "pdf_engine.h",
    "preview_mode_client.cc",
    "preview_mode_client.h",
    "progress_control.cc",
    "progress_control.h",
    "resource.h",
    "resource_consts.h",
    "thumbnail_control.cc",
    "thumbnail_control.h",
  ]

  # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
  configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]

  if (pdf_engine == 0) {
    sources += [
      "pdfium/pdfium_api_string_buffer_adapter.cc",
      "pdfium/pdfium_api_string_buffer_adapter.h",
      "pdfium/pdfium_assert_matching_enums.cc",
      "pdfium/pdfium_engine.cc",
      "pdfium/pdfium_engine.h",
      "pdfium/pdfium_mem_buffer_file_read.cc",
      "pdfium/pdfium_mem_buffer_file_read.h",
      "pdfium/pdfium_mem_buffer_file_write.cc",
      "pdfium/pdfium_mem_buffer_file_write.h",
      "pdfium/pdfium_page.cc",
      "pdfium/pdfium_page.h",
      "pdfium/pdfium_range.cc",
      "pdfium/pdfium_range.h",
    ]
  }

  deps = [
    "//base",
    "//components/ui/zoom:ui_zoom",
    "//content/public/common",
    "//net",
    "//ppapi/cpp/private:internal_module",
    "//third_party/pdfium",
  ]
}
