Title: [133021] trunk/Source/WebCore
- Revision
- 133021
- Author
- [email protected]
- Date
- 2012-10-31 06:55:20 -0700 (Wed, 31 Oct 2012)
Log Message
Remove stray calls to mutableAttributeData()
https://bugs.webkit.org/show_bug.cgi?id=100849
Reviewed by Andreas Kling.
Changing the cached class attribute value does not require mutable attribute data.
* dom/Element.cpp:
(WebCore::Element::classAttributeChanged):
* dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::clearClass):
Make const like setClass().
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (133020 => 133021)
--- trunk/Source/WebCore/ChangeLog 2012-10-31 13:49:01 UTC (rev 133020)
+++ trunk/Source/WebCore/ChangeLog 2012-10-31 13:55:20 UTC (rev 133021)
@@ -1,3 +1,19 @@
+2012-10-31 Antti Koivisto <[email protected]>
+
+ Remove stray calls to mutableAttributeData()
+ https://bugs.webkit.org/show_bug.cgi?id=100849
+
+ Reviewed by Andreas Kling.
+
+ Changing the cached class attribute value does not require mutable attribute data.
+
+ * dom/Element.cpp:
+ (WebCore::Element::classAttributeChanged):
+ * dom/ElementAttributeData.h:
+ (WebCore::ElementAttributeData::clearClass):
+
+ Make const like setClass().
+
2012-10-31 Mike West <[email protected]>
X-Frame-Options console message should be associated with a request.
Modified: trunk/Source/WebCore/dom/Element.cpp (133020 => 133021)
--- trunk/Source/WebCore/dom/Element.cpp 2012-10-31 13:49:01 UTC (rev 133020)
+++ trunk/Source/WebCore/dom/Element.cpp 2012-10-31 13:55:20 UTC (rev 133021)
@@ -787,14 +787,14 @@
SpaceSplitString oldClasses = attributeData->classNames();
attributeData->setClass(newClassString, shouldFoldCase);
if (shouldInvalidateStyle)
- collectAddedAndRemovedClasses(addedAndRemovedClasses, oldClasses, mutableAttributeData()->classNames());
- } else if (attributeData()) {
+ collectAddedAndRemovedClasses(addedAndRemovedClasses, oldClasses, attributeData->classNames());
+ } else if (const ElementAttributeData* attributeData = this->attributeData()) {
if (shouldInvalidateStyle) {
- const SpaceSplitString& oldClasses = attributeData()->classNames();
+ const SpaceSplitString& oldClasses = attributeData->classNames();
for (unsigned i = 0; i < oldClasses.size(); ++i)
addedAndRemovedClasses.append(oldClasses[i]);
}
- mutableAttributeData()->clearClass();
+ attributeData->clearClass();
}
if (DOMTokenList* classList = optionalClassList())
@@ -805,7 +805,7 @@
for (unsigned i = 0; i < addedAndRemovedClasses.size(); ++i) {
if (document()->styleResolverIfExists()->hasSelectorForClass(addedAndRemovedClasses[i])) {
setNeedsStyleRecalc();
- break;
+ return;
}
}
}
Modified: trunk/Source/WebCore/dom/ElementAttributeData.h (133020 => 133021)
--- trunk/Source/WebCore/dom/ElementAttributeData.h 2012-10-31 13:49:01 UTC (rev 133020)
+++ trunk/Source/WebCore/dom/ElementAttributeData.h 2012-10-31 13:55:20 UTC (rev 133021)
@@ -48,7 +48,7 @@
// the appropriate subclass type.
void deref();
- void clearClass() { m_classNames.clear(); }
+ void clearClass() const { m_classNames.clear(); }
void setClass(const AtomicString& className, bool shouldFoldCase) const { m_classNames.set(className, shouldFoldCase); }
const SpaceSplitString& classNames() const { return m_classNames; }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes