Ensure dark mode CSS files are regenerated if scripts change

Fixed: 1197060
Change-Id: Id34e0da87a35af780655c233e0d5622408205803
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2814661
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index a1adff3..599cfd6 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -305,15 +305,27 @@
 def _CheckDarkModeStyleSheetsUpToDate(input_api, output_api):
     devtools_root = input_api.PresubmitLocalPath()
     devtools_front_end = input_api.os_path.join(devtools_root, 'front_end')
-    affected_css_files = _getAffectedFiles(input_api, [devtools_front_end], [],
-                                           ['.css'])
+    dark_mode_scripts_folder = input_api.os_path.join(devtools_root, 'scripts',
+                                                      'dark_mode')
+    dark_mode_script_files = _getAffectedFiles(input_api,
+                                               dark_mode_scripts_folder, [],
+                                               ['.js'])
+    script_arguments = []
+    if len(dark_mode_script_files) > 0:
+        # If the scripts have changed, we should check all darkmode files as they may need to be updated.
+        script_arguments += ['--check-all-files']
+    else:
+        affected_css_files = _getAffectedFiles(input_api, [devtools_front_end],
+                                               [], ['.css'])
+        script_arguments += affected_css_files
+
     results = [output_api.PresubmitNotifyResult('Dark Mode CSS check:')]
     script_path = input_api.os_path.join(input_api.PresubmitLocalPath(),
                                          'scripts', 'dark_mode',
                                          'check_darkmode_css_up_to_date.js')
     results.extend(
         _checkWithNodeScript(input_api, output_api, script_path,
-                             affected_css_files))
+                             script_arguments))
     return results