[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
eric at webkit.org
eric at webkit.org
Tue Jan 5 23:43:55 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 18fec1a42cefe9f4365ef6c2d028178aeac89e5b
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Dec 7 22:50:15 2009 +0000
2009-12-07 Kent Tamura <tkent at chromium.org>
Reviewed by Darin Adler.
Some changes to ValidityState-typeMismatch-url.html.
https://bugs.webkit.org/show_bug.cgi?id=29913
- Add more test cases
Username, IPv6 address, mailto:, file:, tel:, fragment, and IDN.
- Handle difference between KURL and KURLGoogle
* fast/forms/ValidityState-typeMismatch-url-expected.txt:
* fast/forms/script-tests/ValidityState-typeMismatch-url.js:
2009-12-07 Kent Tamura <tkent at chromium.org>
Reviewed by Darin Adler.
Fix a bug that KURL rejects a host name which has an IPv4 address
inside an IPv6 form like [::127.0.0.1].
https://bugs.webkit.org/show_bug.cgi?id=29913
* platform/KURL.cpp:
(WebCore::characterClassTable): Add IPv6Char to '.'.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index c9734b9..e0e48df 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,17 @@
+2009-12-07 Kent Tamura <tkent at chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Some changes to ValidityState-typeMismatch-url.html.
+ https://bugs.webkit.org/show_bug.cgi?id=29913
+
+ - Add more test cases
+ Username, IPv6 address, mailto:, file:, tel:, fragment, and IDN.
+ - Handle difference between KURL and KURLGoogle
+
+ * fast/forms/ValidityState-typeMismatch-url-expected.txt:
+ * fast/forms/script-tests/ValidityState-typeMismatch-url.js:
+
2009-12-07 Darin Fisher <darin at chromium.org>
Reviewed by Darin Adler.
diff --git a/LayoutTests/fast/forms/ValidityState-typeMismatch-url-expected.txt b/LayoutTests/fast/forms/ValidityState-typeMismatch-url-expected.txt
index e27c6c2..56fde01 100644
--- a/LayoutTests/fast/forms/ValidityState-typeMismatch-url-expected.txt
+++ b/LayoutTests/fast/forms/ValidityState-typeMismatch-url-expected.txt
@@ -4,28 +4,42 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS http://www.google.com is a correct valid url.
+PASS http://foo:bar@www.google.com:80 is a correct valid url.
PASS http://localhost is a correct valid url.
PASS http://127.0.0.1 is a correct valid url.
+PASS http://[0000:0000:0000:0000:0000:0000:7f00:0001]/ is a correct valid url.
+PASS http://[0000:0000:0000:0000:0000:0000:127.0.0.1]/ is a correct valid url.
+PASS http://[::7f00:0001]/ is a correct valid url.
+PASS http://[1::2:3]/ is a correct valid url.
+PASS http://[0000:0::ffff:10.0.0.1]/ is a correct valid url.
PASS http://a is a correct valid url.
PASS http://www.google.com/search?rls=en&q=WebKit&ie=UTF-8&oe=UTF-8 is a correct valid url.
PASS ftp://ftp.myhost.com is a correct valid url.
PASS ssh://ssh.myhost.com is a correct valid url.
+PASS mailto:tkent at chromium.org is a correct valid url.
+PASS mailto:tkent at chromium.org?body=hello is a correct valid url.
+PASS file:///Users/tkent/.zshrc is a correct valid url.
+PASS file:///C:/human.sys is a correct valid url.
+PASS tel:+1-800-12345;ext=9999 is a correct valid url.
+PASS tel:03(1234)5678 is a correct valid url.
PASS somescheme://ssh.myhost.com is a correct valid url.
PASS http://a/\/''*<>/ is a correct valid url.
PASS http://a/dfs/kds@sds is a correct valid url.
PASS http://a.a:1/search?a&b is a correct valid url.
+PASS http://www.google.com/#top is a correct valid url.
+PASS http://テスト。jp/パス?名前=値 is a correct valid url.
PASS www.google.com is a correct invalid url.
PASS 127.0.0.1 is a correct invalid url.
PASS .com is a correct invalid url.
-PASS http://www.g**gle.com is a correct invalid url.
PASS http://www.google.com:aaaa is a correct invalid url.
-PASS http:// www.google.com is a correct invalid url.
-PASS http://www .google.com is a correct invalid url.
-PASS http://www. google. com is a correct invalid url.
PASS :// is a correct invalid url.
PASS /http://www.google.com is a correct invalid url.
PASS ----ftp://a is a correct invalid url.
PASS scheme//a is a correct invalid url.
+PASS http://[v8.:::]/ is a correct invalid url.
+PASS http:// www.google.com is a correct invalid url.
+PASS http://www .google.com is a correct invalid url.
+PASS http://www. google. com is a correct invalid url.
PASS http://host+ is a correct invalid url.
PASS http://myurl! is a correct invalid url.
PASS successfullyParsed is true
diff --git a/LayoutTests/fast/forms/script-tests/ValidityState-typeMismatch-url.js b/LayoutTests/fast/forms/script-tests/ValidityState-typeMismatch-url.js
index 2efd2b6..040cd4f 100644
--- a/LayoutTests/fast/forms/script-tests/ValidityState-typeMismatch-url.js
+++ b/LayoutTests/fast/forms/script-tests/ValidityState-typeMismatch-url.js
@@ -11,36 +11,70 @@ function check(value, mismatchExpected) {
testFailed(resultText);
}
+function expectValid(value) {
+ check(value, false);
+}
+
+function expectInvalid(value) {
+ check(value, true);
+}
+
var i = document.createElement('input');
i.type = 'url';
// Valid values
-check('http://www.google.com', false);
-check('http://localhost', false);
-check('http://127.0.0.1', false);
-check('http://a', false);
-check('http://www.google.com/search?rls=en&q=WebKit&ie=UTF-8&oe=UTF-8', false);
-check('ftp://ftp.myhost.com', false);
-check('ssh://ssh.myhost.com', false);
-check('somescheme://ssh.myhost.com', false);
-check('http://a/\\\/\'\'*<>/', false);
-check('http://a/dfs/\kds@sds', false);
-check('http://a.a:1/search?a&b', false);
+expectValid('http://www.google.com');
+expectValid('http://foo:bar@www.google.com:80');
+expectValid('http://localhost');
+expectValid('http://127.0.0.1');
+expectValid('http://[0000:0000:0000:0000:0000:0000:7f00:0001]/');
+expectValid('http://[0000:0000:0000:0000:0000:0000:127.0.0.1]/');
+expectValid('http://[::7f00:0001]/');
+expectValid('http://[1::2:3]/');
+expectValid('http://[0000:0::ffff:10.0.0.1]/');
+expectValid('http://a');
+expectValid('http://www.google.com/search?rls=en&q=WebKit&ie=UTF-8&oe=UTF-8');
+expectValid('ftp://ftp.myhost.com');
+expectValid('ssh://ssh.myhost.com');
+expectValid('mailto:tkent at chromium.org');
+expectValid('mailto:tkent at chromium.org?body=hello');
+expectValid('file:///Users/tkent/.zshrc');
+expectValid('file:///C:/human.sys');
+expectValid('tel:+1-800-12345;ext=9999');
+expectValid('tel:03(1234)5678');
+expectValid('somescheme://ssh.myhost.com');
+expectValid('http://a/\\\/\'\'*<>/');
+expectValid('http://a/dfs/\kds@sds');
+expectValid('http://a.a:1/search?a&b');
+expectValid('http://www.google.com/#top');
+expectValid('http://\u30C6\u30B9\u30C8\u3002jp/\u30D1\u30B9?\u540D\u524D=\u5024');
// Invalid values
-check('www.google.com', true);
-check('127.0.0.1', true);
-check('.com', true);
-check('http://www.g**gle.com', true);
-check('http://www.google.com:aaaa', true);
-check('http:// www.google.com', true);
-check('http://www .google.com', true);
-check('http://www. google. com', true);
-check('://', true);
-check('/http://www.google.com', true);
-check('----ftp://a', true);
-check('scheme//a', true);
-check('http://host+', true);
-check('http://myurl!', true);
+expectInvalid('www.google.com');
+expectInvalid('127.0.0.1');
+expectInvalid('.com');
+expectInvalid('http://www.google.com:aaaa');
+expectInvalid('://');
+expectInvalid('/http://www.google.com');
+expectInvalid('----ftp://a');
+expectInvalid('scheme//a');
+expectInvalid('http://[v8.:::]/');
+
+// KURL's host name restriction is stricter than RFC 3986. KURLGoogle is not.
+i.value = 'http://www.g**gle.com'
+var strictHost = i.validity.typeMismatch;
+if (strictHost) {
+ expectInvalid('http:// www.google.com');
+ expectInvalid('http://www .google.com');
+ expectInvalid('http://www. google. com');
+ expectInvalid('http://host+');
+ expectInvalid('http://myurl!');
+} else {
+ expectValid('http:// www.google.com');
+ expectValid('http://www .google.com');
+ expectValid('http://www. google. com');
+ expectValid('http://host+');
+ expectValid('http://myurl!');
+}
var successfullyParsed = true;
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index b5cb2c9..b42b1c2 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,14 @@
+2009-12-07 Kent Tamura <tkent at chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix a bug that KURL rejects a host name which has an IPv4 address
+ inside an IPv6 form like [::127.0.0.1].
+ https://bugs.webkit.org/show_bug.cgi?id=29913
+
+ * platform/KURL.cpp:
+ (WebCore::characterClassTable): Add IPv6Char to '.'.
+
2009-12-07 Brady Eidson <beidson at apple.com>
Reviewed by Sam Weinig.
diff --git a/WebCore/platform/KURL.cpp b/WebCore/platform/KURL.cpp
index 12e34bd..a8f7969 100644
--- a/WebCore/platform/KURL.cpp
+++ b/WebCore/platform/KURL.cpp
@@ -102,7 +102,7 @@ static const unsigned char characterClassTable[256] = {
/* 42 * */ UserInfoChar, /* 43 + */ SchemeChar | UserInfoChar,
/* 44 , */ UserInfoChar,
/* 45 - */ SchemeChar | UserInfoChar | HostnameChar,
- /* 46 . */ SchemeChar | UserInfoChar | HostnameChar,
+ /* 46 . */ SchemeChar | UserInfoChar | HostnameChar | IPv6Char,
/* 47 / */ PathSegmentEndChar,
/* 48 0 */ SchemeChar | UserInfoChar | HostnameChar | IPv6Char,
/* 49 1 */ SchemeChar | UserInfoChar | HostnameChar | IPv6Char,
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list