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

import("//third_party/blink/renderer/core/core.gni")

blink_core_sources("loader") {
  sources = [
    "appcache/application_cache.cc",
    "appcache/application_cache.h",
    "appcache/application_cache_host.cc",
    "appcache/application_cache_host.h",
    "base_fetch_context.cc",
    "base_fetch_context.h",
    "cookie_jar.cc",
    "cookie_jar.h",
    "document_load_timing.cc",
    "document_load_timing.h",
    "document_loader.cc",
    "document_loader.h",
    "empty_clients.cc",
    "empty_clients.h",
    "form_submission.cc",
    "form_submission.h",
    "frame_fetch_context.cc",
    "frame_fetch_context.h",
    "frame_load_request.cc",
    "frame_load_request.h",
    "frame_loader.cc",
    "frame_loader.h",
    "frame_loader_state_machine.cc",
    "frame_loader_state_machine.h",
    "frame_loader_types.h",
    "history_item.cc",
    "history_item.h",
    "http_equiv.cc",
    "http_equiv.h",
    "idleness_detector.cc",
    "idleness_detector.h",
    "image_loader.cc",
    "image_loader.h",
    "importance_attribute.cc",
    "importance_attribute.h",
    "interactive_detector.cc",
    "interactive_detector.h",
    "link_loader.cc",
    "link_loader.h",
    "link_loader_client.h",
    "long_task_detector.cc",
    "long_task_detector.h",
    "mixed_content_checker.cc",
    "mixed_content_checker.h",
    "modulescript/document_module_script_fetcher.cc",
    "modulescript/document_module_script_fetcher.h",
    "modulescript/installed_service_worker_module_script_fetcher.cc",
    "modulescript/installed_service_worker_module_script_fetcher.h",
    "modulescript/module_script_creation_params.h",
    "modulescript/module_script_fetch_request.h",
    "modulescript/module_script_fetcher.cc",
    "modulescript/module_script_fetcher.h",
    "modulescript/module_script_loader.cc",
    "modulescript/module_script_loader.h",
    "modulescript/module_script_loader_client.h",
    "modulescript/module_script_loader_registry.cc",
    "modulescript/module_script_loader_registry.h",
    "modulescript/module_tree_linker.cc",
    "modulescript/module_tree_linker.h",
    "modulescript/module_tree_linker_registry.cc",
    "modulescript/module_tree_linker_registry.h",
    "modulescript/worker_module_script_fetcher.cc",
    "modulescript/worker_module_script_fetcher.h",
    "modulescript/worklet_module_script_fetcher.cc",
    "modulescript/worklet_module_script_fetcher.h",
    "navigation_policy.cc",
    "navigation_policy.h",
    "navigation_scheduler.cc",
    "navigation_scheduler.h",
    "network_hints_interface.h",
    "ping_loader.cc",
    "ping_loader.h",
    "prerenderer_client.cc",
    "prerenderer_client.h",
    "previews_resource_loading_hints.cc",
    "previews_resource_loading_hints.h",
    "previews_resource_loading_hints_receiver_impl.cc",
    "previews_resource_loading_hints_receiver_impl.h",
    "private/frame_client_hints_preferences_context.cc",
    "private/frame_client_hints_preferences_context.h",
    "private/prerender_handle.cc",
    "private/prerender_handle.h",
    "progress_tracker.cc",
    "progress_tracker.h",
    "resource/css_style_sheet_resource.cc",
    "resource/css_style_sheet_resource.h",
    "resource/document_resource.cc",
    "resource/document_resource.h",
    "resource/font_resource.cc",
    "resource/font_resource.h",
    "resource/image_resource.cc",
    "resource/image_resource.h",
    "resource/image_resource_content.cc",
    "resource/image_resource_content.h",
    "resource/image_resource_info.h",
    "resource/image_resource_observer.h",
    "resource/link_fetch_resource.cc",
    "resource/link_fetch_resource.h",
    "resource/multipart_image_resource_parser.cc",
    "resource/multipart_image_resource_parser.h",
    "resource/script_resource.cc",
    "resource/script_resource.h",
    "resource/text_resource.cc",
    "resource/text_resource.h",
    "resource/xsl_style_sheet_resource.cc",
    "resource/xsl_style_sheet_resource.h",
    "scheduled_navigation.cc",
    "scheduled_navigation.h",
    "subresource_filter.cc",
    "subresource_filter.h",
    "subresource_integrity_helper.cc",
    "subresource_integrity_helper.h",
    "text_resource_decoder_builder.cc",
    "text_resource_decoder_builder.h",
    "text_track_loader.cc",
    "text_track_loader.h",
    "threadable_loader.cc",
    "threadable_loader.h",
    "threadable_loader_client.h",
    "worker_fetch_context.cc",
    "worker_fetch_context.h",
  ]

  public_deps = [
    "//third_party/blink/renderer/platform",
  ]
}
