Title: [136634] trunk/Source
Revision
136634
Author
[email protected]
Date
2012-12-04 21:11:13 -0800 (Tue, 04 Dec 2012)

Log Message

[V8] Remove toV8Object()
https://bugs.webkit.org/show_bug.cgi?id=103987

Reviewed by Adam Barth.

toV8Object() is used only for MessagePort and ArrayBuffer
only by SerializedScriptValue. It is wasteful to generate
toV8Object() for all interfaces.

No tests. No change in behavior.

Source/WebCore:

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/scripts/test/V8/V8Float64Array.h:
(WebCore):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
* bindings/scripts/test/V8/V8TestEventConstructor.h:
* bindings/scripts/test/V8/V8TestEventTarget.h:
* bindings/scripts/test/V8/V8TestException.h:
* bindings/scripts/test/V8/V8TestInterface.h:
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
* bindings/scripts/test/V8/V8TestNode.h:
* bindings/scripts/test/V8/V8TestObj.h:
* bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
* bindings/v8/SerializedScriptValue.cpp:

Source/WebKit/chromium:

* src/WebArrayBuffer.cpp:
(WebKit::WebArrayBuffer::toV8Value):
* src/WebBlob.cpp:
(WebKit::WebBlob::toV8Value):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (136633 => 136634)


--- trunk/Source/WebCore/ChangeLog	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/ChangeLog	2012-12-05 05:11:13 UTC (rev 136634)
@@ -1,5 +1,36 @@
 2012-12-04  Kentaro Hara  <[email protected]>
 
+        [V8] Remove toV8Object()
+        https://bugs.webkit.org/show_bug.cgi?id=103987
+
+        Reviewed by Adam Barth.
+
+        toV8Object() is used only for MessagePort and ArrayBuffer
+        only by SerializedScriptValue. It is wasteful to generate
+        toV8Object() for all interfaces.
+
+        No tests. No change in behavior.
+
+        * bindings/scripts/CodeGeneratorV8.pm:
+        (GenerateHeader):
+        * bindings/scripts/test/V8/V8Float64Array.h:
+        (WebCore):
+        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+        * bindings/scripts/test/V8/V8TestEventConstructor.h:
+        * bindings/scripts/test/V8/V8TestEventTarget.h:
+        * bindings/scripts/test/V8/V8TestException.h:
+        * bindings/scripts/test/V8/V8TestInterface.h:
+        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+        * bindings/scripts/test/V8/V8TestNode.h:
+        * bindings/scripts/test/V8/V8TestObj.h:
+        * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
+        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+        * bindings/v8/SerializedScriptValue.cpp:
+
+2012-12-04  Kentaro Hara  <[email protected]>
+
         [V8] Replace v8::Null(isolate) with v8Null(isolate)
         https://bugs.webkit.org/show_bug.cgi?id=104070
 

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2012-12-05 05:11:13 UTC (rev 136634)
@@ -563,16 +563,6 @@
 
         push(@headerContent, <<END);
 
