|
|
Created:
4 years, 7 months ago by Noel Gordon Modified:
4 years, 7 months ago CC:
blink-reviews, blink-reviews-platform-graphics_chromium.org, blink-reviews-style_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, f(malita), jbroman, Justin Novosad, kinuko+watch, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
Description[CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors
CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update
Color.cpp parsing for the new syntax. Add a test, ditch the
canvas/philip invalid hex tests, update existing tests.
Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and
the patch by Dean Jackson to resolve which is included here
verbatim, with additional support for legacy HTML attribute
color parsing based on Dean's follow-up patch [1].
Obsolete legacy HTML attributes parse colors via the "rules
for parsing a legacy colour value" of the HTML micro syntax
(see http://bit.ly/1WF2Yre). Limit legacy parsing to accept
only 3/6-digit hex color for compat, add a comment (covered
by fast/dom/attribute-legacy-colors.html).
Fix quirks mode color parse, per http://bit.ly/1VPZFic, and
update fast/css/parsing-color-quirk.html with 4/8 digit hex
color test cases for the-hashless-hex-color-quirk.
Finally, in Blink's fastParseColorInternal() CSS fast path,
only allow hashless 3/6-digit hex color in quirks mode, add
test cases to fast/css/parsing-color-quirk.html.
Spec: https://drafts.csswg.org/css-color/#hex-notation
Change in behavior: add fast/css/hex-colors.html
[1] http://trac.webkit.org/changeset/200501
BUG=76362
Committed: https://crrev.com/bd42b3e0e1e52b1cbfe630ac7a4c230779111682
Cr-Commit-Position: refs/heads/master@{#393438}
Patch Set 1 : Import Dean's WebKit patch. #Patch Set 2 : Add legacy color support. #Patch Set 3 : Legacy color support [1]. #Patch Set 4 : the-hashless-hex-color-quirk. #
Total comments: 6
Patch Set 5 : Address review comments. #Patch Set 6 : Length restrict quirks mode fastParseColorInternal() code. #
Total comments: 1
Patch Set 7 : Add quirks mode fastParseColorInternal() test cases. #Messages
Total messages: 91 (49 generated)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1936913002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1936913002/1
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 due to Dean Jackson, which is included here verbatim. BUG=Tab ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim. BUG=Tab ==========
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim. BUG=Tab ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim. BUG=Tab ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
phistuck@gmail.com changed reviewers: + phistuck@gmail.com
This would probably need an intent to ship (or an intent to implement now) when it is ready to land.
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim. BUG=Tab ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim. BUG=76362 ==========
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim. BUG=76362 ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim. https://drafts.csswg.org/css-color/#hex-notation BUG=76362 ==========
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1936913002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1936913002/20001
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim. https://drafts.csswg.org/css-color/#hex-notation BUG=76362 ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with adjustments for HTMLElement legacy colors. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation BUG=76362 ==========
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with adjustments for HTMLElement legacy colors. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation BUG=76362 ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with adjustments for HTMLElement legacy colors. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New test: fast/css/hex-colors.html BUG=76362 ==========
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with adjustments for HTMLElement legacy colors. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New test: fast/css/hex-colors.html BUG=76362 ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with adjustments for HTMLElement legacy colors. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New layout test: fast/css/hex-colors.html BUG=76362 ==========
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add tests, remove the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with adjustments for HTMLElement legacy colors. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New layout test: fast/css/hex-colors.html BUG=76362 ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New layout test: fast/css/hex-colors.html BUG=76362 ==========
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New layout test: fast/css/hex-colors.html BUG=76362 ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior, add new test: fast/css/hex-colors.html BUG=76362 ==========
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior, add new test: fast/css/hex-colors.html BUG=76362 ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New test: fast/css/hex-colors.html BUG=76362 ==========
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by LayoutTests/fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New test: fast/css/hex-colors.html BUG=76362 ========== to ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New test: fast/css/hex-colors.html BUG=76362 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== [CSS4] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New test: fast/css/hex-colors.html BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New test: fast/css/hex-colors.html BUG=76362 ==========
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1936913002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1936913002/40001
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation New test: fast/css/hex-colors.html BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html) [1]. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior, test: fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html) [1]. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior, test: fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html) [1]. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the invalid hex canvas/philip tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html) [1]. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html) [1]. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
On 2016/05/01 15:43:39, PhistucK wrote: > This would probably need an intent to ship (or an intent to implement now) when > it is ready to land. Done.
noel@chromium.org changed reviewers: + timloh@chromium.org - phistuck@gmail.com
Tim, this is right up your street. Can you review please.
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here with support added for HTMLElement legacy color parsing. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html) [1]. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html) [1]. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html) [1]. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RGBA and #RRGGBBAA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color forms for backward compat (covered by fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). TODO: write a note about the quirks CSS color parse, refer to the spec http://bit.ly/1VPZFic Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). TODO: write a note about the quirks CSS color parse, refer to the spec http://bit.ly/1VPZFic Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). TODO: write a note about the quirks CSS color parser, refer to the spec http://bit.ly/1VPZFic Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1936913002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1936913002/60001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1936913002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1936913002/60001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). TODO: write a note about the quirks CSS color parser, refer to the spec http://bit.ly/1VPZFic Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse http://bit.ly/1VPZFic to ignore 4/8 hex colors under "the hashless hex color quirk". Update the associated test fast/css/parsing-color-quirk.html. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse http://bit.ly/1VPZFic to ignore 4/8 hex colors under "the hashless hex color quirk". Update the associated test fast/css/parsing-color-quirk.html. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
lgtm with a couple of small comments https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... File third_party/WebKit/LayoutTests/fast/css/hex-colors.html (right): https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... third_party/WebKit/LayoutTests/fast/css/hex-colors.html:1: <script> This should have <!doctype html> https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... File third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html (right): https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html:200: }, "No hashless color quirk for border-color property with 4/8 hex color value"); The test comment for this and the next are wrong, since these are valid <quirky-color>s. I'd just write something like "1010 is valid a <quirky-color>".
phistuck@gmail.com changed reviewers: + phistuck@gmail.com
https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... File third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html (right): https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html:200: }, "No hashless color quirk for border-color property with 4/8 hex color value"); On 2016/05/11 at 07:23:08, Timothy Loh wrote: > The test comment for this and the next are wrong, since these are valid <quirky-color>s. I'd just write something like "1010 is valid a <quirky-color>". Why are they valid? Step 4 in https://quirks.spec.whatwg.org/#the-hashless-hex-color-quirk says - "If serialization does not consist of three or six characters, return an error." There are four (or eight) characters, not three or six. I find it hard to believe that new quirks will be added (a quirk for the four or eight character hex notation), since it is supposed to accommodate legacy pages, not new pages written in quirks mode...
https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... File third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html (right): https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html:200: }, "No hashless color quirk for border-color property with 4/8 hex color value"); On 2016/05/11 08:02:46, PhistucK wrote: > On 2016/05/11 at 07:23:08, Timothy Loh wrote: > > The test comment for this and the next are wrong, since these are valid > <quirky-color>s. I'd just write something like "1010 is valid a <quirky-color>". > > Why are they valid? > Step 4 in https://quirks.spec.whatwg.org/#the-hashless-hex-color-quirk says - > "If serialization does not consist of three or six characters, return an error." > There are four (or eight) characters, not three or six. I find it hard to > believe that new quirks will be added (a quirk for the four or eight character > hex notation), since it is supposed to accommodate legacy pages, not new pages > written in quirks mode... At this point "serialization" consists of six characters, see the earlier steps in the algorithm.
On 2016/05/11 at 08:05:03, timloh wrote: > https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... > File third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html (right): > > https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... > third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html:200: }, "No hashless color quirk for border-color property with 4/8 hex color value"); > On 2016/05/11 08:02:46, PhistucK wrote: > > On 2016/05/11 at 07:23:08, Timothy Loh wrote: > > > The test comment for this and the next are wrong, since these are valid > > <quirky-color>s. I'd just write something like "1010 is valid a <quirky-color>". > > > > Why are they valid? > > Step 4 in https://quirks.spec.whatwg.org/#the-hashless-hex-color-quirk says - > > "If serialization does not consist of three or six characters, return an error." > > There are four (or eight) characters, not three or six. I find it hard to > > believe that new quirks will be added (a quirk for the four or eight character > > hex notation), since it is supposed to accommodate legacy pages, not new pages > > written in quirks mode... > > At this point "serialization" consists of six characters, see the earlier steps in the algorithm. But is it not an ident-token? If it is an ident-token, earlier steps do not apply.
On 2016/05/11 08:12:44, PhistucK wrote: > But is it not an ident-token? If it is an ident-token, earlier steps do not > apply. 1010 and 00101010 are both <number-token>s. ff10 and ff101010 are <ident-token>s so those get rejected.
On 2016/05/11 at 08:16:31, timloh wrote: > On 2016/05/11 08:12:44, PhistucK wrote: > > But is it not an ident-token? If it is an ident-token, earlier steps do not > > apply. > > 1010 and 00101010 are both <number-token>s. ff10 and ff101010 are <ident-token>s so those get rejected. I see now... data:text/html,<body bgcolor=1010> indeed shows a background color even using the stable Chrome. As long as this does not change things, cool. :) Sorry for the misunderstanding.
On 2016/05/11 08:20:20, PhistucK wrote: > On 2016/05/11 at 08:16:31, timloh wrote: > > On 2016/05/11 08:12:44, PhistucK wrote: > > > But is it not an ident-token? If it is an ident-token, earlier steps do not > > > apply. > > > > 1010 and 00101010 are both <number-token>s. ff10 and ff101010 are > <ident-token>s so those get rejected. Yeap. > I see now... data:text/html,<body bgcolor=1010> indeed shows a background color > even using the stable Chrome. That case would be a legacy color parse and handled by the changes to HTMLElement.cpp. Test is fast/dom/attribute-legacy-colors.html, which does not change behavior with the CL. > As long as this does not change things, cool. :) Color quirks are a separate case: test page should be in quirks mode and use a hashless 4/8 hex color value on a CSS color property listed in the <quirky-color> spec list. This is covered by the CL changes to fast/css/parsing-color-quirk.html. > Sorry for the misunderstanding. Easy to do with all these legacy HTML and color quirks to deal with.
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1936913002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1936913002/80001
https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... File third_party/WebKit/LayoutTests/fast/css/hex-colors.html (right): https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... third_party/WebKit/LayoutTests/fast/css/hex-colors.html:1: <script> On 2016/05/11 07:23:08, Timothy Loh wrote: > This should have <!doctype html> Done. https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... File third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html (right): https://codereview.chromium.org/1936913002/diff/60001/third_party/WebKit/Layo... third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html:200: }, "No hashless color quirk for border-color property with 4/8 hex color value"); On 2016/05/11 07:23:08, Timothy Loh wrote: > The test comment for this and the next are wrong, since these are valid > <quirky-color>s. I'd just write something like "1010 is valid a <quirky-color>". Did something like that: adjusted the comments to all the added test cases, in fact.
On 2016/05/11 08:16:31, Timothy Loh wrote: > > 1010 and 00101010 are both <number-token>s. ff10 and ff101010 are <ident-token>s > so those get rejected. Tricky algorithm. Here's another: static bool fastParseColorInternal(RGBA32& rgb, const CharacterType* characters, unsigned length, bool quirksMode) https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit... seems to call the hex parser and so will get 4/8 hex support with this CL, and also differs from the WebKit code. Tim, any concerns with fastParseColorInternal?
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
On 2016/05/12 02:12:49, noel gordon wrote: > On 2016/05/11 08:16:31, Timothy Loh wrote: > > > > 1010 and 00101010 are both <number-token>s. ff10 and ff101010 are > <ident-token>s > > so those get rejected. > > Tricky algorithm. Here's another: > > static bool fastParseColorInternal(RGBA32& rgb, const CharacterType* characters, > unsigned length, bool quirksMode) > > https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit... > > seems to call the hex parser and so will get 4/8 hex support with this CL, and > also differs from the WebKit code. > > Tim, any concerns with fastParseColorInternal? Yeah the quirks mode branch probably needs to check the length is 3 or 6 so we don't allow ff10 and similar in quirks mode. We get into here for example by having a document in quirks mode and running element.style.color = 'ff10'.
Ok, and the previous if needs work too by the looks (could be quirks or not). Hmmm, WebKit denies quirks here ... http://trac.webkit.org/export/200626/trunk/Source/WebCore/css/CSSParser.cpp template <typename CharacterType> static inline bool fastParseColorInternal(RGBA32& rgb, const CharacterType* characters, unsigned length , bool strict) { CSSPrimitiveValue::UnitTypes expect = CSSPrimitiveValue::CSS_UNKNOWN; if (!strict && length >= 3) { if (characters[0] == '#') { if (Color::parseHexColor(characters + 1, length - 1, rgb)) return true; } else { if (Color::parseHexColor(characters, length, rgb)) return true; } } // Try rgba() syntax. if (mightBeRGBA(characters, length)) { ... which seem safe w.r.t quirks to me. Leads to questions in my mind. Why have our codebases diverged here? Our code is doing some form of quirks optimization on the fast path. Is it worth it, and worth the divergence from WebKit? Why not just match thew WebKit code here? Thoughts?
On 2016/05/12 05:05:12, noel gordon wrote: > Ok, and the previous if needs work too by the looks (could be quirks or not). The argument is perhaps badly named (quirksMode=true means we're in quirks mode, so we allow both regular colors and quirky-colors), but the previous if is fine. > Hmmm, WebKit denies quirks here ... > > http://trac.webkit.org/export/200626/trunk/Source/WebCore/css/CSSParser.cpp > > template <typename CharacterType> > static inline bool fastParseColorInternal(RGBA32& rgb, const CharacterType* > characters, unsigned length , bool strict) > { > CSSPrimitiveValue::UnitTypes expect = CSSPrimitiveValue::CSS_UNKNOWN; > > if (!strict && length >= 3) { > if (characters[0] == '#') { > if (Color::parseHexColor(characters + 1, length - 1, rgb)) > return true; > } else { > if (Color::parseHexColor(characters, length, rgb)) > return true; > } > } > > // Try rgba() syntax. > if (mightBeRGBA(characters, length)) { > ... > > which seem safe w.r.t quirks to me. Leads to questions in my mind. Why have > our codebases diverged here? Our code is doing some form of quirks optimization > on the fast path. Is it worth it, and worth the divergence from WebKit? Why > not just match thew WebKit code here? Thoughts? Why do we need to match WebKit? Eventually we're just going to try and make the regular parsing even faster so it's comparable to the fast path and then remove the fast path.
On 2016/05/12 05:49:24, Timothy Loh wrote: > On 2016/05/12 05:05:12, noel gordon wrote: > > Ok, and the previous if needs work too by the looks (could be quirks or not). > > The argument is perhaps badly named (quirksMode=true means we're in quirks mode, > so we allow both regular colors and quirky-colors), but the previous if is fine. > > > Hmmm, WebKit denies quirks here ... > > > > http://trac.webkit.org/export/200626/trunk/Source/WebCore/css/CSSParser.cpp > > > > template <typename CharacterType> > > static inline bool fastParseColorInternal(RGBA32& rgb, const CharacterType* > > characters, unsigned length , bool strict) > > { > > CSSPrimitiveValue::UnitTypes expect = CSSPrimitiveValue::CSS_UNKNOWN; > > > > if (!strict && length >= 3) { > > if (characters[0] == '#') { > > if (Color::parseHexColor(characters + 1, length - 1, rgb)) > > return true; > > } else { > > if (Color::parseHexColor(characters, length, rgb)) > > return true; > > } > > } > > > > // Try rgba() syntax. > > if (mightBeRGBA(characters, length)) { > > ... > > > > which seem safe w.r.t quirks to me. Leads to questions in my mind. Why have > > our codebases diverged here? Our code is doing some form of quirks > optimization > > on the fast path. Is it worth it, and worth the divergence from WebKit? Why > > not just match thew WebKit code here? Thoughts? > > Why do we need to match WebKit? For compat. Is compat on the Web Important to you? It is to me doing this patch, and checking 3 codebases to see we all agree. In patchset #2, I found we did not agree, for example, and we fixed that on bug adn a webkit patch was submitted. > Eventually we're just going to try and make the regular parsing even faster so it's comparable to= > the fast path and then remove the fast path. Good, but still news to me, so wahtever. As discussed off-line, Blink needs to add a quirks mode length restrict to this code for now.
On 2016/05/12 03:42:35, Timothy Loh wrote: > On 2016/05/12 02:12:49, noel gordon wrote: > > On 2016/05/11 08:16:31, Timothy Loh wrote: > > > > > > 1010 and 00101010 are both <number-token>s. ff10 and ff101010 are > > <ident-token>s > > > so those get rejected. > > > > Tricky algorithm. Here's another: > > > > static bool fastParseColorInternal(RGBA32& rgb, const CharacterType* > characters, > > unsigned length, bool quirksMode) > > > > > https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit... > > > > seems to call the hex parser and so will get 4/8 hex support with this CL, and > > also differs from the WebKit code. > > > > Tim, any concerns with fastParseColorInternal? > > Yeah the quirks mode branch probably needs to check the length is 3 or 6 so we > don't allow ff10 and similar in quirks mode. We get into here for example by > having a document in quirks mode and running element.style.color = 'ff10'. Done.
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Lastly, limit 3/6-digit hex color in quirks mode in Blink's fastParseColorInternal() fast path code. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Lastly, limit 3/6-digit hex color in quirks mode in Blink's fastParseColorInternal() fast path code. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Finally, in Blink's fastParseColorInternal() CSS fast path, only allow 3/6-digit hex color when in quirks mode. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
Updated change description about the quirks mode change to fastParseColorInternal().
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1936913002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1936913002/100001
https://codereview.chromium.org/1936913002/diff/100001/third_party/WebKit/Lay... File third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html (right): https://codereview.chromium.org/1936913002/diff/100001/third_party/WebKit/Lay... third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html:213: </script> Test for fast path? e.g. make a div and execute div.style.color = "FF10", which shouldn't set the color.
On 2016/05/12 05:49:24, Timothy Loh wrote: > Eventually we're just going to try and make the regular parsing even faster so it's comparable to > the fast path and then remove the fast path. Is there a bug filed for this work, btw?
On 2016/05/12 07:24:21, noel gordon wrote: > On 2016/05/12 05:49:24, Timothy Loh wrote: > > > Eventually we're just going to try and make the regular parsing even faster so > it's comparable to > > the fast path and then remove the fast path. > > Is there a bug filed for this work, btw? https://bugs.chromium.org/p/chromium/issues/detail?id=605792
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Finally, in Blink's fastParseColorInternal() CSS fast path, only allow 3/6-digit hex color when in quirks mode. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Finally, in Blink's fastParseColorInternal() CSS fast path, only allow 3/6-digit hex color in quirks mode, and add test cases for this to fast/css/parsing-color-quirk.html. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
On 2016/05/12 06:56:08, Timothy Loh wrote: > https://codereview.chromium.org/1936913002/diff/100001/third_party/WebKit/Lay... > File third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html (right): > > https://codereview.chromium.org/1936913002/diff/100001/third_party/WebKit/Lay... > third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html:213: </script> > Test for fast path? e.g. make a div and execute div.style.color = "FF10", which > shouldn't set the color. Added 4 tests to cover this code path.
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1936913002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1936913002/120001
On 2016/05/12 08:40:07, noel gordon wrote: > On 2016/05/12 06:56:08, Timothy Loh wrote: > > > https://codereview.chromium.org/1936913002/diff/100001/third_party/WebKit/Lay... > > File third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html (right): > > > > > https://codereview.chromium.org/1936913002/diff/100001/third_party/WebKit/Lay... > > third_party/WebKit/LayoutTests/fast/css/parsing-color-quirk.html:213: > </script> > > Test for fast path? e.g. make a div and execute div.style.color = "FF10", > which > > shouldn't set the color. > > Added 4 tests to cover this code path. lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Finally, in Blink's fastParseColorInternal() CSS fast path, only allow 3/6-digit hex color in quirks mode, and add test cases for this to fast/css/parsing-color-quirk.html. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Finally, in Blink's fastParseColorInternal() CSS fast path, only allow hashless 3/6-digit hex color in quirks mode, add test cases to fast/css/parsing-color-quirk.html. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
The CQ bit was checked by noel@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1936913002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1936913002/120001
Message was sent while issue was closed.
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Finally, in Blink's fastParseColorInternal() CSS fast path, only allow hashless 3/6-digit hex color in quirks mode, add test cases to fast/css/parsing-color-quirk.html. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Finally, in Blink's fastParseColorInternal() CSS fast path, only allow hashless 3/6-digit hex color in quirks mode, add test cases to fast/css/parsing-color-quirk.html. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ==========
Message was sent while issue was closed.
Committed patchset #7 (id:120001)
Message was sent while issue was closed.
Description was changed from ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Finally, in Blink's fastParseColorInternal() CSS fast path, only allow hashless 3/6-digit hex color in quirks mode, add test cases to fast/css/parsing-color-quirk.html. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 ========== to ========== [CSS] Accept 8 (#RRGGBBAA) and 4 (#RGBA) value hex colors CSS Color Level 4 allows #RRGGBBAA and #RGBA colors. Update Color.cpp parsing for the new syntax. Add a test, ditch the canvas/philip invalid hex tests, update existing tests. Refer to https://bugs.webkit.org/show_bug.cgi?id=150853 and the patch by Dean Jackson to resolve which is included here verbatim, with additional support for legacy HTML attribute color parsing based on Dean's follow-up patch [1]. Obsolete legacy HTML attributes parse colors via the "rules for parsing a legacy colour value" of the HTML micro syntax (see http://bit.ly/1WF2Yre). Limit legacy parsing to accept only 3/6-digit hex color for compat, add a comment (covered by fast/dom/attribute-legacy-colors.html). Fix quirks mode color parse, per http://bit.ly/1VPZFic, and update fast/css/parsing-color-quirk.html with 4/8 digit hex color test cases for the-hashless-hex-color-quirk. Finally, in Blink's fastParseColorInternal() CSS fast path, only allow hashless 3/6-digit hex color in quirks mode, add test cases to fast/css/parsing-color-quirk.html. Spec: https://drafts.csswg.org/css-color/#hex-notation Change in behavior: add fast/css/hex-colors.html [1] http://trac.webkit.org/changeset/200501 BUG=76362 Committed: https://crrev.com/bd42b3e0e1e52b1cbfe630ac7a4c230779111682 Cr-Commit-Position: refs/heads/master@{#393438} ==========
Message was sent while issue was closed.
Patchset 7 (id:??) landed as https://crrev.com/bd42b3e0e1e52b1cbfe630ac7a4c230779111682 Cr-Commit-Position: refs/heads/master@{#393438} |