Commit 3846c7ae authored by Stephen McGruer's avatar Stephen McGruer Committed by Commit Bot

Mark '\f' as an ASCII whitespace character in IsAsciiWhitespace

The whatwg spec includes '\f' as an ASCII whitespace character:
https://infra.spec.whatwg.org/#ascii-whitespace

The lack of this character was causing failures in data URL parsing
tests.

Bug: 807562
Change-Id: I8f939cfb1cf1307a468734d8ae1e633f4206718f
Reviewed-on: https://chromium-review.googlesource.com/c/1472852Reviewed-by: default avatardanakj <danakj@chromium.org>
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632248}
parent 6556f347
......@@ -370,7 +370,7 @@ BASE_EXPORT bool EndsWith(StringPiece16 str,
// library versions will change based on locale).
template <typename Char>
inline bool IsAsciiWhitespace(Char c) {
return c == ' ' || c == '\r' || c == '\n' || c == '\t';
return c == ' ' || c == '\r' || c == '\n' || c == '\t' || c == '\f';
}
template <typename Char>
inline bool IsAsciiAlpha(Char c) {
......
This is a testharness.js-based test.
Found 79 tests; 75 PASS, 4 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS Setup.
PASS data: URL base64 handling: ""
PASS data: URL base64 handling: "abcd"
PASS data: URL base64 handling: " abcd"
PASS data: URL base64 handling: "abcd "
PASS data: URL base64 handling: " abcd==="
PASS data: URL base64 handling: "abcd=== "
PASS data: URL base64 handling: "abcd ==="
PASS data: URL base64 handling: "a"
PASS data: URL base64 handling: "ab"
PASS data: URL base64 handling: "abc"
PASS data: URL base64 handling: "abcde"
PASS data: URL base64 handling: "𐀀"
PASS data: URL base64 handling: "="
PASS data: URL base64 handling: "=="
PASS data: URL base64 handling: "==="
PASS data: URL base64 handling: "===="
PASS data: URL base64 handling: "====="
PASS data: URL base64 handling: "a="
PASS data: URL base64 handling: "a=="
PASS data: URL base64 handling: "a==="
PASS data: URL base64 handling: "a===="
PASS data: URL base64 handling: "a====="
PASS data: URL base64 handling: "ab="
PASS data: URL base64 handling: "ab=="
PASS data: URL base64 handling: "ab==="
PASS data: URL base64 handling: "ab===="
PASS data: URL base64 handling: "ab====="
PASS data: URL base64 handling: "abc="
PASS data: URL base64 handling: "abc=="
PASS data: URL base64 handling: "abc==="
PASS data: URL base64 handling: "abc===="
PASS data: URL base64 handling: "abc====="
PASS data: URL base64 handling: "abcd="
PASS data: URL base64 handling: "abcd=="
PASS data: URL base64 handling: "abcd==="
PASS data: URL base64 handling: "abcd===="
PASS data: URL base64 handling: "abcd====="
PASS data: URL base64 handling: "abcde="
PASS data: URL base64 handling: "abcde=="
PASS data: URL base64 handling: "abcde==="
PASS data: URL base64 handling: "abcde===="
PASS data: URL base64 handling: "abcde====="
PASS data: URL base64 handling: "=a"
PASS data: URL base64 handling: "=a="
PASS data: URL base64 handling: "a=b"
PASS data: URL base64 handling: "a=b="
PASS data: URL base64 handling: "ab=c"
PASS data: URL base64 handling: "ab=c="
PASS data: URL base64 handling: "abc=d"
PASS data: URL base64 handling: "abc=d="
PASS data: URL base64 handling: "ab\vcd"
PASS data: URL base64 handling: "ab\tcd"
PASS data: URL base64 handling: "ab\ncd"
FAIL data: URL base64 handling: "ab\fcd" promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
PASS data: URL base64 handling: "ab\rcd"
PASS data: URL base64 handling: "ab cd"
PASS data: URL base64 handling: "ab cd"
FAIL data: URL base64 handling: "ab\t\n\f\r cd" promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
FAIL data: URL base64 handling: " \t\n\f\r ab\t\n\f\r cd\t\n\f\r " promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
FAIL data: URL base64 handling: "ab\t\n\f\r =\t\n\f\r =\t\n\f\r " promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
PASS data: URL base64 handling: "A"
PASS data: URL base64 handling: "/A"
PASS data: URL base64 handling: "//A"
PASS data: URL base64 handling: "///A"
PASS data: URL base64 handling: "////A"
PASS data: URL base64 handling: "/"
PASS data: URL base64 handling: "A/"
PASS data: URL base64 handling: "AA/"
PASS data: URL base64 handling: "AAAA/"
PASS data: URL base64 handling: "AAA/"
PASS data: URL base64 handling: "\0nonsense"
PASS data: URL base64 handling: "abcd\0nonsense"
PASS data: URL base64 handling: "YQ"
PASS data: URL base64 handling: "YR"
PASS data: URL base64 handling: "~~"
PASS data: URL base64 handling: ".."
PASS data: URL base64 handling: "--"
PASS data: URL base64 handling: "__"
Harness: the test ran to completion.
This is a testharness.js-based test.
Found 79 tests; 75 PASS, 4 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS Setup.
PASS data: URL base64 handling: ""
PASS data: URL base64 handling: "abcd"
PASS data: URL base64 handling: " abcd"
PASS data: URL base64 handling: "abcd "
PASS data: URL base64 handling: " abcd==="
PASS data: URL base64 handling: "abcd=== "
PASS data: URL base64 handling: "abcd ==="
PASS data: URL base64 handling: "a"
PASS data: URL base64 handling: "ab"
PASS data: URL base64 handling: "abc"
PASS data: URL base64 handling: "abcde"
PASS data: URL base64 handling: "𐀀"
PASS data: URL base64 handling: "="
PASS data: URL base64 handling: "=="
PASS data: URL base64 handling: "==="
PASS data: URL base64 handling: "===="
PASS data: URL base64 handling: "====="
PASS data: URL base64 handling: "a="
PASS data: URL base64 handling: "a=="
PASS data: URL base64 handling: "a==="
PASS data: URL base64 handling: "a===="
PASS data: URL base64 handling: "a====="
PASS data: URL base64 handling: "ab="
PASS data: URL base64 handling: "ab=="
PASS data: URL base64 handling: "ab==="
PASS data: URL base64 handling: "ab===="
PASS data: URL base64 handling: "ab====="
PASS data: URL base64 handling: "abc="
PASS data: URL base64 handling: "abc=="
PASS data: URL base64 handling: "abc==="
PASS data: URL base64 handling: "abc===="
PASS data: URL base64 handling: "abc====="
PASS data: URL base64 handling: "abcd="
PASS data: URL base64 handling: "abcd=="
PASS data: URL base64 handling: "abcd==="
PASS data: URL base64 handling: "abcd===="
PASS data: URL base64 handling: "abcd====="
PASS data: URL base64 handling: "abcde="
PASS data: URL base64 handling: "abcde=="
PASS data: URL base64 handling: "abcde==="
PASS data: URL base64 handling: "abcde===="
PASS data: URL base64 handling: "abcde====="
PASS data: URL base64 handling: "=a"
PASS data: URL base64 handling: "=a="
PASS data: URL base64 handling: "a=b"
PASS data: URL base64 handling: "a=b="
PASS data: URL base64 handling: "ab=c"
PASS data: URL base64 handling: "ab=c="
PASS data: URL base64 handling: "abc=d"
PASS data: URL base64 handling: "abc=d="
PASS data: URL base64 handling: "ab\vcd"
PASS data: URL base64 handling: "ab\tcd"
PASS data: URL base64 handling: "ab\ncd"
FAIL data: URL base64 handling: "ab\fcd" promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
PASS data: URL base64 handling: "ab\rcd"
PASS data: URL base64 handling: "ab cd"
PASS data: URL base64 handling: "ab cd"
FAIL data: URL base64 handling: "ab\t\n\f\r cd" promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
FAIL data: URL base64 handling: " \t\n\f\r ab\t\n\f\r cd\t\n\f\r " promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
FAIL data: URL base64 handling: "ab\t\n\f\r =\t\n\f\r =\t\n\f\r " promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
PASS data: URL base64 handling: "A"
PASS data: URL base64 handling: "/A"
PASS data: URL base64 handling: "//A"
PASS data: URL base64 handling: "///A"
PASS data: URL base64 handling: "////A"
PASS data: URL base64 handling: "/"
PASS data: URL base64 handling: "A/"
PASS data: URL base64 handling: "AA/"
PASS data: URL base64 handling: "AAAA/"
PASS data: URL base64 handling: "AAA/"
PASS data: URL base64 handling: "\0nonsense"
PASS data: URL base64 handling: "abcd\0nonsense"
PASS data: URL base64 handling: "YQ"
PASS data: URL base64 handling: "YR"
PASS data: URL base64 handling: "~~"
PASS data: URL base64 handling: ".."
PASS data: URL base64 handling: "--"
PASS data: URL base64 handling: "__"
Harness: the test ran to completion.
This is a testharness.js-based test.
Found 71 tests; 45 PASS, 26 FAIL, 0 TIMEOUT, 0 NOTRUN.
Found 71 tests; 46 PASS, 25 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS Setup.
PASS "data://test/,X"
FAIL "data://test:test/,X" assert_unreached: Should have rejected: undefined Reached unreachable code
......@@ -49,7 +49,7 @@ FAIL "data:x/x;base64;charset=x,WA" assert_array_equals: lengths differ, expecte
PASS "data:x/x;base64;charset=x;base64,WA"
FAIL "data:x/x;base64;base64x,WA" assert_array_equals: lengths differ, expected 2 got 1
PASS "data:;base64,W%20A"
FAIL "data:;base64,W%0CA" promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
PASS "data:;base64,W%0CA"
PASS "data:x;base64x,WA"
FAIL "data:x;base64;x,WA" assert_array_equals: lengths differ, expected 2 got 1
PASS "data:x;base64=x,WA"
......
This is a testharness.js-based test.
Found 71 tests; 45 PASS, 26 FAIL, 0 TIMEOUT, 0 NOTRUN.
Found 71 tests; 46 PASS, 25 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS Setup.
PASS "data://test/,X"
FAIL "data://test:test/,X" assert_unreached: Should have rejected: undefined Reached unreachable code
......@@ -49,7 +49,7 @@ FAIL "data:x/x;base64;charset=x,WA" assert_array_equals: lengths differ, expecte
PASS "data:x/x;base64;charset=x;base64,WA"
FAIL "data:x/x;base64;base64x,WA" assert_array_equals: lengths differ, expected 2 got 1
PASS "data:;base64,W%20A"
FAIL "data:;base64,W%0CA" promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
PASS "data:;base64,W%0CA"
PASS "data:x;base64x,WA"
FAIL "data:x;base64;x,WA" assert_array_equals: lengths differ, expected 2 got 1
PASS "data:x;base64=x,WA"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment