Files app, Image Loader, Audio and Video Players: Add external_paths to optimize_webui()

This option allows rollup, which run by optimize_webui(), to recognize
chrome-extension:// URLs.

At this stage this is only used by Audio Player in its Polymer elements.
This makes rollup to inline the files addressed with chrome-extension://
URL, so don't need to specify the elements/files_* in the generate_grd()
rule anymore.

Bug: 1030998,1151834,1149811
Change-Id: I6cf037f40f04b3725b482ee8caa37ad61ef2fae1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2674619
Reviewed-by: Alex Danilo <[email protected]>
Commit-Queue: Alex Danilo <[email protected]>
Cr-Commit-Position: refs/heads/master@{#861451}
diff --git a/ui/file_manager/BUILD.gn b/ui/file_manager/BUILD.gn
index 158209b1..b8f67fe 100644
--- a/ui/file_manager/BUILD.gn
+++ b/ui/file_manager/BUILD.gn
@@ -411,9 +411,6 @@
     "file_manager/images/files/ui/menu_ng.svg",
 
     "file_manager/background/js/main_background.m.rollup.js",
-    "file_manager/foreground/elements/files_icon_button.m.js",
-    "file_manager/foreground/elements/files_ripple.m.js",
-    "file_manager/foreground/elements/files_toggle_ripple.m.js",
     "file_manager/foreground/js/deferred_elements.m.rollup.js",
     "file_manager/foreground/js/main.m.rollup.js",
     "file_manager/foreground/js/metadata_dispatcher.m.rollup.js",
@@ -450,7 +447,6 @@
     "//ui/file_manager/audio_player/js:build_worker",
     "//ui/file_manager/file_manager:fix_broken_images",
     "//ui/file_manager/file_manager/background/js:build",
-    "//ui/file_manager/file_manager/foreground/elements:elements",
     "//ui/file_manager/file_manager/foreground/js:build",
     "//ui/file_manager/file_manager/foreground/js:build_worker",
     "//ui/file_manager/image_loader:build",
diff --git a/ui/file_manager/audio_player/js/BUILD.gn b/ui/file_manager/audio_player/js/BUILD.gn
index c47dae2..e98b014d 100644
--- a/ui/file_manager/audio_player/js/BUILD.gn
+++ b/ui/file_manager/audio_player/js/BUILD.gn
@@ -179,6 +179,12 @@
     rebase_path("$target_gen_dir/../../preprocessed/audio_player/js",
                 root_build_dir)
 
+files_app_path =
+    rebase_path("$root_gen_dir/ui/file_manager/preprocessed/file_manager",
+                root_build_dir)
+image_loader_path =
+    rebase_path("$root_gen_dir/ui/file_manager/preprocessed/image_loader",
+                root_build_dir)
 optimize_webui("build") {
   host = "audio_player"
 
@@ -187,6 +193,11 @@
 
   js_out_files = [ "main.m.rollup.js" ]
 
+  external_paths = [
+    "chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj|$files_app_path",
+    "chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
+  ]
+
   deps = [
     ":main.m",
     "//ui/file_manager:preprocess_generated",
@@ -203,6 +214,11 @@
 
   js_out_files = [ "metadata_worker.m.rollup.js" ]
 
+  external_paths = [
+    "chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj|$files_app_path",
+    "chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
+  ]
+
   deps = [
     ":metadata_worker.m",
     "//ui/file_manager:preprocess_generated",
@@ -219,6 +235,11 @@
 
   js_out_files = [ "main_background.m.rollup.js" ]
 
+  external_paths = [
+    "chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj|$files_app_path",
+    "chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
+  ]
+
   deps = [
     ":main_background.m",
     "//ui/file_manager:preprocess_generated",
diff --git a/ui/file_manager/file_manager/background/js/BUILD.gn b/ui/file_manager/file_manager/background/js/BUILD.gn
index 86bbc35..54046b98 100644
--- a/ui/file_manager/file_manager/background/js/BUILD.gn
+++ b/ui/file_manager/file_manager/background/js/BUILD.gn
@@ -1365,6 +1365,13 @@
         "$target_gen_dir/../../../preprocessed/file_manager/background/js",
         root_build_dir)
 
+files_app_path =
+    rebase_path("$root_gen_dir/ui/file_manager/preprocessed/file_manager",
+                root_build_dir)
+image_loader_path =
+    rebase_path("$root_gen_dir/ui/file_manager/preprocessed/image_loader",
+                root_build_dir)
+
 optimize_webui("build") {
   host = "file_manager"
 
@@ -1373,6 +1380,11 @@
 
   js_out_files = [ "main_background.m.rollup.js" ]
 
+  external_paths = [
+    "chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj|$files_app_path",
+    "chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
+  ]
+
   deps = [
     ":main_background.m",
     "//ui/file_manager:preprocess_generated",
diff --git a/ui/file_manager/file_manager/foreground/js/BUILD.gn b/ui/file_manager/file_manager/foreground/js/BUILD.gn
index 58c917f..8446dc7f 100644
--- a/ui/file_manager/file_manager/foreground/js/BUILD.gn
+++ b/ui/file_manager/file_manager/foreground/js/BUILD.gn
@@ -2181,6 +2181,13 @@
         "$target_gen_dir/../../../preprocessed/file_manager/foreground/js",
         root_build_dir)
 
+files_app_path =
+    rebase_path("$root_gen_dir/ui/file_manager/preprocessed/file_manager",
+                root_build_dir)
+image_loader_path =
+    rebase_path("$root_gen_dir/ui/file_manager/preprocessed/image_loader",
+                root_build_dir)
+
 optimize_webui("build") {
   host = "file_manager"
 
@@ -2196,6 +2203,11 @@
     "shared.m.rollup.js",
   ]
 
+  external_paths = [
+    "chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj|$files_app_path",
+    "chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
+  ]
+
   deps = [
     ":main.m",
     "//ui/file_manager:preprocess_generated",
@@ -2212,6 +2224,11 @@
 
   js_out_files = [ "metadata_dispatcher.m.rollup.js" ]
 
+  external_paths = [
+    "chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj|$files_app_path",
+    "chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
+  ]
+
   deps = [
     "metadata:metadata_dispatcher.m",
     "//ui/file_manager:preprocess_generated",
diff --git a/ui/file_manager/image_loader/BUILD.gn b/ui/file_manager/image_loader/BUILD.gn
index 41c22b23..65b50eb1 100644
--- a/ui/file_manager/image_loader/BUILD.gn
+++ b/ui/file_manager/image_loader/BUILD.gn
@@ -264,6 +264,13 @@
 preprocess_folder =
     rebase_path("$target_gen_dir/../preprocessed/image_loader", root_build_dir)
 
+files_app_path =
+    rebase_path("$root_gen_dir/ui/file_manager/preprocessed/file_manager",
+                root_build_dir)
+image_loader_path =
+    rebase_path("$root_gen_dir/ui/file_manager/preprocessed/image_loader",
+                root_build_dir)
+
 optimize_webui("build") {
   host = "image_loader"
 
@@ -272,6 +279,11 @@
 
   js_out_files = [ "background.m.rollup.js" ]
 
+  external_paths = [
+    "chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj|$files_app_path",
+    "chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
+  ]
+
   deps = [
     ":background.m",
     "//ui/file_manager:preprocess_generated",
diff --git a/ui/file_manager/video_player/js/BUILD.gn b/ui/file_manager/video_player/js/BUILD.gn
index ad25c71..6754f89e 100644
--- a/ui/file_manager/video_player/js/BUILD.gn
+++ b/ui/file_manager/video_player/js/BUILD.gn
@@ -217,6 +217,13 @@
     rebase_path("$target_gen_dir/../../preprocessed/video_player/js",
                 root_build_dir)
 
+files_app_path =
+    rebase_path("$root_gen_dir/ui/file_manager/preprocessed/file_manager",
+                root_build_dir)
+image_loader_path =
+    rebase_path("$root_gen_dir/ui/file_manager/preprocessed/image_loader",
+                root_build_dir)
+
 optimize_webui("build") {
   host = "video_player"
 
@@ -225,6 +232,11 @@
 
   js_out_files = [ "main.m.rollup.js" ]
 
+  external_paths = [
+    "chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj|$files_app_path",
+    "chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
+  ]
+
   deps = [
     ":main.m",
     "//ui/file_manager:preprocess_generated",
@@ -241,6 +253,11 @@
 
   js_out_files = [ "main_background.m.rollup.js" ]
 
+  external_paths = [
+    "chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj|$files_app_path",
+    "chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
+  ]
+
   deps = [
     ":main_background.m",
     "//ui/file_manager:preprocess_generated",