RESOLVED FIXED 24742
CSS tokenizer allows color in 6 hex digit notation to be followed by the next token without separation
https://bugs.webkit.org/show_bug.cgi?id=24742
Summary CSS tokenizer allows color in 6 hex digit notation to be followed by the next...
mitz
Reported Saturday, March 21, 2009 7:50:34 PM UTC
The CSS in the URL is parsed as "border-top: solid #0077ff 9px;" despite the missing space after #0077ff. I think #0077ff9px should be treated as one token and rejected.
Attachments
Fix for Bug 24742 - CSS tokenizer allows color in 6 hex digit notation to be followed by the next token without separation (7.54 KB, patch)
2010-05-13 06:16 PDT, Yuzo Fujishima
darin: review+
commit-queue: commit-queue-
mitz
Comment 1 Saturday, March 21, 2009 7:51:16 PM UTC
Cameron Zwarich (cpst)
Comment 2 Sunday, March 22, 2009 10:18:00 AM UTC
This seems to be the case from the spec: http://www.w3.org/TR/CSS21/grammar.html The lexical scanner given there will take the "#0077ff9px" and give a single HASH token, because it eats the '#' and then matches a name, which is "0077ff9px". Flex has "longest match" semantics, so this seems to be the correct interpretation. I am sure you knew this, just filling it in for context. Are there any possibility compatibility issues with this change?
mitz
Comment 3 Sunday, March 22, 2009 6:07:12 PM UTC
(In reply to comment #2) > This seems to be the case from the spec: I am not sure I understand. Are you saying that WebKit behaves correctly? > Are there any possibility compatibility issues with this change? Firefox and Opera don't behave like WebKit.
Cameron Zwarich (cpst)
Comment 4 Sunday, March 22, 2009 10:09:43 PM UTC
(In reply to comment #3) > I am not sure I understand. Are you saying that WebKit behaves correctly? No, I was just trying to point out how the spec agrees with you.
Yuzo Fujishima
Comment 5 Thursday, May 13, 2010 2:16:57 PM UTC
Created attachment 55966 [details] Fix for Bug 24742 - CSS tokenizer allows color in 6 hex digit notation to be followed by the next token without separation
Yuzo Fujishima
Comment 6 Wednesday, May 19, 2010 9:53:27 AM UTC
Ping?
WebKit Commit Bot
Comment 7 Friday, September 3, 2010 2:00:44 AM UTC
Comment on attachment 55966 [details] Fix for Bug 24742 - CSS tokenizer allows color in 6 hex digit notation to be followed by the next token without separation Rejecting patch 55966 from commit-queue. Failed to run "['WebKitTools/Scripts/run-webkit-tests', '--no-launch-safari', '--exit-after-n-failures=1', '--wait-for-httpd', '--ignore-tests', 'compositing,media', '--quiet']" exit_code: 1 Running build-dumprendertree Compiling Java tests make: Nothing to be done for `default'. Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests Testing 20909 test cases. svg/custom/invalid-fill-hex.svg -> failed Exiting early after 1 failures. 18102 tests run. 376.27s total testing time 18101 test cases (99%) succeeded 1 test case (<1%) had incorrect layout 26 test cases (<1%) had stderr output Full output: http://queues.webkit.org/results/3944067
Yuzo Fujishima
Comment 8 Friday, September 3, 2010 2:17:03 AM UTC
Eric, Sorry, I forgot to mention here that this patch depends on a SVG fix. https://lists.webkit.org/pipermail/webkit-dev/2010-June/013358.html Having heard no updates from Nikolas or Dirk, I think we should just fix svg/custom/invalid-fill-hex.svg. That is, to remove 'stroke="#0"' from: LayoutTests/svg/custom/invalid-fill-hex.svg <rect width="100" height="100" fill="#ff" stroke="#0"/> What do you think?
Yuzo Fujishima
Comment 9 Friday, September 10, 2010 4:33:18 AM UTC
Note You need to log in before you can comment on or make changes to this bug.