[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