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