summaryrefslogtreecommitdiffstats
path: root/PRESUBMIT.py
diff options
context:
space:
mode:
authorjchaffraix@chromium.org <jchaffraix@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-09 02:14:53 +0000
committerjchaffraix@chromium.org <jchaffraix@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-09 02:14:53 +0000
commitfd20b904a6e8c2de2321fd560aaf8a02cc941a1a (patch)
treec7ee3c0a72a8f94ed4443a58e110f2c444ce600e /PRESUBMIT.py
parent5e18947cf672190030cbffadc967f16ccf25e817 (diff)
downloadchromium_src-fd20b904a6e8c2de2321fd560aaf8a02cc941a1a.zip
chromium_src-fd20b904a6e8c2de2321fd560aaf8a02cc941a1a.tar.gz
chromium_src-fd20b904a6e8c2de2321fd560aaf8a02cc941a1a.tar.bz2
Add a presubmit hook for deprecated CSS
Chromium's resources are using a gazillion deprecated CSS properties, functions or values. This is bothering as Blink's UseCounter doesn't discriminate between chrome:// pages and web pages so they get counted. But more conceptually, Chromium's developers should be leading the way and not use some CSS that was deprecated 2+ years ago. The initial list only contains items with an unprefixed counterpart. Review URL: https://codereview.chromium.org/261773009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269149 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'PRESUBMIT.py')
-rw-r--r--PRESUBMIT.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index e9cd213..073886a 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -1077,6 +1077,44 @@ def _CheckJavaStyle(input_api, output_api):
input_api, output_api, 'tools/android/checkstyle/chromium-style-5.0.xml')
+_DEPRECATED_CSS = [
+ # Values
+ ( "-webkit-box", "flex" ),
+ ( "-webkit-inline-box", "inline-flex" ),
+ ( "-webkit-flex", "flex" ),
+ ( "-webkit-inline-flex", "inline-flex" ),
+ ( "-webkit-min-content", "min-content" ),
+ ( "-webkit-max-content", "max-content" ),
+
+ # Properties
+ ( "-webkit-background-clip", "background-clip" ),
+ ( "-webkit-background-origin", "background-origin" ),
+ ( "-webkit-background-size", "background-size" ),
+ ( "-webkit-box-shadow", "box-shadow" ),
+
+ # Functions
+ ( "-webkit-gradient", "gradient" ),
+ ( "-webkit-repeating-gradient", "repeating-gradient" ),
+ ( "-webkit-linear-gradient", "linear-gradient" ),
+ ( "-webkit-repeating-linear-gradient", "repeating-linear-gradient" ),
+ ( "-webkit-radial-gradient", "radial-gradient" ),
+ ( "-webkit-repeating-radial-gradient", "repeating-radial-gradient" ),
+]
+
+def _CheckNoDeprecatedCSS(input_api, output_api):
+ """ Make sure that we don't use deprecated CSS
+ properties, functions or values. """
+ results = []
+ file_filter = lambda f: f.LocalPath().endswith('.css')
+ for fpath in input_api.AffectedFiles(file_filter=file_filter):
+ for line_num, line in fpath.ChangedContents():
+ for (deprecated_value, value) in _DEPRECATED_CSS:
+ if input_api.re.search(deprecated_value, line):
+ results.append(output_api.PresubmitError(
+ "%s:%d: Use of deprecated CSS %s, use %s instead" %
+ (fpath.LocalPath(), line_num, deprecated_value, value)))
+ return results
+
def _CommonChecks(input_api, output_api):
"""Checks common to both upload and commit."""
results = []
@@ -1112,6 +1150,7 @@ def _CommonChecks(input_api, output_api):
results.extend(_CheckForAnonymousVariables(input_api, output_api))
results.extend(_CheckCygwinShell(input_api, output_api))
results.extend(_CheckUserActionUpdate(input_api, output_api))
+ results.extend(_CheckNoDeprecatedCSS(input_api, output_api))
if any('PRESUBMIT.py' == f.LocalPath() for f in input_api.AffectedFiles()):
results.extend(input_api.canned_checks.RunUnitTestsInDirectory(