-inline v8::Handle<v8::Object> toV8Object(${nativeType}* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = $getCachedWrapper;
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(${nativeType}* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -56,16 +56,6 @@
 
 v8::Handle<v8::Object> wrap(Float64Array* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* = 0);
 
-inline v8::Handle<v8::Object> toV8Object(Float64Array* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(Float64Array* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -61,16 +61,6 @@
     return V8TestActiveDOMObject::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestActiveDOMObject* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestActiveDOMObject* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -60,16 +60,6 @@
     return V8TestCustomNamedGetter::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestCustomNamedGetter* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestCustomNamedGetter* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -61,16 +61,6 @@
     return V8TestEventConstructor::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestEventConstructor* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestEventConstructor* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -62,16 +62,6 @@
     return V8TestEventTarget::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestEventTarget* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestEventTarget* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestException.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestException.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestException.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -59,16 +59,6 @@
     return V8TestException::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestException* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestException* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -64,16 +64,6 @@
     return V8TestInterface::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestInterface* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestInterface* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -59,16 +59,6 @@
     return V8TestMediaQueryListListener::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestMediaQueryListListener* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestMediaQueryListListener* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -66,16 +66,6 @@
     return V8TestNamedConstructor::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestNamedConstructor* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestNamedConstructor* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNode.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNode.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNode.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -60,16 +60,6 @@
     return V8TestNode::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestNode* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::getNode(impl, isolate);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestNode* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -65,16 +65,6 @@
     return V8TestObj::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestObj* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestObj* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -64,16 +64,6 @@
     return V8TestOverloadedConstructors::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestOverloadedConstructors* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestOverloadedConstructors* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h (136633 => 136634)


--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h	2012-12-05 05:11:13 UTC (rev 136634)
@@ -62,16 +62,6 @@
     return V8TestSerializedScriptValueInterface::createWrapper(impl, creationContext, isolate);
 }
 
-inline v8::Handle<v8::Object> toV8Object(TestSerializedScriptValueInterface* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
-{
-    if (UNLIKELY(!impl))
-        return v8::Handle<v8::Object>();
-    v8::Handle<v8::Object> wrapper = DOMDataStore::current(isolate)->get(impl);
-    if (!wrapper.IsEmpty())
-        return wrapper;
-    return wrap(impl, creationContext, isolate);
-}
-
 inline v8::Handle<v8::Value> toV8(TestSerializedScriptValueInterface* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
 {
     if (UNLIKELY(!impl))

Modified: trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp (136633 => 136634)


--- trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp	2012-12-05 05:11:13 UTC (rev 136634)
@@ -673,6 +673,24 @@
     v8::Isolate* m_isolate;
 };
 
+static v8::Handle<v8::Object> toV8Object(MessagePort* impl, v8::Isolate* isolate)
+{
+    if (!impl)
+        return v8::Handle<v8::Object>();
+    v8::Handle<v8::Value> wrapper = toV8(impl, v8::Handle<v8::Object>(), isolate);
+    ASSERT(wrapper->IsObject());
+    return wrapper.As<v8::Object>();
+}
+
+static v8::Handle<v8::Object> toV8Object(ArrayBuffer* impl, v8::Isolate* isolate)
+{
+    if (!impl)
+        return v8::Handle<v8::Object>();
+    v8::Handle<v8::Value> wrapper = toV8(impl, v8::Handle<v8::Object>(), isolate);
+    ASSERT(wrapper->IsObject());
+    return wrapper.As<v8::Object>();
+}
+
 class Serializer {
     class StateBase;
 public:
@@ -697,11 +715,11 @@
         ASSERT(!tryCatch.HasCaught());
         if (messagePorts) {
             for (size_t i = 0; i < messagePorts->size(); i++)
-                m_transferredMessagePorts.set(toV8Object(messagePorts->at(i).get(), v8::Handle<v8::Object>(), m_writer.getIsolate()), i);
+                m_transferredMessagePorts.set(toV8Object(messagePorts->at(i).get(), m_writer.getIsolate()), i);
         }
         if (arrayBuffers) {
             for (size_t i = 0; i < arrayBuffers->size(); i++)  {
-                v8::Handle<v8::Object> v8ArrayBuffer = toV8Object(arrayBuffers->at(i).get(), v8::Handle<v8::Object>(), m_writer.getIsolate());
+                v8::Handle<v8::Object> v8ArrayBuffer = toV8Object(arrayBuffers->at(i).get(), m_writer.getIsolate());
                 // Coalesce multiple occurences of the same buffer to the first index.
                 if (!m_transferredArrayBuffers.contains(v8ArrayBuffer))
                     m_transferredArrayBuffers.set(v8ArrayBuffer, i);
@@ -2119,7 +2137,7 @@
             RefPtr<ArrayBuffer> buffer = ArrayBuffer::create(m_arrayBufferContents->at(index));
             buffer->setDeallocationObserver(V8ArrayBufferDeallocationObserver::instance());
             v8::V8::AdjustAmountOfExternalAllocatedMemory(buffer->byteLength());
-            result = toV8Object(buffer.get(), v8::Handle<v8::Object>(), m_reader.getIsolate());
+            result = toV8Object(buffer.get(), m_reader.getIsolate());
             m_arrayBuffers[index] = result;
         }
         *object = result;

Modified: trunk/Source/WebKit/chromium/ChangeLog (136633 => 136634)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-12-05 05:11:13 UTC (rev 136634)
@@ -1,3 +1,21 @@
+2012-12-04  Kentaro Hara  <[email protected]>
+
+        [V8] Remove toV8Object()
+        https://bugs.webkit.org/show_bug.cgi?id=103987
+
+        Reviewed by Adam Barth.
+
+        toV8Object() is used only for MessagePort and ArrayBuffer
+        only by SerializedScriptValue. It is wasteful to generate
+        toV8Object() for all interfaces.
+
+        No tests. No change in behavior.
+
+        * src/WebArrayBuffer.cpp:
+        (WebKit::WebArrayBuffer::toV8Value):
+        * src/WebBlob.cpp:
+        (WebKit::WebBlob::toV8Value):
+
 2012-12-04  David Dorwin  <[email protected]>
 
         [Chromium] Detach the frame and destroy the page immediately upon request to closeHelperPlugin().

Modified: trunk/Source/WebKit/chromium/src/WebArrayBuffer.cpp (136633 => 136634)


--- trunk/Source/WebKit/chromium/src/WebArrayBuffer.cpp	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebKit/chromium/src/WebArrayBuffer.cpp	2012-12-05 05:11:13 UTC (rev 136634)
@@ -72,7 +72,9 @@
 #if WEBKIT_USING_V8
 v8::Handle<v8::Value> WebArrayBuffer::toV8Value()
 {
-    return toV8Object(m_private.get());
+    if (!m_private.get())
+        return v8::Handle<v8::Value>();
+    return toV8(m_private.get());
 }
 
 WebArrayBuffer* WebArrayBuffer::createFromV8Value(v8::Handle<v8::Value> value)

Modified: trunk/Source/WebKit/chromium/src/WebBlob.cpp (136633 => 136634)


--- trunk/Source/WebKit/chromium/src/WebBlob.cpp	2012-12-05 05:11:12 UTC (rev 136633)
+++ trunk/Source/WebKit/chromium/src/WebBlob.cpp	2012-12-05 05:11:13 UTC (rev 136634)
@@ -61,7 +61,9 @@
 #if WEBKIT_USING_V8
 v8::Handle<v8::Value>  WebBlob::toV8Value()
 {
-    return toV8Object(m_private.get());
+    if (!m_private.get())
+        return v8::Handle<v8::Value>();
+    return toV8(m_private.get());
 }
 #endif
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to