Commit 82a1baac authored by Nigel Tao's avatar Nigel Tao Committed by Commit Bot

Centralize externs_list BUILD.gn declarations

The externs_list is used by the Closure compiler, to type check imported
terms like 'chrome.fileManagerPrivate.foo', and to ensure that when
minimizing JS code from 'foo.bar.baz()' to 'a.b.c()', well known names
like 'chrome' aren't minimized.

However, the files_manager app does not ship Closure-compiled code in
production. It ships uncompiled code - the .js files as written by the
programmer. Instead, the externs_list is used indirectly by the
js_type_check("closure_compile") rules as a lint-style check.

Prior to this CL, maintaining the externs_list was therefore ad hoc and
indirect. For example, the hand-written and hand-maintained BUILD.gn
files would contain rules like:

js_library("foo") {
  deps = [
    "../../common/js:elephant",
    "../../common/js:giraffe",
  ]
  externs_list = [
    "../../../externs/apple.js",
    "../../../externs/banana.js",
  ]
}

where foo.js might not refer to externs/apple.js any longer, and it
might actually depend on externs/pear.js that is only coincidentally
satisfied because common/js/giraffe.js happens to list externs/pear.js
on its externs_list. This might be true at any particular point in time,
but as new code is added, and as existing code is refactored, the
externs_list entries become stale.

After this CL, each js_type_check("closure_compile") target has an
associated js_library("closure_compile_externs") BUILD.gn target. This
gives exactly one place to list all the external dependencies of every
Closure compilation target.

Future commits may re-organize the very fine grained (only 1 .js file
per js_library BUILD.gn target) js_library targets into larger units,
and in doing so, push duplicated externs_list entries from the leaves of
the BUILD.gn dependency tree towards the root. This could arguably help
us move towards shipping Closure compiled JS instead of hand-written JS.
But the first step is to get a handle on the dependencies (i.e.
externs_list entries) in the first place.

