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

antonm at chromium.org antonm at chromium.org
Sun Feb 20 23:14:13 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 6f53c13c28d32b018e069e95d5b23b90a5267628
Author: antonm at chromium.org <antonm at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 19 07:40:35 2011 +0000

    2011-01-18  Anton Muhin  <antonm at chromium.org>
    
            Reviewed by Adam Barth.
    
            [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
            https://bugs.webkit.org/show_bug.cgi?id=51683
    
            Covered by the existing tests.
    
            * bindings/v8/DOMDataStore.cpp:
            (WebCore::DOMDataStore::weakNodeCallback):
            (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
            * bindings/v8/DOMDataStore.h:
            * bindings/v8/V8DOMMap.h:
            (WebCore::WeakReferenceMap::removeIfPresent):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index a3e5dc8..ecb45f9 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2011-01-18  Anton Muhin  <antonm at chromium.org>
+
+        Reviewed by Adam Barth.
+
+        [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
+        https://bugs.webkit.org/show_bug.cgi?id=51683
+
+        Covered by the existing tests.
+
+        * bindings/v8/DOMDataStore.cpp:
+        (WebCore::DOMDataStore::weakNodeCallback):
+        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
+        * bindings/v8/DOMDataStore.h:
+        * bindings/v8/V8DOMMap.h:
+        (WebCore::WeakReferenceMap::removeIfPresent):
+
 2011-01-18 MORITA Hajime  <morrita at google.com>
 
         Reviewed by Ryosuke Niwa.
diff --git a/Source/WebCore/bindings/v8/DOMDataStore.cpp b/Source/WebCore/bindings/v8/DOMDataStore.cpp
index 0d37dc0..5393bd9 100644
--- a/Source/WebCore/bindings/v8/DOMDataStore.cpp
+++ b/Source/WebCore/bindings/v8/DOMDataStore.cpp
@@ -148,11 +148,13 @@ void DOMDataStore::weakActiveDOMObjectCallback(v8::Persistent<v8::Value> v8Objec
     DOMData::handleWeakObject(DOMDataStore::ActiveDOMObjectMap, v8::Persistent<v8::Object>::Cast(v8Object), domObject);
 }
 
-void DOMDataStore::weakNodeCallback(v8::Persistent<v8::Value> v8Object, void* domObject)
+void DOMDataStore::weakNodeCallback(v8::Persistent<v8::Value> value, void* domObject)
 {
     ASSERT(WTF::isMainThread());
 
     Node* node = static_cast<Node*>(domObject);
+    // Node wrappers must be JS objects.
+    v8::Persistent<v8::Object> v8Object = v8::Persistent<v8::Object>::Cast(value);
 
     WTF::MutexLocker locker(DOMDataStore::allStoresMutex());
     DOMDataList& list = DOMDataStore::allStores();
@@ -171,7 +173,7 @@ void DOMDataStore::weakNodeCallback(v8::Persistent<v8::Value> v8Object, void* do
     node->deref(); // Nobody overrides Node::deref so it's safe
 }
 
-bool DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent(Node* obj, v8::Persistent<v8::Data> value)
+bool DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent(Node* obj, v8::Persistent<v8::Object> value)
 {
     ASSERT(obj);
     v8::Persistent<v8::Object>* entry = obj->wrapper();
diff --git a/Source/WebCore/bindings/v8/DOMDataStore.h b/Source/WebCore/bindings/v8/DOMDataStore.h
index a1051dd..cfe220e 100644
--- a/Source/WebCore/bindings/v8/DOMDataStore.h
+++ b/Source/WebCore/bindings/v8/DOMDataStore.h
@@ -190,7 +190,7 @@ namespace WebCore {
                 m_table.visit(store, visitor);
             }
 
-            virtual bool removeIfPresent(Node* key, v8::Persistent<v8::Data> value);
+            virtual bool removeIfPresent(Node*, v8::Persistent<v8::Object>);
 
             virtual void clear()
             {
diff --git a/Source/WebCore/bindings/v8/V8DOMMap.h b/Source/WebCore/bindings/v8/V8DOMMap.h
index c2b5a9d..51d933a 100644
--- a/Source/WebCore/bindings/v8/V8DOMMap.h
+++ b/Source/WebCore/bindings/v8/V8DOMMap.h
@@ -60,7 +60,7 @@ namespace WebCore {
         virtual void set(KeyType* obj, v8::Persistent<ValueType> wrapper) = 0;
         virtual bool contains(KeyType* obj) = 0;
         virtual void visit(DOMDataStore* store, Visitor* visitor) = 0;
-        virtual bool removeIfPresent(KeyType* key, v8::Persistent<v8::Data> value) = 0;
+        virtual bool removeIfPresent(KeyType*, v8::Persistent<ValueType>) = 0;
         virtual void clear() = 0;
 
         v8::WeakReferenceCallback weakReferenceCallback() { return m_weakReferenceCallback; }
@@ -105,7 +105,7 @@ namespace WebCore {
             handle.Clear();
         }
 
-        bool removeIfPresent(KeyType* key, v8::Persistent<v8::Data> value)
+        bool removeIfPresent(KeyType* key, v8::Persistent<ValueType> value)
         {
             typename HashMap<KeyType*, ValueType*>::iterator it = m_map.find(key);
             if (it == m_map.end() || it->second != *value)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list