Title: [199378] trunk/Source/WebCore
Revision
199378
Author
[email protected]
Date
2016-04-12 11:44:54 -0700 (Tue, 12 Apr 2016)

Log Message

Regression(r199360): assertion hit in Element::fastGetAttribute()
https://bugs.webkit.org/show_bug.cgi?id=156509

Reviewed by Ryosuke Niwa.

Stop using fastGetAttribute() / setAttributeWithoutSynchronization()
given that DOMTokenList is used for the class attribute and we need
to synchronize in this case.

No new tests, already covered by existing tests.

* html/DOMTokenList.cpp:
(WebCore::DOMTokenList::updateAssociatedAttributeFromTokens):
(WebCore::DOMTokenList::tokens):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (199377 => 199378)


--- trunk/Source/WebCore/ChangeLog	2016-04-12 18:40:19 UTC (rev 199377)
+++ trunk/Source/WebCore/ChangeLog	2016-04-12 18:44:54 UTC (rev 199378)
@@ -1,3 +1,20 @@
+2016-04-12  Chris Dumez  <[email protected]>
+
+        Regression(r199360): assertion hit in Element::fastGetAttribute()
+        https://bugs.webkit.org/show_bug.cgi?id=156509
+
+        Reviewed by Ryosuke Niwa.
+
+        Stop using fastGetAttribute() / setAttributeWithoutSynchronization()
+        given that DOMTokenList is used for the class attribute and we need
+        to synchronize in this case.
+
+        No new tests, already covered by existing tests.
+
+        * html/DOMTokenList.cpp:
+        (WebCore::DOMTokenList::updateAssociatedAttributeFromTokens):
+        (WebCore::DOMTokenList::tokens):
+
 2016-04-12  Myles C. Maxfield  <[email protected]>
 
         [RTL Scrollbars] Overlay scrollbars push contents inwards

Modified: trunk/Source/WebCore/html/DOMTokenList.cpp (199377 => 199378)


--- trunk/Source/WebCore/html/DOMTokenList.cpp	2016-04-12 18:40:19 UTC (rev 199377)
+++ trunk/Source/WebCore/html/DOMTokenList.cpp	2016-04-12 18:44:54 UTC (rev 199378)
@@ -221,14 +221,14 @@
     m_cachedValue = nullAtom;
 
     TemporaryChange<bool> inAttributeUpdate(m_inUpdateAssociatedAttributeFromTokens, true);
-    m_element.setAttributeWithoutSynchronization(m_attributeName, value());
+    m_element.setAttribute(m_attributeName, value());
     ASSERT_WITH_MESSAGE(m_cachedValue, "Calling value() should have cached its results");
 }
 
 Vector<AtomicString>& DOMTokenList::tokens()
 {
     if (m_tokensNeedUpdating)
-        updateTokensFromAttributeValue(m_element.fastGetAttribute(m_attributeName));
+        updateTokensFromAttributeValue(m_element.getAttribute(m_attributeName));
     ASSERT(!m_tokensNeedUpdating);
     return m_tokens;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to