Title: [115495] trunk/Source/WebCore
- Revision
- 115495
- Author
- [email protected]
- Date
- 2012-04-27 14:38:39 -0700 (Fri, 27 Apr 2012)
Log Message
[V8] Pass Isolate to getDOMXXXMap()
https://bugs.webkit.org/show_bug.cgi?id=85022
Reviewed by Nate Chapin.
The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to getDOMXXXMap().
Also this patch removes DOMMap::getDOMDataStore() and
DOMData::getDefalutStore(), since the indirection by the
methods is redundant. This is not for performance
optimization but just for refactoring.
No tests. No change in behavior.
* bindings/v8/DOMData.cpp:
(WebCore::DOMData::getCurrentStore):
* bindings/v8/DOMData.h:
(DOMData):
* bindings/v8/V8DOMMap.cpp:
(WebCore::getDOMNodeMap):
(WebCore::getActiveDOMNodeMap):
(WebCore::getDOMObjectMap):
(WebCore::getActiveDOMObjectMap):
(WebCore::removeAllDOMObjects):
* bindings/v8/V8DOMMap.h:
(WebCore):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (115494 => 115495)
--- trunk/Source/WebCore/ChangeLog 2012-04-27 21:36:19 UTC (rev 115494)
+++ trunk/Source/WebCore/ChangeLog 2012-04-27 21:38:39 UTC (rev 115495)
@@ -1,5 +1,35 @@
2012-04-26 Kentaro Hara <[email protected]>
+ [V8] Pass Isolate to getDOMXXXMap()
+ https://bugs.webkit.org/show_bug.cgi?id=85022
+
+ Reviewed by Nate Chapin.
+
+ The objective is to pass Isolate around in V8 bindings.
+ This patch passes Isolate to getDOMXXXMap().
+
+ Also this patch removes DOMMap::getDOMDataStore() and
+ DOMData::getDefalutStore(), since the indirection by the
+ methods is redundant. This is not for performance
+ optimization but just for refactoring.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/DOMData.cpp:
+ (WebCore::DOMData::getCurrentStore):
+ * bindings/v8/DOMData.h:
+ (DOMData):
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::getDOMNodeMap):
+ (WebCore::getActiveDOMNodeMap):
+ (WebCore::getDOMObjectMap):
+ (WebCore::getActiveDOMObjectMap):
+ (WebCore::removeAllDOMObjects):
+ * bindings/v8/V8DOMMap.h:
+ (WebCore):
+
+2012-04-26 Kentaro Hara <[email protected]>
+
[V8] Pass Isolate to V8BindingPerIsolateData::current()
https://bugs.webkit.org/show_bug.cgi?id=85023
Modified: trunk/Source/WebCore/bindings/v8/DOMData.cpp (115494 => 115495)
--- trunk/Source/WebCore/bindings/v8/DOMData.cpp 2012-04-27 21:36:19 UTC (rev 115494)
+++ trunk/Source/WebCore/bindings/v8/DOMData.cpp 2012-04-27 21:38:39 UTC (rev 115495)
@@ -37,21 +37,16 @@
namespace WebCore {
-static StaticDOMDataStore& getDefaultStore()
+DOMDataStore& DOMData::getCurrentStore(v8::Isolate* isolate)
{
DEFINE_STATIC_LOCAL(StaticDOMDataStore, defaultStore, ());
- return defaultStore;
-}
-
-DOMDataStore& DOMData::getCurrentStore()
-{
V8BindingPerIsolateData* data = ""
if (UNLIKELY(data->domDataStore() != 0))
return *data->domDataStore();
V8IsolatedContext* context = V8IsolatedContext::getEntered();
if (UNLIKELY(context != 0))
return *context->world()->domDataStore();
- return getDefaultStore();
+ return defaultStore;
}
void DOMData::derefObject(WrapperTypeInfo* type, void* domObject)
Modified: trunk/Source/WebCore/bindings/v8/DOMData.h (115494 => 115495)
--- trunk/Source/WebCore/bindings/v8/DOMData.h 2012-04-27 21:36:19 UTC (rev 115494)
+++ trunk/Source/WebCore/bindings/v8/DOMData.h 2012-04-27 21:38:39 UTC (rev 115495)
@@ -53,7 +53,7 @@
static void removeObjectsFromWrapperMap(DOMDataStore* store, AbstractWeakReferenceMap<T, v8::Object>& domMap);
- static DOMDataStore& getCurrentStore();
+ static DOMDataStore& getCurrentStore(v8::Isolate* = 0);
private:
DOMData();
static void derefObject(WrapperTypeInfo* type, void* domObject);
Modified: trunk/Source/WebCore/bindings/v8/V8DOMMap.cpp (115494 => 115495)
--- trunk/Source/WebCore/bindings/v8/V8DOMMap.cpp 2012-04-27 21:36:19 UTC (rev 115494)
+++ trunk/Source/WebCore/bindings/v8/V8DOMMap.cpp 2012-04-27 21:38:39 UTC (rev 115495)
@@ -50,38 +50,33 @@
V8BindingPerIsolateData::current()->unregisterDOMDataStore(m_store.get());
}
-static inline DOMDataStore& getDOMDataStore()
-{
- return DOMData::getCurrentStore();
-}
-
void enableFasterDOMStoreAccess()
{
}
-DOMNodeMapping& getDOMNodeMap()
+DOMNodeMapping& getDOMNodeMap(v8::Isolate* isolate)
{
- return getDOMDataStore().domNodeMap();
+ return DOMData::getCurrentStore(isolate).domNodeMap();
}
-DOMNodeMapping& getActiveDOMNodeMap()
+DOMNodeMapping& getActiveDOMNodeMap(v8::Isolate* isolate)
{
- return getDOMDataStore().activeDomNodeMap();
+ return DOMData::getCurrentStore(isolate).activeDomNodeMap();
}
-DOMWrapperMap<void>& getDOMObjectMap()
+DOMWrapperMap<void>& getDOMObjectMap(v8::Isolate* isolate)
{
- return getDOMDataStore().domObjectMap();
+ return DOMData::getCurrentStore(isolate).domObjectMap();
}
-DOMWrapperMap<void>& getActiveDOMObjectMap()
+DOMWrapperMap<void>& getActiveDOMObjectMap(v8::Isolate* isolate)
{
- return getDOMDataStore().activeDomObjectMap();
+ return DOMData::getCurrentStore(isolate).activeDomObjectMap();
}
void removeAllDOMObjects()
{
- DOMDataStore& store = getDOMDataStore();
+ DOMDataStore& store = DOMData::getCurrentStore();
v8::HandleScope scope;
Modified: trunk/Source/WebCore/bindings/v8/V8DOMMap.h (115494 => 115495)
--- trunk/Source/WebCore/bindings/v8/V8DOMMap.h 2012-04-27 21:36:19 UTC (rev 115494)
+++ trunk/Source/WebCore/bindings/v8/V8DOMMap.h 2012-04-27 21:38:39 UTC (rev 115495)
@@ -151,17 +151,17 @@
};
// A map from DOM node to its JS wrapper.
- DOMNodeMapping& getDOMNodeMap();
- DOMNodeMapping& getActiveDOMNodeMap();
+ DOMNodeMapping& getDOMNodeMap(v8::Isolate* = 0);
+ DOMNodeMapping& getActiveDOMNodeMap(v8::Isolate* = 0);
void visitDOMNodes(DOMWrapperMap<Node>::Visitor*);
void visitActiveDOMNodes(DOMWrapperMap<Node>::Visitor*);
// A map from a DOM object (non-node) to its JS wrapper. This map does not contain the DOM objects which can have pending activity (active dom objects).
- DOMWrapperMap<void>& getDOMObjectMap();
+ DOMWrapperMap<void>& getDOMObjectMap(v8::Isolate* = 0);
void visitDOMObjects(DOMWrapperMap<void>::Visitor*);
// A map from a DOM object to its JS wrapper for DOM objects which can have pending activity.
- DOMWrapperMap<void>& getActiveDOMObjectMap();
+ DOMWrapperMap<void>& getActiveDOMObjectMap(v8::Isolate* = 0);
void visitActiveDOMObjects(DOMWrapperMap<void>::Visitor*);
// This should be called to remove all DOM objects associated with the current thread when it is tearing down.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes