[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
abarth at webkit.org
abarth at webkit.org
Wed Dec 22 11:43:20 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 2cfb5b36533e010f125bb112ae9c805f46ccf6e5
Author: abarth at webkit.org <abarth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Aug 5 00:34:36 2010 +0000
2010-08-04 Adam Barth <abarth at webkit.org>
Reviewed by Eric Seidel.
Pick up spec change w.r.t. replacement character and <frameset>
https://bugs.webkit.org/show_bug.cgi?id=43073
* html5lib/runner-expected-html5.txt:
2010-08-04 Adam Barth <abarth at webkit.org>
Reviewed by Eric Seidel.
Pick up spec change w.r.t. replacement character and <frameset>
https://bugs.webkit.org/show_bug.cgi?id=43073
Apparently this fixes parsing for some home router configuration pages.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index b89a73e..f62c25d 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,12 @@
+2010-08-04 Adam Barth <abarth at webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Pick up spec change w.r.t. replacement character and <frameset>
+ https://bugs.webkit.org/show_bug.cgi?id=43073
+
+ * html5lib/runner-expected-html5.txt:
+
2010-08-04 Andrew Wilson <atwilson at chromium.org>
Unreviewed change to Chromium test expectations to mark hyphenate-locale.html as failing.
diff --git a/LayoutTests/html5lib/runner-expected-html5.txt b/LayoutTests/html5lib/runner-expected-html5.txt
index 3a5442b..232fcf3 100644
--- a/LayoutTests/html5lib/runner-expected-html5.txt
+++ b/LayoutTests/html5lib/runner-expected-html5.txt
@@ -162,10 +162,6 @@ resources/tests18.dat: PASS
resources/tests19.dat:
63
-77
-78
-80
-81
101
102
@@ -190,56 +186,6 @@ Expected:
| <body>
| <keygen>
-Test 77 of 102 in resources/tests19.dat failed. Input:
-<html>�<frameset></frameset>
-Got:
-| <html>
-| <head>
-| <body>
-| "�"
-Expected:
-| <html>
-| <head>
-| <frameset>
-
-Test 78 of 102 in resources/tests19.dat failed. Input:
-<html> � <frameset></frameset>
-Got:
-| <html>
-| <head>
-| <body>
-| "� "
-Expected:
-| <html>
-| <head>
-| <frameset>
-
-Test 80 of 102 in resources/tests19.dat failed. Input:
-<html>��<frameset></frameset>
-Got:
-| <html>
-| <head>
-| <body>
-| "��"
-Expected:
-| <html>
-| <head>
-| <frameset>
-
-Test 81 of 102 in resources/tests19.dat failed. Input:
-<html>�
- <frameset></frameset>
-Got:
-| <html>
-| <head>
-| <body>
-| "�
- "
-Expected:
-| <html>
-| <head>
-| <frameset>
-
Test 101 of 102 in resources/tests19.dat failed. Input:
<!doctype html><figcaption><article></figcaption>a
Got:
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 365662c..7c64743 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-08-04 Adam Barth <abarth at webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Pick up spec change w.r.t. replacement character and <frameset>
+ https://bugs.webkit.org/show_bug.cgi?id=43073
+
+ Apparently this fixes parsing for some home router configuration pages.
+
+ * html/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processCharacterBuffer):
+
2010-08-04 Gavin Barraclough <barraclough at apple.com>
Reviewed by Sam Weinig.
diff --git a/WebCore/html/HTMLTreeBuilder.cpp b/WebCore/html/HTMLTreeBuilder.cpp
index ec15f9f..75858e7 100644
--- a/WebCore/html/HTMLTreeBuilder.cpp
+++ b/WebCore/html/HTMLTreeBuilder.cpp
@@ -61,20 +61,37 @@ static const int uninitializedLineNumberValue = -1;
namespace {
-inline bool isTreeBuilderWhitepace(UChar cc)
+inline bool isTreeBuilderWhitepace(UChar c)
{
- return cc == '\t' || cc == '\x0A' || cc == '\x0C' || cc == '\x0D' || cc == ' ';
+ // FIXME: Consider branch permutations.
+ return c == '\t' || c == '\x0A' || c == '\x0C' || c == '\x0D' || c == ' ';
}
-inline bool hasNonWhitespace(const String& string)
+inline bool isTreeBuilderWhitepaceOrReplacementCharacter(UChar c)
+{
+ return isTreeBuilderWhitepace(c) || c == 0xFFFD;
+}
+
+template<bool isSpecialCharacter(UChar c)>
+inline bool isAllSpecialCharacters(const String& string)
{
const UChar* characters = string.characters();
const unsigned length = string.length();
for (unsigned i = 0; i < length; ++i) {
- if (!isTreeBuilderWhitepace(characters[i]))
- return true;
+ if (!isSpecialCharacter(characters[i]))
+ return false;
}
- return false;
+ return true;
+}
+
+inline bool isAllWhitespace(const String& string)
+{
+ return isAllSpecialCharacters<isTreeBuilderWhitepace>(string);
+}
+
+inline bool isAllWhitespaceOrReplacementCharacters(const String& string)
+{
+ return isAllSpecialCharacters<isTreeBuilderWhitepaceOrReplacementCharacter>(string);
}
bool shouldUseLegacyTreeBuilder(Document* document)
@@ -2491,7 +2508,7 @@ ReprocessBuffer:
m_tree.reconstructTheActiveFormattingElements();
String characters = buffer.takeRemaining();
m_tree.insertTextNode(characters);
- if (m_framesetOk && hasNonWhitespace(characters))
+ if (m_framesetOk && !isAllWhitespaceOrReplacementCharacters(characters))
m_framesetOk = false;
break;
}
@@ -2565,7 +2582,7 @@ ReprocessBuffer:
ASSERT(insertionMode() == InForeignContentMode);
String characters = buffer.takeRemaining();
m_tree.insertTextNode(characters);
- if (m_framesetOk && hasNonWhitespace(characters))
+ if (m_framesetOk && !isAllWhitespace(characters))
m_framesetOk = false;
break;
}
@@ -2709,7 +2726,7 @@ void HTMLTreeBuilder::defaultForAfterHead()
void HTMLTreeBuilder::defaultForInTableText()
{
String characters = String::adopt(m_pendingTableCharacters);
- if (hasNonWhitespace(characters)) {
+ if (!isAllWhitespace(characters)) {
// FIXME: parse error
HTMLConstructionSite::RedirectToFosterParentGuard redirecter(m_tree);
m_tree.reconstructTheActiveFormattingElements();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list