# Copyright 2020 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//ui/webui/resources/tools/generate_grd.gni")

generated_static_grdp = "$target_gen_dir/static_resources.grdp"

generate_grd("build_static_grdp") {
  out_grd = generated_static_grdp
  grd_prefix = "file_manager"

  resource_path_prefix = "file_manager"

  input_files_base_dir = rebase_path(".", "//")

  input_files = [
    "main.html",
    "init_globals.js",

    # CSS:
    "foreground/css/combobutton.css",
    "foreground/css/common.css",
    "foreground/css/file_manager.css",
    "foreground/css/file_types.css",
    "foreground/css/list.css",
    "foreground/css/menu.css",
    "foreground/css/table.css",
    "foreground/css/tree.css",

    # Images:
    "foreground/images/common/dragger.svg",
    "foreground/images/common/ic_close.svg",
    "foreground/images/common/ic_selected.svg",
    "foreground/images/files/ui/arrow_right.svg",
    "foreground/images/files/ui/back.svg",
    "foreground/images/files/ui/bulk_pinning_battery_saver.svg",
    "foreground/images/files/ui/bulk_pinning_done.svg",
    "foreground/images/files/ui/bulk_pinning_offline.svg",
    "foreground/images/files/ui/check.svg",
    "foreground/images/files/ui/cant_pin.svg",
    "foreground/images/files/ui/cloud_done.svg",
    "foreground/images/files/ui/cloud_error.svg",
    "foreground/images/files/ui/cloud_offline.svg",
    "foreground/images/files/ui/cloud.svg",
    "foreground/images/files/ui/cloud_paused.svg",
    "foreground/images/files/ui/cloud_sync.svg",
    "foreground/images/files/ui/delete_ng.svg",
    "foreground/images/files/ui/delete.svg",
    "foreground/images/files/ui/drive_bulk_pinning.svg",
    "foreground/images/files/ui/drive_logo.svg",
    "foreground/images/files/ui/drive_offline_icon.svg",
    "foreground/images/files/ui/empty_folder.svg",
    "foreground/images/files/ui/empty_search_results.svg",
    "foreground/images/files/ui/empty_trash_folder.svg",
    "foreground/images/files/ui/encrypted.svg",
    "foreground/images/files/ui/error_banner_icon.svg",
    "foreground/images/files/ui/error.svg",
    "foreground/images/files/ui/external_link.svg",
    "foreground/images/files/ui/filetype_placeholder_generic.svg",
    "foreground/images/files/ui/holding_space_welcome_image.svg",
    "foreground/images/files/ui/info.svg",
    "foreground/images/files/ui/list_check.svg",
    "foreground/images/files/ui/menu_ng.svg",
    "foreground/images/files/ui/ms365.svg",
    "foreground/images/files/ui/nudge_star_icon.svg",
    "foreground/images/files/ui/offline.svg",
    "foreground/images/files/ui/odfs_reauthentication_required.svg",
    "foreground/images/files/ui/photos_logo.svg",
    "foreground/images/files/ui/quickview_star.svg",
    "foreground/images/files/ui/refresh.svg",
    "foreground/images/files/ui/restore.svg",
    "foreground/images/files/ui/search_clear_filled.svg",
    "foreground/images/files/ui/search.svg",
    "foreground/images/files/ui/select_filetype.svg",
    "foreground/images/files/ui/select_location.svg",
    "foreground/images/files/ui/select_time.svg",
    "foreground/images/files/ui/share_ng.svg",
    "foreground/images/files/ui/shortcut.svg",
    "foreground/images/files/ui/sort_desc.svg",
    "foreground/images/files/ui/sorting_ng.svg",
    "foreground/images/files/ui/state_banner_icon.svg",
    "foreground/images/files/ui/view_list.svg",
    "foreground/images/files/ui/view_thumbnail.svg",
    "foreground/images/files/ui/visibility_ng.svg",
    "foreground/images/files/ui/warning_banner_icon.svg",
    "foreground/images/files/ui/warning.svg",
    "foreground/images/files/ui/xf_select_dropdown.svg",
    "foreground/images/filetype/filetype_archive.svg",
    "foreground/images/filetype/filetype_audio.svg",
    "foreground/images/filetype/filetype_excel.svg",
    "foreground/images/filetype/filetype_folder_shared.svg",
    "foreground/images/filetype/filetype_folder.svg",
    "foreground/images/filetype/filetype_gdoc.svg",
    "foreground/images/filetype/filetype_gdraw.svg",
    "foreground/images/filetype/filetype_generic.svg",
    "foreground/images/filetype/filetype_gform.svg",
    "foreground/images/filetype/filetype_gmap.svg",
    "foreground/images/filetype/filetype_gsheet.svg",
    "foreground/images/filetype/filetype_gsite.svg",
    "foreground/images/filetype/filetype_gmaillayout.svg",
    "foreground/images/filetype/filetype_gslides.svg",
    "foreground/images/filetype/filetype_gtable.svg",
    "foreground/images/filetype/filetype_image.svg",
    "foreground/images/filetype/filetype_pdf.svg",
    "foreground/images/filetype/filetype_ppt.svg",
    "foreground/images/filetype/filetype_script.svg",
    "foreground/images/filetype/filetype_sites.svg",
    "foreground/images/filetype/filetype_team_drive.svg",
    "foreground/images/filetype/filetype_tini.svg",
    "foreground/images/filetype/filetype_video.svg",
    "foreground/images/filetype/filetype_word.svg",
    "foreground/images/volumes/android.svg",
    "foreground/images/volumes/archive.svg",
    "foreground/images/volumes/bruschetta.svg",
    "foreground/images/volumes/camera.svg",
    "foreground/images/volumes/cd.svg",
    "foreground/images/volumes/computer.svg",
    "foreground/images/volumes/devices.svg",
    "foreground/images/volumes/downloads.svg",
    "foreground/images/volumes/drive.svg",
    "foreground/images/volumes/hard_drive.svg",
    "foreground/images/volumes/linux_files.svg",
    "foreground/images/volumes/my_files.svg",
    "foreground/images/volumes/offline.svg",
    "foreground/images/volumes/phone.svg",
    "foreground/images/volumes/plugin_vm_ng.svg",
    "foreground/images/volumes/recent.svg",
    "foreground/images/volumes/sd.svg",
    "foreground/images/volumes/service_drive.svg",
    "foreground/images/volumes/shared.svg",
    "foreground/images/volumes/shortcut.svg",
    "foreground/images/volumes/smb.svg",
    "foreground/images/volumes/team_drive.svg",
    "foreground/images/volumes/usb.svg",
  ]
}