Test: "ninja ui/file_manager:closure_compile" runs without error
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I1a3b029b5223db12abd38077d56914ad9d28a396
Reviewed-on: https://chromium-review.googlesource.com/1092399Reviewed-by: default avatarcalamity <calamity@chromium.org>
Reviewed-by: default avatarSasha Morrissey <sashab@chromium.org>
Commit-Queue: Nigel Tao <nigeltao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567072}
parent 8bdbe686
......@@ -7,6 +7,7 @@ import("//third_party/closure_compiler/compile_js.gni")
js_type_check("closure_compile") {
deps = [
":audio_player",
":closure_compile_externs",
":control_panel",
":repeat_button",
":track_info_panel",
......@@ -14,6 +15,11 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = []
}
js_library("audio_player") {
deps = [
":control_panel",
......
......@@ -8,11 +8,29 @@ js_type_check("closure_compile") {
deps = [
":audio_player",
":background",
":closure_compile_externs",
":error_util",
":metadata_worker",
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/metrics_private.js",
"../../externs/audio_player_foreground.js",
"../../externs/entry_location.js",
"../../externs/platform.js",
"../../externs/volume_info.js",
"../../externs/volume_info_list.js",
"../../externs/volume_manager.js",
"//third_party/analytics/externs.js",
]
}
js_library("audio_player") {
deps = [
"../../file_manager/common/js:util",
......@@ -22,10 +40,6 @@ js_library("audio_player") {
"../elements:audio_player",
"../elements:track_list",
]
externs_list = [
"../../externs/audio_player_foreground.js",
"$externs_path/file_manager_private.js",
]
}
js_library("background") {
......
......@@ -10,6 +10,7 @@ js_type_check("closure_compile") {
":app_windows",
":background",
":background_base",
":closure_compile_externs",
":device_handler",
":drive_sync_handler",
":duplicate_finder",
......@@ -34,6 +35,31 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/metrics_private.js",
"../../../externs/background/file_browser_background.js",
"../../../externs/background/file_browser_background_full.js",
"../../../externs/background/import_history.js",
"../../../externs/background/import_runner.js",
"../../../externs/background/media_scanner.js",
"../../../externs/background_window.js",
"../../../externs/css_rule.js",
"../../../externs/entry_location.js",
"../../../externs/file_operation_progress_event.js",
"../../../externs/launcher_search_provider.js",
"../../../externs/platform.js",
"../../../externs/volume_info.js",
"../../../externs/volume_info_list.js",
"../../../externs/volume_manager.js",
"//third_party/analytics/externs.js",
]
}
js_type_check("media_import_handler_compile") {
deps = [
":media_import_handler",
......@@ -46,14 +72,9 @@ js_library("app_window_wrapper") {
"../../common/js:async_util",
"../../common/js:util",
]
externs_list = [ "$externs_path/chrome_extensions.js" ]
}
js_library("app_windows") {
externs_list = [
"../../../externs/app_window_common.js",
"$externs_path/chrome_extensions.js",
]
}
js_library("background") {
......@@ -74,11 +95,6 @@ js_library("background") {
"../../common/js:util",
"../../common/js:volume_manager_common",
]
externs_list = [
"../../../externs/background/file_browser_background_full.js",
"../../../externs/volume_manager.js",
"$externs_path/chrome_extensions.js",
]
}
js_library("background_base") {
......@@ -89,7 +105,6 @@ js_library("background_base") {
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js:load_time_data",
]
externs_list = [ "$externs_path/file_manager_private.js" ]
}
js_library("device_handler") {
......@@ -100,10 +115,6 @@ js_library("device_handler") {
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js/cr:event_target",
]
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/file_manager_private.js",
]
}
js_library("drive_sync_handler") {
......@@ -120,18 +131,12 @@ js_library("duplicate_finder") {
"../../common/js:lru_cache",
"../../common/js:metrics",
]
externs_list = [
"//third_party/analytics/externs.js",
"../../../externs/volume_manager.js",
"$externs_path/file_manager_private.js",
]
}
js_library("entry_location_impl") {
deps = [
"../../common/js:volume_manager_common",
]
externs_list = [ "../../../externs/entry_location.js" ]
}
js_library("file_operation_handler") {
......@@ -148,7 +153,6 @@ js_library("file_operation_manager") {
":volume_manager_factory",
"//ui/webui/resources/js:cr",
]
externs_list = [ "../../../externs/volume_manager.js" ]
}
js_library("file_operation_util") {
......@@ -157,7 +161,6 @@ js_library("file_operation_util") {
"../../common/js:async_util",
"../../common/js:util",
]
externs_list = [ "../../../externs/file_operation_progress_event.js" ]
}
js_library("metadata_proxy") {
......@@ -174,7 +177,6 @@ js_library("import_history") {
"../../common/js:metrics_events",
"../../common/js:util",
]
externs_list = [ "../../../externs/background/import_history.js" ]
}
js_library("launcher") {
......@@ -191,10 +193,6 @@ js_library("launcher_search") {
"../../common/js:file_type",
"../../common/js:util",
]
externs_list = [
"../../../externs/launcher_search_provider.js",
"$externs_path/file_manager_private.js",
]
}
js_library("media_import_handler") {
......@@ -207,7 +205,6 @@ js_library("media_import_handler") {
"../../common/js:importer_common",
"../../common/js:metrics",
]
externs_list = [ "../../../externs/background/import_runner.js" ]
}
js_library("media_scanner") {
......@@ -215,11 +212,6 @@ js_library("media_scanner") {
":file_operation_util",
"../../common/js:importer_common",
]
externs_list = [
"../../../externs/platform.js",
"../../../externs/background/media_scanner.js",
"$externs_path/file_manager_private.js",
]
}
js_library("mock_volume_manager") {
......@@ -229,12 +221,6 @@ js_library("mock_volume_manager") {
":volume_manager_factory",
"../../common/js:mock_entry",
]
externs_list = [
"../../../externs/entry_location.js",
"../../../externs/volume_info_list.js",
"../../../externs/volume_info.js",
"../../../externs/volume_manager.js",
]
}
js_library("progress_center") {
......@@ -244,7 +230,6 @@ js_library("progress_center") {
"../../common/js:util",
"../../foreground/js/ui:progress_center_panel",
]
externs_list = [ "$externs_path/chrome_extensions.js" ]
}
js_library("task_queue") {
......@@ -258,11 +243,6 @@ js_library("volume_info_impl") {
deps = [
"../../common/js:volume_manager_common",
]
externs_list = [
"../../../externs/platform.js",
"../../../externs/volume_info.js",
"$externs_path/command_line_private.js",
]
}
js_library("volume_info_list_impl") {
......@@ -273,10 +253,6 @@ js_library("volume_info_list_impl") {
"//ui/webui/resources/js/cr:ui",
"//ui/webui/resources/js/cr/ui:array_data_model",
]
externs_list = [
"../../../externs/volume_info.js",
"../../../externs/volume_info_list.js",
]
}
js_library("volume_manager_impl") {
......@@ -286,14 +262,12 @@ js_library("volume_manager_impl") {
":volume_manager_util",
"../../common/js:async_util",
]
externs_list = [ "../../../externs/volume_manager.js" ]
}
js_library("volume_manager_factory") {
deps = [
":volume_manager_impl",
]
externs_list = [ "../../../externs/volume_manager.js" ]
}
js_library("volume_manager_util") {
......
......@@ -7,6 +7,7 @@ import("//third_party/closure_compiler/compile_js.gni")
js_type_check("closure_compile") {
deps = [
":async_util",
":closure_compile_externs",
":error_util",
":file_type",
":importer_common",
......@@ -21,6 +22,23 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/metrics_private.js",
"../../../externs/app_window_common.js",
"../../../externs/background/file_browser_background.js",
"../../../externs/background_window.js",
"../../../externs/entry_location.js",
"../../../externs/platform.js",
"../../../externs/volume_info.js",
"//third_party/analytics/externs.js",
]
}
js_library("async_util") {
}
......@@ -35,13 +53,6 @@ js_library("importer_common") {
":file_type",
":volume_manager_common",
]
externs_list = [
"../../../externs/background_window.js",
"../../../externs/background/file_browser_background.js",
"//third_party/analytics/externs.js",
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
]
}
js_library("lru_cache") {
......@@ -52,22 +63,15 @@ js_library("metrics") {
":metrics_base",
"//ui/webui/resources/js:assert",
]
externs_list = [
"$externs_path/file_manager_private.js",
"$externs_path/chrome_extensions.js",
"//third_party/analytics/externs.js",
]
}
js_library("metrics_base") {
externs_list = [ "$externs_path/metrics_private.js" ]
}
js_library("metrics_events") {
deps = [
":metrics_base",
]
externs_list = [ "//third_party/analytics/externs.js" ]
}
js_library("mock_entry") {
......@@ -88,19 +92,10 @@ js_library("util") {
"//ui/webui/resources/js/cr:event_target",
"//ui/webui/resources/js/cr:ui",
]
externs_list = [
"../../../externs/app_window_common.js",
"../../../externs/entry_location.js",
"../../../externs/platform.js",
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
]
}
js_library("volume_manager_common") {
deps = [
"//ui/webui/resources/js:assert",
]
externs_list = [ "../../../externs/volume_info.js" ]
}
......@@ -6,6 +6,7 @@ import("//third_party/closure_compiler/compile_js.gni")
js_type_check("closure_compile") {
deps = [
":closure_compile_externs",
":files_icon_button",
":files_metadata_box",
":files_metadata_entry",
......@@ -19,6 +20,15 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/web_animations.js",
"../../../externs/webview_tag.js",
]
}
js_library("files_icon_button") {
deps = [
"//third_party/polymer/v1_0/components-chromium/iron-behaviors:iron-button-state-extracted",
......@@ -36,17 +46,12 @@ js_library("files_quick_view") {
deps = [
":files_metadata_box",
]
externs_list = [
"../../../externs/webview_tag.js",
"$externs_path/chrome_extensions.js",
]
}
js_library("files_ripple") {
deps = [
"//ui/webui/resources/js:assert",
]
externs_list = [ "$externs_path/web_animations.js" ]
}
js_library("files_safe_media") {
......@@ -56,11 +61,9 @@ js_library("files_safe_media_webview_content") {
}
js_library("files_toast") {
externs_list = [ "$externs_path/web_animations.js" ]
}
js_library("files_toggle_ripple") {
externs_list = [ "$externs_path/web_animations.js" ]
}
js_library("files_tooltip") {
......
......@@ -9,6 +9,7 @@ js_type_check("closure_compile") {
":actions_controller",
":actions_model",
":app_state_controller",
":closure_compile_externs",
":column_visibility_controller",
":constants",
":dialog_action_controller",
......@@ -62,6 +63,46 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/metrics_private.js",
"$externs_path/web_animations.js",
"../../../externs/app_window_common.js",
"../../../externs/background/drive_sync_handler.js",
"../../../externs/background/file_browser_background.js",
"../../../externs/background/file_browser_background_full.js",
"../../../externs/background/file_operation_manager.js",
"../../../externs/background/import_history.js",
"../../../externs/background/import_history_enum.js",
"../../../externs/background/import_runner.js",
"../../../externs/background/media_import_handler.js",
"../../../externs/background/media_scanner.js",
"../../../externs/background/progress_center.js",
"../../../externs/background/volume_manager_factory.js",
"../../../externs/background_window.js",
"../../../externs/chrome_echo_private.js",
"../../../externs/chrome_webstore_widget_private.js",
"../../../externs/command_handler_deps.js",
"../../../externs/css_rule.js",
"../../../externs/directory_change_event.js",
"../../../externs/drag_target.js",
"../../../externs/entries_changed_event.js",
"../../../externs/entry_location.js",
"../../../externs/gallery_foreground.js",
"../../../externs/menu_item_update_event.js",
"../../../externs/paper_elements.js",
"../../../externs/platform.js",
"../../../externs/search_item.js",
"../../../externs/volume_info.js",
"../../../externs/volume_info_list.js",
"../../../externs/volume_manager.js",
"//third_party/analytics/externs.js",
]
}
js_library("actions_controller") {
deps = [
":actions_model",
......@@ -84,10 +125,6 @@ js_library("actions_model") {
"ui:share_dialog",
"//ui/webui/resources/js:cr",
]
externs_list = [
"../../../externs/background/drive_sync_handler.js",
"$externs_path/file_manager_private.js",
]
}
js_library("app_state_controller") {
......@@ -140,7 +177,6 @@ js_library("directory_contents") {
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js/cr/ui:array_data_model",
]
externs_list = [ "$externs_path/file_manager_private.js" ]
}
js_library("directory_model") {
......@@ -152,10 +188,6 @@ js_library("directory_model") {
"../../common/js:metrics_events",
"ui:file_list_selection_model",
]
externs_list = [
"../../../externs/background/file_operation_manager.js",
"../../../externs/entries_changed_event.js",
]
}
js_library("navigation_uma") {
......@@ -179,7 +211,6 @@ js_library("drop_effect_and_label") {
}
js_library("elements_importer") {
externs_list = [ "$externs_path/metrics_private.js" ]
}
js_library("empty_folder_controller") {
......@@ -236,18 +267,6 @@ js_library("file_manager") {
"ui:file_manager_ui",
"//ui/webui/resources/js/cr/ui:list_selection_model",
]
externs_list = [
"../../../externs/background/drive_sync_handler.js",
"../../../externs/background/file_browser_background_full.js",
"../../../externs/background/file_operation_manager.js",
"../../../externs/background/import_history.js",
"../../../externs/background/import_history_enum.js",
"../../../externs/background/import_runner.js",
"../../../externs/background/media_import_handler.js",
"../../../externs/background/media_scanner.js",
"../../../externs/background/progress_center.js",
"../../../externs/background_window.js",
]
}
js_library("file_manager_commands") {
......@@ -267,11 +286,6 @@ js_library("file_manager_commands") {
"ui:directory_tree",
"ui:file_manager_ui",
]
externs_list = [
"../../../externs/background_window.js",
"../../../externs/command_handler_deps.js",
"../../../externs/background/file_operation_manager.js",
]
}
js_library("file_selection") {
......@@ -287,7 +301,6 @@ js_library("file_selection") {
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js:cr",
]
externs_list = [ "../../../externs/background/file_operation_manager.js" ]
}
js_library("file_tasks") {
......@@ -316,10 +329,6 @@ js_library("file_transfer_controller") {
"ui:multi_profile_share_dialog",
"ui:progress_center_panel",
]
externs_list = [
"../../../externs/background/file_operation_manager.js",
"../../../externs/background/progress_center.js",
]
}
js_library("file_watcher") {
......@@ -329,7 +338,6 @@ js_library("file_watcher") {
"../../common/js:volume_manager_common",
"//ui/webui/resources/js:assert",
]
externs_list = [ "$externs_path/file_manager_private.js" ]
}
js_library("folder_shortcuts_data_model") {
......@@ -340,7 +348,6 @@ js_library("folder_shortcuts_data_model") {
"../../common/js:util",
"../../common/js:volume_manager_common",
]
externs_list = [ "$externs_path/chrome_extensions.js" ]
}
js_library("gear_menu_controller") {
......@@ -351,7 +358,6 @@ js_library("gear_menu_controller") {
"ui:gear_menu",
"//ui/webui/resources/js/cr/ui:context_menu_button",
]
externs_list = [ "../../../externs/directory_change_event.js" ]
}
js_library("import_controller") {
......@@ -369,12 +375,6 @@ js_library("import_controller") {
"ui:directory_tree",
"ui:file_manager_ui",
]
externs_list = [
"../../../externs/background/import_runner.js",
"../../../externs/background/media_import_handler.js",
"../../../externs/background/media_scanner.js",
"../../../externs/command_handler_deps.js",
]
}
js_library("last_modified_controller") {
......@@ -422,7 +422,6 @@ js_library("main_window_component") {
":volume_manager_wrapper",
"ui:file_manager_ui",
]
externs_list = [ "../../../externs/directory_change_event.js" ]
}
js_library("metadata_box_controller") {
......@@ -434,7 +433,6 @@ js_library("metadata_box_controller") {
"metadata:metadata_model",
"ui:file_metadata_formatter",
]
externs_list = [ "$externs_path/file_manager_private.js" ]
}
js_library("metadata_update_controller") {
......@@ -472,7 +470,6 @@ js_library("navigation_list_model") {
"//ui/webui/resources/js/cr:event_target",
"//ui/webui/resources/js/cr/ui:array_data_model",
]
externs_list = [ "../../../externs/volume_info.js" ]
}
js_library("progress_center_item_group") {
......@@ -487,7 +484,6 @@ js_library("providers_model") {
":volume_manager_wrapper",
"//ui/webui/resources/js:assert",
]
externs_list = [ "$externs_path/file_manager_private.js" ]
}
js_library("quick_view_controller") {
......@@ -538,7 +534,6 @@ js_library("search_controller") {
"ui:location_line",
"ui:search_box",
]
externs_list = [ "../../../externs/volume_manager.js" ]
}
js_library("selection_menu_controller") {
......@@ -554,15 +549,6 @@ js_library("share_client") {
"../../common/js:volume_manager_common",
"//ui/webui/resources/js/cr:event_target",
]
externs_list = [
"../../../externs/entry_location.js",
"../../../externs/gallery_foreground.js",
"../../../externs/volume_info.js",
"../../../externs/volume_info_list.js",
"../../../externs/volume_manager.js",
"../../../externs/webview_tag.js",
"$externs_path/chrome_extensions.js",
]
}
js_library("sort_menu_controller") {
......@@ -597,7 +583,6 @@ js_library("task_history") {
deps = [
"//ui/webui/resources/js/cr:event_target",
]
externs_list = [ "$externs_path/chrome_extensions.js" ]
}
js_library("thumbnail_loader") {
......@@ -627,14 +612,6 @@ js_library("volume_manager_wrapper") {
"//ui/webui/resources/js/cr:event_target",
"//ui/webui/resources/js/cr/ui:array_data_model",
]
externs_list = [
"../../../externs/background/volume_manager_factory.js",
"../../../externs/entry_location.js",
"../../../externs/volume_info.js",
"../../../externs/volume_info_list.js",
"../../../externs/volume_manager.js",
"$externs_path/chrome_extensions.js",
]
}
js_library("web_store_utils") {
......
......@@ -7,6 +7,7 @@ import("//third_party/closure_compiler/compile_js.gni")
js_type_check("closure_compile") {
deps = [
":byte_reader",
":closure_compile_externs",
":content_metadata_provider",
":exif_constants",
":exif_parser",
......@@ -31,6 +32,21 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"../../../../externs/app_window_common.js",
"../../../../externs/entry_location.js",
"../../../../externs/exif_entry.js",
"../../../../externs/metadata_worker_window.js",
"../../../../externs/platform.js",
"../../../../externs/volume_info.js",
]
}
js_library("byte_reader") {
}
......@@ -40,7 +56,6 @@ js_library("content_metadata_provider") {
"../../../common/js:file_type",
"../../../common/js:util",
]
externs_list = [ "$externs_path/chrome_extensions.js" ]
}
js_library("exif_constants") {
......@@ -52,14 +67,12 @@ js_library("exif_parser") {
":image_parsers",
":metadata_parser",
]
externs_list = [ "../../../../externs/exif_entry.js" ]
}
js_library("external_metadata_provider") {
deps = [
":metadata_provider",
]
externs_list = [ "$externs_path/file_manager_private.js" ]
}
js_library("file_system_metadata_provider") {
......@@ -120,10 +133,6 @@ js_library("metadata_dispatcher") {
deps = [
":metadata_parser",
]
externs_list = [
"../../../../externs/metadata_worker_window.js",
"../../../../externs/platform.js",
]
}
js_library("metadata_item") {
......@@ -146,7 +155,6 @@ js_library("metadata_parser") {
deps = [
":byte_reader",
]
externs_list = [ "../../../../externs/metadata_worker_window.js" ]
}
js_library("metadata_provider") {
......
......@@ -8,6 +8,7 @@ js_type_check("closure_compile") {
deps = [
":actions_submenu",
":banners",
":closure_compile_externs",
":combobutton",
":commandbutton",
":default_task_dialog",
......@@ -39,6 +40,39 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/metrics_private.js",
"$externs_path/web_animations.js",
"../../../../externs/app_window_common.js",
"../../../../externs/background/drive_sync_handler.js",
"../../../../externs/background/file_browser_background.js",
"../../../../externs/background/file_operation_manager.js",
"../../../../externs/background/import_history.js",
"../../../../externs/background/import_history_enum.js",
"../../../../externs/background/volume_manager_factory.js",
"../../../../externs/background_window.js",
"../../../../externs/chrome_echo_private.js",
"../../../../externs/chrome_webstore_widget_private.js",
"../../../../externs/css_rule.js",
"../../../../externs/drag_target.js",
"../../../../externs/entries_changed_event.js",
"../../../../externs/entry_location.js",
"../../../../externs/gallery_foreground.js",
"../../../../externs/menu_item_update_event.js",
"../../../../externs/paper_elements.js",
"../../../../externs/platform.js",
"../../../../externs/search_item.js",
"../../../../externs/volume_info.js",
"../../../../externs/volume_info_list.js",
"../../../../externs/volume_manager.js",
"//third_party/analytics/externs.js",
]
}
js_library("actions_submenu") {
deps = [
"..:actions_model",
......@@ -57,11 +91,6 @@ js_library("banners") {
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js/cr:event_target",
]
externs_list = [
"../../../../externs/chrome_echo_private.js",
"$externs_path/chrome_extensions.js",
"$externs_path/file_manager_private.js",
]
}
js_library("combobutton") {
......@@ -111,10 +140,6 @@ js_library("directory_tree") {
"//ui/webui/resources/js/cr/ui:menu",
"//ui/webui/resources/js/cr/ui:tree",
]
externs_list = [
"../../../../externs/background/file_operation_manager.js",
"../../../../externs/menu_item_update_event.js",
]
}
js_library("drag_selector") {
......@@ -122,7 +147,6 @@ js_library("drag_selector") {
"//ui/webui/resources/js/cr:ui",
"//ui/webui/resources/js/cr/ui:list",
]
externs_list = [ "../../../../externs/drag_target.js" ]
}
js_library("empty_folder") {
......@@ -149,10 +173,6 @@ js_library("file_grid") {
"../metadata:metadata_model",
"//ui/webui/resources/js/cr/ui:grid",
]
externs_list = [
"../../../../externs/background/import_history.js",
"../../../../externs/background/import_history_enum.js",
]
}
js_library("file_list_selection_model") {
......@@ -168,7 +188,6 @@ js_library("file_manager_dialog_base") {
"//ui/webui/resources/js/cr:ui",
"//ui/webui/resources/js/cr/ui:dialogs",
]
externs_list = [ "$externs_path/chrome_extensions.js" ]
}
js_library("file_manager_ui") {
......@@ -224,10 +243,6 @@ js_library("file_table") {
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js/cr/ui:table",
]
externs_list = [
"../../../../externs/background/import_history.js",
"../../../../externs/background/import_history_enum.js",
]
}
js_library("file_table_list") {
......@@ -266,10 +281,6 @@ js_library("files_menu") {
"//ui/webui/resources/js/cr/ui:menu",
"//ui/webui/resources/js/cr/ui:menu_item",
]
externs_list = [
"../../../../externs/paper_elements.js",
"$externs_path/web_animations.js",
]
}
js_library("gear_menu") {
......@@ -293,10 +304,6 @@ js_library("location_line") {
"../../../common/js:util",
"../../../common/js:volume_manager_common",
]
externs_list = [
"../../../../externs/platform.js",
"../../../../externs/volume_manager.js",
]
}
js_library("multi_profile_share_dialog") {
......@@ -304,7 +311,6 @@ js_library("multi_profile_share_dialog") {
":file_manager_dialog_base",
"../../../common/js:util",
]
externs_list = [ "$externs_path/file_manager_private.js" ]
}
js_library("progress_center_panel") {
......@@ -312,7 +318,6 @@ js_library("progress_center_panel") {
"..:progress_center_item_group",
"../../../common/js:progress_center_common",
]
externs_list = [ "../../../../externs/css_rule.js" ]
}
js_library("providers_menu") {
......@@ -323,7 +328,6 @@ js_library("providers_menu") {
"//ui/webui/resources/js/cr/ui:menu",
"//ui/webui/resources/js/cr/ui:position_util",
]
externs_list = [ "../../../../externs/menu_item_update_event.js" ]
}
js_library("search_box") {
......@@ -338,7 +342,6 @@ js_library("search_box") {
"//ui/webui/resources/js/cr:ui",
"//ui/webui/resources/js/cr/ui:autocomplete_list",
]
externs_list = [ "../../../../externs/search_item.js" ]
}
js_library("share_dialog") {
......@@ -348,7 +351,6 @@ js_library("share_dialog") {
"../../../common/js:async_util",
"../../../common/js:util",
]
externs_list = [ "$externs_path/file_manager_private.js" ]
}
js_library("suggest_apps_dialog") {
......@@ -363,8 +365,4 @@ js_library("suggest_apps_dialog") {
"../../../common/js:volume_manager_common",
"//components/chrome_apps/webstore_widget/cws_widget:cws_widget_container",
]
externs_list = [
"../../../../externs/chrome_webstore_widget_private.js",
"$externs_path/file_manager_private.js",
]
}
......@@ -7,6 +7,7 @@ import("//third_party/closure_compiler/compile_js.gni")
js_type_check("closure_compile") {
deps = [
":background",
":closure_compile_externs",
":dimmable_ui_controller",
":entry_list_watcher",
":error_banner",
......@@ -22,6 +23,25 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/metrics_private.js",
"$externs_path/web_animations.js",
"../../externs/entry_location.js",
"../../externs/paper_elements.js",
"../../externs/platform.js",
"../../externs/volume_info.js",
"../../externs/volume_info_list.js",
"../../externs/volume_manager.js",
"../../externs/webview_tag.js",
"//third_party/analytics/externs.js",
]
}
js_library("background") {
deps = [
"../../file_manager/background/js:app_window_wrapper",
......@@ -36,7 +56,6 @@ js_library("dimmable_ui_controller") {
"image_editor:image_editor_prompt",
"//ui/webui/resources/js:assert",
]
externs_list = [ "$externs_path/chrome_extensions.js" ]
}
js_library("entry_list_watcher") {
......@@ -44,10 +63,6 @@ js_library("entry_list_watcher") {
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js/cr/ui:array_data_model",
]
externs_list = [
"../../externs/platform.js",
"$externs_path/file_manager_private.js",
]
}
js_library("error_banner") {
......@@ -68,7 +83,6 @@ js_library("gallery") {
"../../gallery/js:slide_mode",
"//ui/webui/resources/js:i18n_template_no_process",
]
externs_list = [ "../../externs/volume_manager.js" ]
}
js_library("gallery_constants") {
......@@ -119,7 +133,6 @@ js_library("ribbon") {
"//ui/webui/resources/js/cr/ui:array_data_model",
"//ui/webui/resources/js/cr/ui:list_selection_model",
]
externs_list = [ "../../externs/gallery_event.js" ]
}
js_library("slide_mode") {
......@@ -141,10 +154,6 @@ js_library("slide_mode") {
"image_editor:viewport",
"//third_party/polymer/v1_0/components-chromium/paper-progress:paper-progress-extracted",
]
externs_list = [
"$externs_path/chrome_extensions.js",
"../../externs/gallery_foreground.js",
]
}
js_library("thumbnail_mode") {
......
......@@ -6,6 +6,7 @@ import("//third_party/closure_compiler/compile_js.gni")
js_type_check("closure_compile") {
deps = [
":closure_compile_externs",
":commands",
":exif_encoder",
":filter",
......@@ -26,6 +27,27 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/metrics_private.js",
"$externs_path/web_animations.js",
"../../../externs/app_window_common.js",
"../../../externs/background/volume_manager_factory.js",
"../../../externs/entry_location.js",
"../../../externs/exif_entry.js",
"../../../externs/paper_elements.js",
"../../../externs/platform.js",
"../../../externs/volume_info.js",
"../../../externs/volume_info_list.js",
"../../../externs/volume_manager.js",
"//third_party/analytics/externs.js",
]
}
js_library("commands") {
deps = [
":filter",
......@@ -43,7 +65,6 @@ js_library("exif_encoder") {
"../../../file_manager/foreground/js/metadata:exif_constants",
"../../../file_manager/foreground/js/metadata:metadata_item",
]
externs_list = [ "../../../externs/exif_entry.js" ]
}
js_library("filter") {
......@@ -99,7 +120,6 @@ js_library("image_editor_toolbar") {
"../../../file_manager/common/js:util",
"../../../file_manager/foreground/elements:files_tooltip",
]
externs_list = [ "../../../externs/paper_elements.js" ]
}
js_library("image_encoder") {
......
......@@ -8,6 +8,7 @@ js_type_check("closure_compile") {
deps = [
":background",
":cache",
":closure_compile_externs",
":image_loader",
":image_loader_client",
":image_loader_util",
......@@ -17,6 +18,16 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/file_manager_private.js",
"$externs_path/metrics_private.js",
"//third_party/analytics/externs.js",
]
}
js_library("background") {
deps = [
":image_loader",
......@@ -33,10 +44,6 @@ js_library("image_loader") {
":request",
":scheduler",
]
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/file_manager_private.js",
]
}
js_library("image_loader_util") {
......@@ -44,24 +51,18 @@ js_library("image_loader_util") {
":piex_loader",
"//ui/webui/resources/js:assert",
]
externs_list = [ "$externs_path/file_manager_private.js" ]
}
js_library("image_loader_client") {
deps = [
"../file_manager/common/js:lru_cache",
]
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/metrics_private.js",
]
}
js_library("piex_loader") {
deps = [
"../file_manager/foreground/js/metadata:image_orientation",
]
externs_list = [ "$externs_path/file_manager_private.js" ]
}
js_library("request") {
......
......@@ -7,6 +7,7 @@ import("//third_party/closure_compiler/compile_js.gni")
js_type_check("closure_compile") {
deps = [
":background",
":closure_compile_externs",
":error_util",
":media_controls",
":video_player",
......@@ -14,6 +15,24 @@ js_type_check("closure_compile") {
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/media_player_private.js",
"$externs_path/metrics_private.js",
"../../externs/chrome_cast.js",
"../../externs/entry_location.js",
"../../externs/platform.js",
"../../externs/volume_info.js",
"../../externs/volume_info_list.js",
"../../externs/volume_manager.js",
"//third_party/analytics/externs.js",
]
}
js_library("background") {
deps = [
":error_util",
......@@ -31,7 +50,6 @@ js_library("media_controls") {
"//third_party/polymer/v1_0/components-chromium/paper-slider:paper-slider-extracted",
"//ui/webui/resources/js/cr/ui:menu_button",
]
externs_list = [ "$externs_path/media_player_private.js" ]
}
js_library("video_player") {
......@@ -50,7 +68,6 @@ js_library("video_player") {
"//ui/webui/resources/js/cr/ui:menu",
"//ui/webui/resources/js/cr/ui:menu_item",
]
externs_list = [ "../../externs/chrome_cast.js" ]
}
js_library("video_player_metrics") {
......
......@@ -9,10 +9,31 @@ js_type_check("closure_compile") {
":cast_extension_discoverer",
":cast_video_element",
":caster",
":closure_compile_externs",
":media_manager",
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/media_player_private.js",
"$externs_path/metrics_private.js",
"../../../externs/app_window_common.js",
"../../../externs/background/volume_manager_factory.js",
"../../../externs/chrome_cast.js",
"../../../externs/entry_location.js",
"../../../externs/platform.js",
"../../../externs/volume_info.js",
"../../../externs/volume_info_list.js",
"../../../externs/volume_manager.js",
"//third_party/analytics/externs.js",
]
}
js_library("cast_extension_discoverer") {
deps = [
"..:error_util",
......@@ -26,10 +47,6 @@ js_library("cast_video_element") {
"..:video_player_metrics",
"//ui/webui/resources/js/cr:event_target",
]
externs_list = [
"../../../externs/chrome_cast.js",
"../../../externs/platform.js",
]
}
js_library("caster") {
......@@ -37,9 +54,7 @@ js_library("caster") {
":cast_extension_discoverer",
"..:video_player",
]
externs_list = [ "../../../externs/chrome_cast.js" ]
}
js_library("media_manager") {
externs_list = [ "$externs_path/file_manager_private.js" ]
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment