[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