Enable WebUI related PRESUBMIT checks under components/.

Specifically enable:
 - clang-format for JS files
 - Various HTML/CSS/JS checks including ESLint checks.
 - SVG optimization checks

Fixed: 1019312
Change-Id: I01628b5faae9ff95dc5eebefec2a0c4956ed3664
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1888151
Commit-Queue: Demetrios Papadopoulos <[email protected]>
Auto-Submit: Demetrios Papadopoulos <[email protected]>
Reviewed-by: Jochen Eisinger <[email protected]>
Reviewed-by: Dan Beam <[email protected]>
Cr-Commit-Position: refs/heads/master@{#714586}
diff --git a/components/PRESUBMIT.py b/components/PRESUBMIT.py
new file mode 100644
index 0000000..80340ee9
--- /dev/null
+++ b/components/PRESUBMIT.py
@@ -0,0 +1,48 @@
+# Copyright 2019 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+
+def CheckChangeOnUpload(input_api, output_api):
+  return _CommonChecks(input_api, output_api)
+
+
+def CheckChangeOnCommit(input_api, output_api):
+  return _CommonChecks(input_api, output_api)
+
+
+def _CheckSvgsOptimized(input_api, output_api):
+  results = []
+  try:
+    import sys
+    old_sys_path = sys.path[:]
+    cwd = input_api.PresubmitLocalPath()
+    sys.path += [input_api.os_path.join(cwd, '..', 'tools')]
+    from resources import svgo_presubmit
+    results += svgo_presubmit.CheckOptimized(input_api, output_api)
+  finally:
+    sys.path = old_sys_path
+  return results
+
+
+def _CheckWebDevStyle(input_api, output_api):
+  results = []
+  try:
+    import sys
+    old_sys_path = sys.path[:]
+    cwd = input_api.PresubmitLocalPath()
+    sys.path += [input_api.os_path.join(cwd, '..', 'tools')]
+    from web_dev_style import presubmit_support
+    results += presubmit_support.CheckStyle(input_api, output_api)
+  finally:
+    sys.path = old_sys_path
+  return results
+
+
+def _CommonChecks(input_api, output_api):
+  results = []
+  results += _CheckSvgsOptimized(input_api, output_api)
+  results += _CheckWebDevStyle(input_api, output_api)
+  results += input_api.canned_checks.CheckPatchFormatted(input_api, output_api,
+                                                         check_js=True)
+  return results