Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4449)

Unified Diff: chrome/browser/web_dev_style/css_checker.py

Issue 2345703004: web_dev_style: ignore --css-vars from alphabetical ordering requirement (Closed)
Patch Set: more review stuff Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/web_dev_style/css_checker_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/web_dev_style/css_checker.py
diff --git a/chrome/browser/web_dev_style/css_checker.py b/chrome/browser/web_dev_style/css_checker.py
index 77f610f4db804a7f0c0e52f8400ad54333d9de5d..ef40802a103808add79abb298612b0e80eaf48ad 100644
--- a/chrome/browser/web_dev_style/css_checker.py
+++ b/chrome/browser/web_dev_style/css_checker.py
@@ -29,42 +29,43 @@ class CSSChecker(object):
return s[0] == s[1] == s[2] if len(s) == 3 else s[0:2] == s[2:4] == s[4:6]
def _remove_all(s):
- s = _remove_grit(s)
+ s = _remove_grit(s) # Must be done first.
dschuyler 2016/09/22 18:58:44 Thanks for this comment!
Dan Beam 2016/09/22 19:45:41 Acknowledged.
s = _remove_ats(s)
s = _remove_comments(s)
+ s = _remove_mixins_and_valid_vars(s)
s = _remove_template_expressions(s)
- s = _remove_mixins(s)
return s
def _extract_inline_style(s):
return '\n'.join(re.findall(r'<style\b[^>]*>([^<]*)<\/style>', s))
def _remove_ats(s):
- at_reg = re.compile(r"""
+ return re.sub(r"""
@(?!apply)(?!\d+x\b) # @at-keyword, not (apply|2x)
\w+[^'"]*?{ # selector junk {
(.*{.*?})+ # inner { curly } blocks, rules, and selector
.*?} # stuff up to the first end curly }
- """,
- re.DOTALL | re.VERBOSE)
- return at_reg.sub('\\1', s)
+ """, r'\1', s, flags=re.DOTALL | re.VERBOSE)
def _remove_comments(s):
- return re.sub(re.compile(r'/\*.*?\*/', re.DOTALL), '', s)
-
- def _remove_mixins(s):
- return re.sub(re.compile(r'--[\d\w-]+: {.*?};', re.DOTALL), '', s)
-
- def _remove_template_expressions(s):
- return re.sub(re.compile(r'\$i18n(Raw)?{[^}]*}', re.DOTALL), '', s)
+ return re.sub(r'/\*.*?\*/', '', s, flags=re.DOTALL)
def _remove_grit(s):
- grit_reg = re.compile(r"""
+ return re.sub(r"""
<if[^>]+>.*?<\s*/\s*if[^>]*>| # <if> contents </if>
<include[^>]+> # <include>
- """,
- re.DOTALL | re.VERBOSE)
- return re.sub(grit_reg, '', s)
+ """, '', s, flags=re.DOTALL | re.VERBOSE)
+
+ mixin_shim_reg = r'[\w-]+_-_[\w-]+'
+
+ def _remove_mixins_and_valid_vars(s):
+ not_shim = r'--(?!' + mixin_shim_reg + r')'
+ name = r'[\w-]+:\s*'
+ mixin_or_value = r'({.*?}|[^;}]+);?\s*'
+ return re.sub(not_shim + name + mixin_or_value, '', s, flags=re.DOTALL)
dschuyler 2016/09/22 18:58:44 optional: not_shim is actually '--' plus the not
Dan Beam 2016/09/22 19:45:41 Done.
+
+ def _remove_template_expressions(s):
+ return re.sub(r'\$i18n(Raw)?{[^}]*}', '', s, flags=re.DOTALL)
def _rgb_from_hex(s):
if len(s) == 3:
@@ -170,7 +171,7 @@ class CSSChecker(object):
return re.search(r'\(\s*\s*data:', line)
def no_mixin_shims(line):
- return re.search('\-\-[\w\-]+_\-_[\w\-]+\s*:', line)
+ return re.search(r'--' + mixin_shim_reg + r'\s*:', line)
def no_quotes_in_url(line):
return re.search('url\s*\(\s*["\']', line, re.IGNORECASE)
« no previous file with comments | « no previous file | chrome/browser/web_dev_style/css_checker_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698