[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:23:09 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 780cc79f132f9941d83074be9a2d586d3b5bf9f6
Author: abarth at webkit.org <abarth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Jul 21 12:38:21 2010 +0000
2010-07-21 Adam Barth <abarth at webkit.org>
Reviewed by Eric Seidel.
The adoption agency doesn't properly attach()
https://bugs.webkit.org/show_bug.cgi?id=42727
The adoption agency is transliterated rather directly from the spec,
but it misses some of the WebKit-specific machinations, such as
attaching to the render tree.
The algorithm, as written, is a minor layer violation. I've added to
the problem by calling attach() from HTMLTreeBuilder (even though
that's the job of the HTMLConstructionSite). We'll need to clean up
the layering a bit at some point.
This patch half fixes fast/forms/formmove3.html. Hopefully I'll finish
fixing it in the next patch.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 388624b..c2526f7 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -2,6 +2,30 @@
Reviewed by Eric Seidel.
+ The adoption agency doesn't properly attach()
+ https://bugs.webkit.org/show_bug.cgi?id=42727
+
+ The adoption agency is transliterated rather directly from the spec,
+ but it misses some of the WebKit-specific machinations, such as
+ attaching to the render tree.
+
+ The algorithm, as written, is a minor layer violation. I've added to
+ the problem by calling attach() from HTMLTreeBuilder (even though
+ that's the job of the HTMLConstructionSite). We'll need to clean up
+ the layering a bit at some point.
+
+ This patch half fixes fast/forms/formmove3.html. Hopefully I'll finish
+ fixing it in the next patch.
+
+ * html/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
+ * html/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
+
+2010-07-21 Adam Barth <abarth at webkit.org>
+
+ Reviewed by Eric Seidel.
+
<input> elements with no type attribute should be foster parented
https://bugs.webkit.org/show_bug.cgi?id=42725
diff --git a/WebCore/html/HTMLConstructionSite.cpp b/WebCore/html/HTMLConstructionSite.cpp
index b85590e..13a6d36 100644
--- a/WebCore/html/HTMLConstructionSite.cpp
+++ b/WebCore/html/HTMLConstructionSite.cpp
@@ -341,7 +341,7 @@ PassRefPtr<Element> HTMLConstructionSite::createHTMLElementFromSavedElement(Elem
// FIXME: This method is wrong. We should be using the original token.
// Using an Element* causes us to fail examples like this:
// <b id="1"><p><script>document.getElementById("1").id = "2"</script></p>TEXT</b>
- // When reconstructActiveFormattingElements calls this method to open
+ // When reconstructTheActiveFormattingElements calls this method to open
// a second <b> tag to wrap TEXT, it will have id "2", even though the HTML5
// spec implies it should be "1". Minefield matches the HTML5 spec here.
diff --git a/WebCore/html/HTMLTreeBuilder.cpp b/WebCore/html/HTMLTreeBuilder.cpp
index 4bcac10..a926a8b 100644
--- a/WebCore/html/HTMLTreeBuilder.cpp
+++ b/WebCore/html/HTMLTreeBuilder.cpp
@@ -1712,7 +1712,15 @@ void HTMLTreeBuilder::callTheAdoptionAgency(AtomicHTMLToken& token)
// 9
reparentChildren(furthestBlock->element(), newElement.get());
// 10
- furthestBlock->element()->parserAddChild(newElement);
+ Element* furthestBlockElement = furthestBlock->element();
+ // FIXME: All this creation / parserAddChild / attach business should
+ // be in HTMLConstructionSite. My guess is that steps 8--12
+ // should all be in some HTMLConstructionSite function.
+ furthestBlockElement->parserAddChild(newElement);
+ if (furthestBlockElement->attached()) {
+ ASSERT(!newElement->attached());
+ newElement->attach();
+ }
// 11
m_tree.activeFormattingElements()->remove(formattingElement);
m_tree.activeFormattingElements()->insertAt(newElement.get(), bookmark);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list