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

Reply via email to