diff options
author | jchaffraix@chromium.org <jchaffraix@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-09 02:14:53 +0000 |
---|---|---|
committer | jchaffraix@chromium.org <jchaffraix@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-09 02:14:53 +0000 |
commit | fd20b904a6e8c2de2321fd560aaf8a02cc941a1a (patch) | |
tree | c7ee3c0a72a8f94ed4443a58e110f2c444ce600e /PRESUBMIT.py | |
parent | 5e18947cf672190030cbffadc967f16ccf25e817 (diff) | |
download | chromium_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.py | 39 |
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( |