Title: [133187] trunk/Source/WebCore
- Revision
- 133187
- Author
- aba...@webkit.org
- Date
- 2012-11-01 09:47:53 -0700 (Thu, 01 Nov 2012)
Log Message
[V8] The V8DOMMap visitors are no longer needed
https://bugs.webkit.org/show_bug.cgi?id=100963
Reviewed by Kentaro Hara.
This patch inlines visitAllDOMNodes into its one caller (and removes
one layer of visitor adaptor abstraction).
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::visitNodeWrappers):
* bindings/v8/V8DOMMap.cpp:
* bindings/v8/V8DOMMap.h:
(WebCore):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (133186 => 133187)
--- trunk/Source/WebCore/ChangeLog 2012-11-01 16:46:10 UTC (rev 133186)
+++ trunk/Source/WebCore/ChangeLog 2012-11-01 16:47:53 UTC (rev 133187)
@@ -1,3 +1,19 @@
+2012-11-01 Adam Barth <aba...@webkit.org>
+
+ [V8] The V8DOMMap visitors are no longer needed
+ https://bugs.webkit.org/show_bug.cgi?id=100963
+
+ Reviewed by Kentaro Hara.
+
+ This patch inlines visitAllDOMNodes into its one caller (and removes
+ one layer of visitor adaptor abstraction).
+
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::visitNodeWrappers):
+ * bindings/v8/V8DOMMap.cpp:
+ * bindings/v8/V8DOMMap.h:
+ (WebCore):
+
2012-11-01 Tiancheng Jiang <tiji...@rim.com>
[BlackBerry] Update BB10 form theme.
Modified: trunk/Source/WebCore/bindings/v8/ScriptProfiler.cpp (133186 => 133187)
--- trunk/Source/WebCore/bindings/v8/ScriptProfiler.cpp 2012-11-01 16:46:10 UTC (rev 133186)
+++ trunk/Source/WebCore/bindings/v8/ScriptProfiler.cpp 2012-11-01 16:47:53 UTC (rev 133187)
@@ -179,23 +179,30 @@
void ScriptProfiler::visitNodeWrappers(WrappedNodeVisitor* visitor)
{
- class VisitorAdapter : public NodeWrapperVisitor {
+ v8::HandleScope scope;
+
+ class VisitorAdapter : public v8::PersistentHandleVisitor {
public:
- VisitorAdapter(WrappedNodeVisitor* visitor)
+ explicit VisitorAdapter(WrappedNodeVisitor* visitor)
: m_visitor(visitor)
{
}
- virtual void visitNodeWrapper(Node* node, v8::Persistent<v8::Object>)
+ virtual void VisitPersistentHandle(v8::Persistent<v8::Value> value, uint16_t classId)
{
- m_visitor->visitNode(node);
+ if (classId != v8DOMNodeClassId)
+ return;
+ ASSERT(V8Node::HasInstance(value));
+ ASSERT(value->IsObject());
+ v8::Persistent<v8::Object> wrapper = v8::Persistent<v8::Object>::Cast(value);
+ m_visitor->visitNode(V8Node::toNative(wrapper));
}
private:
WrappedNodeVisitor* m_visitor;
- } adapter(visitor);
+ } visitorAdapter(visitor);
- visitAllDOMNodes(&adapter);
+ v8::V8::VisitHandlesWithClassIds(&visitorAdapter);
}
void ScriptProfiler::visitExternalStrings(ExternalStringVisitor* visitor)
Modified: trunk/Source/WebCore/bindings/v8/V8DOMMap.cpp (133186 => 133187)
--- trunk/Source/WebCore/bindings/v8/V8DOMMap.cpp 2012-11-01 16:46:10 UTC (rev 133186)
+++ trunk/Source/WebCore/bindings/v8/V8DOMMap.cpp 2012-11-01 16:47:53 UTC (rev 133187)
@@ -38,10 +38,6 @@
namespace WebCore {
-NodeWrapperVisitor::~NodeWrapperVisitor()
-{
-}
-
DOMWrapperMap<Node>& getDOMNodeMap(v8::Isolate* isolate)
{
if (!isolate)
@@ -56,45 +52,4 @@
return DOMDataStore::current(isolate)->domObjectMap();
}
-void visitAllDOMNodes(NodeWrapperVisitor* visitor)
-{
- v8::HandleScope scope;
-
- class VisitorAdapter : public v8::PersistentHandleVisitor {
- public:
- explicit VisitorAdapter(NodeWrapperVisitor* visitor)
- : m_visitor(visitor)
- {
- }
-
- virtual void VisitPersistentHandle(v8::Persistent<v8::Value> value, uint16_t classId)
- {
- if (classId != v8DOMNodeClassId)
- return;
- ASSERT(V8Node::HasInstance(value));
- ASSERT(value->IsObject());
- ASSERT(!value.IsIndependent());
- v8::Persistent<v8::Object> wrapper = v8::Persistent<v8::Object>::Cast(value);
- m_visitor->visitNodeWrapper(V8Node::toNative(wrapper), wrapper);
- }
-
- private:
- NodeWrapperVisitor* m_visitor;
- } visitorAdapter(visitor);
-
- v8::V8::VisitHandlesWithClassIds(&visitorAdapter);
-}
-
-void visitDOMObjects(DOMWrapperVisitor<void>* visitor)
-{
- v8::HandleScope scope;
-
- Vector<DOMDataStore*>& list = V8PerIsolateData::current()->allStores();
- for (size_t i = 0; i < list.size(); ++i) {
- DOMDataStore* store = list[i];
-
- store->domObjectMap().visit(store, visitor);
- }
-}
-
} // namespace WebCore
Modified: trunk/Source/WebCore/bindings/v8/V8DOMMap.h (133186 => 133187)
--- trunk/Source/WebCore/bindings/v8/V8DOMMap.h 2012-11-01 16:46:10 UTC (rev 133186)
+++ trunk/Source/WebCore/bindings/v8/V8DOMMap.h 2012-11-01 16:47:53 UTC (rev 133187)
@@ -42,17 +42,8 @@
namespace WebCore {
-class NodeWrapperVisitor {
-public:
- virtual ~NodeWrapperVisitor();
- virtual void visitNodeWrapper(Node*, v8::Persistent<v8::Object> wrapper) = 0;
-};
-
DOMWrapperMap<Node>& getDOMNodeMap(v8::Isolate* = 0);
-void visitAllDOMNodes(NodeWrapperVisitor*);
-
DOMWrapperMap<void>& getDOMObjectMap(v8::Isolate* = 0);
-void visitDOMObjects(DOMWrapperVisitor<void>*);
} // namespace WebCore
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes