Title: [97785] trunk/Source/WebCore
- Revision
- 97785
- Author
- [email protected]
- Date
- 2011-10-18 13:09:02 -0700 (Tue, 18 Oct 2011)
Log Message
[MutationObservers] Clean up MutationObserver code in Node
https://bugs.webkit.org/show_bug.cgi?id=70349
Reviewed by Ryosuke Niwa.
Three small cleanups.
No new tests, no behavior change.
* dom/Node.cpp:
(WebCore::Node::clearRareData): Use indices instead of iterator in for loop; fix typo.
(WebCore::Node::registerMutationObserver): Inline single call to Node::ensureMutationObserverEntries.
* dom/Node.h: Make mutationObserverEntries private.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (97784 => 97785)
--- trunk/Source/WebCore/ChangeLog 2011-10-18 19:55:24 UTC (rev 97784)
+++ trunk/Source/WebCore/ChangeLog 2011-10-18 20:09:02 UTC (rev 97785)
@@ -1,3 +1,19 @@
+2011-10-18 Adam Klein <[email protected]>
+
+ [MutationObservers] Clean up MutationObserver code in Node
+ https://bugs.webkit.org/show_bug.cgi?id=70349
+
+ Reviewed by Ryosuke Niwa.
+
+ Three small cleanups.
+
+ No new tests, no behavior change.
+
+ * dom/Node.cpp:
+ (WebCore::Node::clearRareData): Use indices instead of iterator in for loop; fix typo.
+ (WebCore::Node::registerMutationObserver): Inline single call to Node::ensureMutationObserverEntries.
+ * dom/Node.h: Make mutationObserverEntries private.
+
2011-10-18 James Robinson <[email protected]>
[chromium] Fix shutdown race when posting main thread task to CCThreadProxy and enable tests
Modified: trunk/Source/WebCore/dom/Node.cpp (97784 => 97785)
--- trunk/Source/WebCore/dom/Node.cpp 2011-10-18 19:55:24 UTC (rev 97784)
+++ trunk/Source/WebCore/dom/Node.cpp 2011-10-18 20:09:02 UTC (rev 97785)
@@ -548,10 +548,10 @@
treeScope()->removeNodeListCache();
#if ENABLE(MUTATION_OBSERVERS)
- Vector<MutationObserverEntry>* observerEnties = mutationObserverEntries();
- if (observerEnties) {
- for (Vector<MutationObserverEntry>::iterator iter = observerEnties->begin(); iter != observerEnties->end(); ++iter)
- iter->observer->observedNodeDestructed(this);
+ Vector<MutationObserverEntry>* observerEntries = mutationObserverEntries();
+ if (observerEntries) {
+ for (size_t i = 0; i < observerEntries->size(); ++i)
+ observerEntries->at(i).observer->observedNodeDestructed(this);
}
#endif
@@ -2688,11 +2688,6 @@
return hasRareData() ? rareData()->mutationObserverEntries() : 0;
}
-Vector<MutationObserverEntry>* Node::ensureMutationObserverEntries()
-{
- return ensureRareData()->ensureMutationObserverEntries();
-}
-
void Node::registeredMutationObserversOfType(Vector<WebKitMutationObserver*>& observers, WebKitMutationObserver::MutationType type)
{
Vector<MutationObserverEntry>* observerEntries = mutationObserverEntries();
@@ -2707,7 +2702,7 @@
Node::MutationRegistrationResult Node::registerMutationObserver(PassRefPtr<WebKitMutationObserver> observer, MutationObserverOptions options)
{
- Vector<MutationObserverEntry>* observerEntries = ensureMutationObserverEntries();
+ Vector<MutationObserverEntry>* observerEntries = ensureRareData()->ensureMutationObserverEntries();
MutationObserverEntry entry(observer, options);
size_t index = observerEntries->find(entry);
Modified: trunk/Source/WebCore/dom/Node.h (97784 => 97785)
--- trunk/Source/WebCore/dom/Node.h 2011-10-18 19:55:24 UTC (rev 97784)
+++ trunk/Source/WebCore/dom/Node.h 2011-10-18 20:09:02 UTC (rev 97785)
@@ -588,12 +588,8 @@
#endif
#if ENABLE(MUTATION_OBSERVERS)
- Vector<MutationObserverEntry>* mutationObserverEntries();
- Vector<MutationObserverEntry>* ensureMutationObserverEntries();
-
void registeredMutationObserversOfType(Vector<WebKitMutationObserver*>&, WebKitMutationObserver::MutationType);
- // Returns true if the observer wasn't already registered on this node.
enum MutationRegistrationResult {
MutationObserverRegistered,
MutationRegistrationOptionsReset
@@ -726,6 +722,10 @@
void trackForDebugging();
+#if ENABLE(MUTATION_OBSERVERS)
+ Vector<MutationObserverEntry>* mutationObserverEntries();
+#endif
+
mutable uint32_t m_nodeFlags;
Document* m_document;
Node* m_previous;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes