[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

morrita at google.com morrita at google.com
Sun Feb 20 23:08:54 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 462c3ea4fde75e89bf7a55950f97650c7822524a
Author: morrita at google.com <morrita at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jan 18 07:12:43 2011 +0000

    2011-01-17  MORITA Hajime  <morrita at google.com>
    
            Unreviewed, rolling out r75995.
            http://trac.webkit.org/changeset/75995
            https://bugs.webkit.org/show_bug.cgi?id=51914
    
            Causes assertion failures.
    
            * dom/Element.cpp:
            (WebCore::Element::shadowRoot):
            (WebCore::Element::setShadowRoot):
            (WebCore::Element::removeShadowRoot):
            * dom/ElementRareData.h:
            (WebCore::ElementRareData::ElementRareData):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76001 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index ca88290..94ffb73 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,20 @@
 2011-01-17  MORITA Hajime  <morrita at google.com>
 
+        Unreviewed, rolling out r75995.
+        http://trac.webkit.org/changeset/75995
+        https://bugs.webkit.org/show_bug.cgi?id=51914
+
+        Causes assertion failures.
+
+        * dom/Element.cpp:
+        (WebCore::Element::shadowRoot):
+        (WebCore::Element::setShadowRoot):
+        (WebCore::Element::removeShadowRoot):
+        * dom/ElementRareData.h:
+        (WebCore::ElementRareData::ElementRareData):
+
+2011-01-17  MORITA Hajime  <morrita at google.com>
+
         Unreviewed, rolling out r75999.
         http://trac.webkit.org/changeset/75999
 
diff --git a/Source/WebCore/dom/Element.cpp b/Source/WebCore/dom/Element.cpp
index 34caa22..c61b95d 100644
--- a/Source/WebCore/dom/Element.cpp
+++ b/Source/WebCore/dom/Element.cpp
@@ -1084,7 +1084,7 @@ void Element::recalcStyle(StyleChange change)
 
 Node* Element::shadowRoot()
 {
-    return hasRareData() ? rareData()->m_shadowRoot : 0;
+    return hasRareData() ? rareData()->m_shadowRoot.get() : 0;
 }
 
 void Element::setShadowRoot(PassRefPtr<Node> node)
@@ -1093,21 +1093,20 @@ void Element::setShadowRoot(PassRefPtr<Node> node)
     // about compromising DOM tree integrity (eg. node being a parent of this). However,
     // once we implement XBL2, we will have to add integrity checks here.
     removeShadowRoot();
-    if (!node)
+    RefPtr<Node> newRoot = node;
+    if (!newRoot)
         return;
 
-    ElementRareData* data = ensureRareData();
-    data->m_shadowRoot = node.leakRef();
-    data->m_shadowRoot->setShadowHost(this);
+    ensureRareData()->m_shadowRoot = newRoot;
+    newRoot->setShadowHost(this);
 }
 
 void Element::removeShadowRoot()
 {
-    if (ElementRareData* data = rareData()) {
-        if (!data->m_shadowRoot)
-            return;
-        RefPtr<Node> oldRoot = data->m_shadowRoot;
-        data->m_shadowRoot = 0;
+    if (!hasRareData())
+        return;
+
+    if (RefPtr<Node> oldRoot = rareData()->m_shadowRoot.release()) {
         document()->removeFocusedNodeOfSubtree(oldRoot.get());
         oldRoot->setShadowHost(0);
         if (oldRoot->inDocument())
diff --git a/Source/WebCore/dom/ElementRareData.h b/Source/WebCore/dom/ElementRareData.h
index 500e31f..f7f30bb 100644
--- a/Source/WebCore/dom/ElementRareData.h
+++ b/Source/WebCore/dom/ElementRareData.h
@@ -41,7 +41,7 @@ public:
 
     IntSize m_minimumSizeForResizing;
     RefPtr<RenderStyle> m_computedStyle;
-    Node* m_shadowRoot;
+    RefPtr<Node> m_shadowRoot;
 
     OwnPtr<DatasetDOMStringMap> m_datasetDOMStringMap;
     OwnPtr<ClassList> m_classList;
@@ -54,7 +54,6 @@ inline IntSize defaultMinimumSizeForResizing()
 
 inline ElementRareData::ElementRareData()
     : m_minimumSizeForResizing(defaultMinimumSizeForResizing())
-    , m_shadowRoot(0)
 {
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list