From 379e1821ffa68a3f68f738dbf4d96b3dbb245b51 Mon Sep 17 00:00:00 2001
From: dpapad <dpapad@chromium.org>
Date: Mon, 3 Oct 2022 18:50:31 +0000
Subject: [PATCH] Ensure js_modulizer(), polymer_modulizer() are only used in
 CrOS.

These tools were supposed to only be used during the JS modules/Polymer3
migrations. Remaining usages should be removed as migrated code is
checked-in instead of being auto-generated. Adding assertions to avoid
any new usages in non-CrOS code.

Bug: 1184053
Change-Id: I3d12a26a66a5be4131441891867e06b0c606047b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3930652
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Kyle Horimoto <khorimoto@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1054251}
---
 .../resources/chromeos/login/components/buttons/BUILD.gn      | 1 +
 .../data/webui/cr_components/chromeos/network_health/BUILD.gn | 1 -
 tools/polymer/polymer.gni                                     | 3 +++
 ui/webui/resources/tools/js_modulizer.gni                     | 4 ++++
 4 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/chrome/browser/resources/chromeos/login/components/buttons/BUILD.gn b/chrome/browser/resources/chromeos/login/components/buttons/BUILD.gn
index 28e24008b3410..0edda841008b7 100644
--- a/chrome/browser/resources/chromeos/login/components/buttons/BUILD.gn
+++ b/chrome/browser/resources/chromeos/login/components/buttons/BUILD.gn
@@ -4,6 +4,7 @@
 
 import("//third_party/closure_compiler/compile_js.gni")
 import("//tools/polymer/polymer.gni")
+import("//ui/webui/resources/tools/js_modulizer.gni")
 import("../../oobe_auto_imports.gni")
 
 group("polymer3_elements") {
diff --git a/chrome/test/data/webui/cr_components/chromeos/network_health/BUILD.gn b/chrome/test/data/webui/cr_components/chromeos/network_health/BUILD.gn
index a64c6091343b1..e19bdcee3881f 100644
--- a/chrome/test/data/webui/cr_components/chromeos/network_health/BUILD.gn
+++ b/chrome/test/data/webui/cr_components/chromeos/network_health/BUILD.gn
@@ -3,7 +3,6 @@
 # found in the LICENSE file.
 
 import("//third_party/closure_compiler/compile_js.gni")
-import("//ui/webui/resources/tools/js_modulizer.gni")
 
 js_type_check("closure_compile") {
   is_polymer3 = true
diff --git a/tools/polymer/polymer.gni b/tools/polymer/polymer.gni
index f5cec90770a4e..6cfe416adee9b 100644
--- a/tools/polymer/polymer.gni
+++ b/tools/polymer/polymer.gni
@@ -2,8 +2,11 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import("//build/config/chromeos/ui_mode.gni")
 import("//ui/webui/resources/tools/js_modulizer.gni")
 
+assert(is_chromeos_ash)
+
 common_auto_imports = [
   "third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/iron-a11y-announcer.html|IronA11yAnnouncer",
   "third_party/polymer/v1_0/components-chromium/paper-behaviors/paper-ripple-behavior.html|PaperRippleBehavior",
diff --git a/ui/webui/resources/tools/js_modulizer.gni b/ui/webui/resources/tools/js_modulizer.gni
index 474652645db8b..4a9d8ce415962 100644
--- a/ui/webui/resources/tools/js_modulizer.gni
+++ b/ui/webui/resources/tools/js_modulizer.gni
@@ -2,6 +2,10 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import("//build/config/chromeos/ui_mode.gni")
+
+assert(is_chromeos_ash)
+
 common_namespace_rewrites = [
   "cr.addSingletonGetter|addSingletonGetter",
   "cr.addWebUIListener|addWebUIListener",