[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

japhet at chromium.org japhet at chromium.org
Thu Apr 8 00:44:54 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 7ff68a34ad7f2d21137bd7717ac3862a402ec23c
Author: japhet at chromium.org <japhet at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Dec 21 23:15:50 2009 +0000

    2009-12-18  Nate Chapin  <japhet at chromium.org>
    
            Reviewed by Adam barth.
    
            Generate V8 bindings non-constructor callback declarations
            in CodeGeneratorV8.pm instead of manually declaring them in
            V8CustomBinding.h.
    
            https://bugs.webkit.org/show_bug.cgi?id=32638
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52459 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index d4b7c5e..4545ba8 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,79 @@
+2009-12-18  Nate Chapin  <japhet at chromium.org>
+
+        Reviewed by Adam barth.
+
+        Generate V8 bindings non-constructor callback declarations 
+        in CodeGeneratorV8.pm instead of manually declaring them in
+        V8CustomBinding.h.
+
+        https://bugs.webkit.org/show_bug.cgi?id=32638
+
+        * bindings/scripts/CodeGeneratorV8.pm:
+        * bindings/v8/V8DOMWrapper.cpp:
+        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
+        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+        * bindings/v8/custom/V8ClipboardCustom.cpp:
+        * bindings/v8/custom/V8ConsoleCustom.cpp:
+        * bindings/v8/custom/V8CustomBinding.h:
+        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
+        * bindings/v8/custom/V8DOMParserConstructor.cpp:
+        * bindings/v8/custom/V8DOMWindowCustom.cpp:
+        * bindings/v8/custom/V8DatabaseCustom.cpp:
+        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
+        * bindings/v8/custom/V8DocumentCustom.cpp:
+        * bindings/v8/custom/V8GeolocationCustom.cpp:
+        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
+        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
+        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
+        * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Added.
+        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+        * bindings/v8/custom/V8HistoryCustom.cpp:
+        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
+        * bindings/v8/custom/V8LocationCustom.cpp:
+        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+        * bindings/v8/custom/V8MessageEventCustom.cpp:
+        * bindings/v8/custom/V8MessagePortCustom.cpp:
+        * bindings/v8/custom/V8NodeCustom.cpp:
+        * bindings/v8/custom/V8NodeFilterCustom.cpp:
+        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
+        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
+        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
+        * bindings/v8/custom/V8SVGLengthCustom.cpp:
+        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
+        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
+        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
+        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
+        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
+        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
+        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
+        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
+        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
+        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
+        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
+        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
+        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
+        * bindings/v8/custom/V8WebSocketCustom.cpp:
+        * bindings/v8/custom/V8WorkerContextCustom.cpp:
+        * bindings/v8/custom/V8WorkerCustom.cpp:
+        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
+        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
+        * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
+        * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
+        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+
 2009-12-21  Nate Chapin  <japhet at chromium.org>
 
         Rubber-stamped by Darin Adler.
diff --git a/WebCore/bindings/scripts/CodeGeneratorV8.pm b/WebCore/bindings/scripts/CodeGeneratorV8.pm
index f9a8e5a..71c650e 100644
--- a/WebCore/bindings/scripts/CodeGeneratorV8.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorV8.pm
@@ -282,6 +282,16 @@ END
 END
     }
 
+
+    foreach my $function (@{$dataNode->functions}) {
+        my $name = $function->signature->name;
+        push(@headerContent, <<END);
+  static v8::Handle<v8::Value> ${name}Callback(const v8::Arguments&);
+END
+    }
+
+    GenerateSpecialCaseHeaderDeclarations($dataNode);
+    
     push(@headerContent, <<END);
 
  private:
@@ -298,6 +308,14 @@ END
     push(@headerContent, "#endif // ${conditionalString}\n\n") if $conditionalString;
 }
 
+sub GenerateSpecialCaseHeaderDeclarations
+{
+    my $dataNode = shift;
+    
+    if ($dataNode->name eq "HTMLCollection" || $dataNode->name eq "HTMLAllCollection") {
+        push(@headerContent, "  static v8::Handle<v8::Value> callAsFunctionCallback(const v8::Arguments&);\n");
+    }
+}
 
 sub GenerateSetDOMException
 {
@@ -838,12 +856,7 @@ sub GetFunctionTemplateCallbackName
             $function->signature->extendedAttributes->{"V8Custom"}) {
             die "Custom and V8Custom should be mutually exclusive!"
         }
-        my $customFunc = $function->signature->extendedAttributes->{"Custom"} ||
-                         $function->signature->extendedAttributes->{"V8Custom"};
-        if ($customFunc eq 1) {
-            $customFunc = $interfaceName . $codeGenerator->WK_ucfirst($name);
-        }
-        return "V8Custom::v8${customFunc}Callback";
+        return "V8${interfaceName}::${name}Callback";
     } else {
         return "${interfaceName}Internal::${name}Callback";
     }
diff --git a/WebCore/bindings/v8/V8DOMWrapper.cpp b/WebCore/bindings/v8/V8DOMWrapper.cpp
index c3cd615..c62c9a7 100644
--- a/WebCore/bindings/v8/V8DOMWrapper.cpp
+++ b/WebCore/bindings/v8/V8DOMWrapper.cpp
@@ -47,6 +47,8 @@
 #include "V8DOMMap.h"
 #include "V8DOMWindow.h"
 #include "V8EventListenerList.h"
+#include "V8HTMLCollection.h"
+#include "V8HTMLPlugInElementCustom.h"
 #include "V8Index.h"
 #include "V8IsolatedWorld.h"
 #include "V8Proxy.h"
@@ -274,12 +276,12 @@ v8::Persistent<v8::FunctionTemplate> V8DOMWrapper::getTemplate(V8ClassIndex::V8W
     case V8ClassIndex::HTMLALLCOLLECTION:
         descriptor->InstanceTemplate()->MarkAsUndetectable(); // fall through
     case V8ClassIndex::HTMLCOLLECTION:
-        descriptor->InstanceTemplate()->SetCallAsFunctionHandler(USE_CALLBACK(HTMLCollectionCallAsFunction));
+        descriptor->InstanceTemplate()->SetCallAsFunctionHandler(V8HTMLCollection::callAsFunctionCallback);
         break;
     case V8ClassIndex::HTMLOPTIONSCOLLECTION:
         descriptor->InstanceTemplate()->SetNamedPropertyHandler(USE_NAMED_PROPERTY_GETTER(HTMLCollection));
         descriptor->InstanceTemplate()->SetIndexedPropertyHandler(USE_INDEXED_PROPERTY_GETTER(HTMLOptionsCollection), USE_INDEXED_PROPERTY_SETTER(HTMLOptionsCollection));
-        descriptor->InstanceTemplate()->SetCallAsFunctionHandler(USE_CALLBACK(HTMLCollectionCallAsFunction));
+        descriptor->InstanceTemplate()->SetCallAsFunctionHandler(V8HTMLCollection::callAsFunctionCallback);
         break;
     case V8ClassIndex::HTMLSELECTELEMENT:
         descriptor->InstanceTemplate()->SetIndexedPropertyHandler(USE_INDEXED_PROPERTY_GETTER(HTMLSelectElement), USE_INDEXED_PROPERTY_SETTER(HTMLSelectElement), 0, 0, nodeCollectionIndexedPropertyEnumerator<HTMLSelectElement>, v8::Integer::New(V8ClassIndex::NODE));
@@ -320,7 +322,7 @@ v8::Persistent<v8::FunctionTemplate> V8DOMWrapper::getTemplate(V8ClassIndex::V8W
         // handling code.
         descriptor->InstanceTemplate()->SetNamedPropertyHandler(USE_NAMED_PROPERTY_GETTER(HTMLPlugInElement), USE_NAMED_PROPERTY_SETTER(HTMLPlugInElement));
         descriptor->InstanceTemplate()->SetIndexedPropertyHandler(USE_INDEXED_PROPERTY_GETTER(HTMLPlugInElement), USE_INDEXED_PROPERTY_SETTER(HTMLPlugInElement));
-        descriptor->InstanceTemplate()->SetCallAsFunctionHandler(USE_CALLBACK(HTMLPlugInElement));
+        descriptor->InstanceTemplate()->SetCallAsFunctionHandler(V8HTMLPlugInElement::defaultCallback);
         break;
     case V8ClassIndex::HTMLFRAMESETELEMENT:
         descriptor->InstanceTemplate()->SetNamedPropertyHandler(USE_NAMED_PROPERTY_GETTER(HTMLFrameSetElement));
diff --git a/WebCore/bindings/v8/custom/V8AbstractWorkerCustom.cpp b/WebCore/bindings/v8/custom/V8AbstractWorkerCustom.cpp
index 0240895..0fd9e6d 100644
--- a/WebCore/bindings/v8/custom/V8AbstractWorkerCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8AbstractWorkerCustom.cpp
@@ -31,9 +31,9 @@
 #include "config.h"
 
 #if ENABLE(WORKERS)
+#include "V8AbstractWorker.h"
 
 #include "AbstractWorker.h"
-
 #include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include "V8Binding.h"
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(AbstractWorkerAddEventListener)
+v8::Handle<v8::Value> V8AbstractWorker::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.AbstractWorker.addEventListener()");
     AbstractWorker* worker = V8DOMWrapper::convertToNativeObject<AbstractWorker>(V8ClassIndex::ABSTRACTWORKER, args.Holder());
@@ -60,7 +60,7 @@ CALLBACK_FUNC_DECL(AbstractWorkerAddEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(AbstractWorkerRemoveEventListener)
+v8::Handle<v8::Value> V8AbstractWorker::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.AbstractWorker.removeEventListener()");
     AbstractWorker* worker = V8DOMWrapper::convertToNativeObject<AbstractWorker>(V8ClassIndex::ABSTRACTWORKER, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp b/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
index 676610c..5b185bb 100644
--- a/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
@@ -29,9 +29,10 @@
  */
 
 #include "config.h"
-#include "CanvasRenderingContext2D.h"
+#include "V8CanvasRenderingContext2D.h"
 
 #include "CanvasGradient.h"
+#include "CanvasRenderingContext2D.h"
 #include "CanvasPattern.h"
 #include "CanvasStyle.h"
 #include "ExceptionCode.h"
@@ -99,7 +100,7 @@ ACCESSOR_SETTER(CanvasRenderingContext2DFillStyle)
 
 // TODO: SetStrokeColor and SetFillColor are similar except function names,
 // consolidate them into one.
-CALLBACK_FUNC_DECL(CanvasRenderingContext2DSetStrokeColor)
+v8::Handle<v8::Value> V8CanvasRenderingContext2D::setStrokeColorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.CanvasRenderingContext2D.setStrokeColor()");
     CanvasRenderingContext2D* context = V8DOMWrapper::convertToNativeObject<CanvasRenderingContext2D>(V8ClassIndex::CANVASRENDERINGCONTEXT2D, args.Holder());
@@ -129,7 +130,7 @@ CALLBACK_FUNC_DECL(CanvasRenderingContext2DSetStrokeColor)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(CanvasRenderingContext2DSetFillColor)
+v8::Handle<v8::Value> V8CanvasRenderingContext2D::setFillColorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.CanvasRenderingContext2D.setFillColor()");
     CanvasRenderingContext2D* context = V8DOMWrapper::convertToNativeObject<CanvasRenderingContext2D>(V8ClassIndex::CANVASRENDERINGCONTEXT2D, args.Holder());
@@ -159,7 +160,7 @@ CALLBACK_FUNC_DECL(CanvasRenderingContext2DSetFillColor)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(CanvasRenderingContext2DStrokeRect)
+v8::Handle<v8::Value> V8CanvasRenderingContext2D::strokeRectCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.CanvasRenderingContext2D.strokeRect()");
     CanvasRenderingContext2D* context = V8DOMWrapper::convertToNativeObject<CanvasRenderingContext2D>(V8ClassIndex::CANVASRENDERINGCONTEXT2D, args.Holder());
@@ -174,7 +175,7 @@ CALLBACK_FUNC_DECL(CanvasRenderingContext2DStrokeRect)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(CanvasRenderingContext2DSetShadow)
+v8::Handle<v8::Value> V8CanvasRenderingContext2D::setShadowCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.CanvasRenderingContext2D.setShadow()");
     CanvasRenderingContext2D* context = V8DOMWrapper::convertToNativeObject<CanvasRenderingContext2D>(V8ClassIndex::CANVASRENDERINGCONTEXT2D, args.Holder());
@@ -209,7 +210,7 @@ CALLBACK_FUNC_DECL(CanvasRenderingContext2DSetShadow)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(CanvasRenderingContext2DDrawImage)
+v8::Handle<v8::Value> V8CanvasRenderingContext2D::drawImageCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.CanvasRenderingContext2D.drawImage()");
     CanvasRenderingContext2D* context = V8DOMWrapper::convertToNativeObject<CanvasRenderingContext2D>(V8ClassIndex::CANVASRENDERINGCONTEXT2D, args.Holder());
@@ -314,7 +315,8 @@ CALLBACK_FUNC_DECL(CanvasRenderingContext2DDrawImage)
     return notHandledByInterceptor();
 }
 
-CALLBACK_FUNC_DECL(CanvasRenderingContext2DDrawImageFromRect)
+
+v8::Handle<v8::Value> V8CanvasRenderingContext2D::drawImageFromRectCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.CanvasRenderingContext2D.drawImageFromRect()");
     CanvasRenderingContext2D* context = V8DOMWrapper::convertToNativeObject<CanvasRenderingContext2D>(V8ClassIndex::CANVASRENDERINGCONTEXT2D, args.Holder());
@@ -330,7 +332,7 @@ CALLBACK_FUNC_DECL(CanvasRenderingContext2DDrawImageFromRect)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(CanvasRenderingContext2DCreatePattern)
+v8::Handle<v8::Value> V8CanvasRenderingContext2D::createPatternCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.CanvasRenderingContext2D.createPattern()");
     CanvasRenderingContext2D* context = V8DOMWrapper::convertToNativeObject<CanvasRenderingContext2D>(V8ClassIndex::CANVASRENDERINGCONTEXT2D, args.Holder());
@@ -363,7 +365,7 @@ CALLBACK_FUNC_DECL(CanvasRenderingContext2DCreatePattern)
     return notHandledByInterceptor();
 }
 
-CALLBACK_FUNC_DECL(CanvasRenderingContext2DFillText)
+v8::Handle<v8::Value> V8CanvasRenderingContext2D::fillTextCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.CanvasRenderingContext2D.fillText()");
 
@@ -390,7 +392,7 @@ CALLBACK_FUNC_DECL(CanvasRenderingContext2DFillText)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(CanvasRenderingContext2DStrokeText)
+v8::Handle<v8::Value> V8CanvasRenderingContext2D::strokeTextCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.CanvasRenderingContext2D.strokeText()");
     CanvasRenderingContext2D* context = V8DOMWrapper::convertToNativeObject<CanvasRenderingContext2D>(V8ClassIndex::CANVASRENDERINGCONTEXT2D, args.Holder());
@@ -416,7 +418,7 @@ CALLBACK_FUNC_DECL(CanvasRenderingContext2DStrokeText)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(CanvasRenderingContext2DPutImageData)
+v8::Handle<v8::Value> V8CanvasRenderingContext2D::putImageDataCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.CanvasRenderingContext2D.putImageData()");
 
diff --git a/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp b/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp
index 4526304..cbdcf13 100644
--- a/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp
@@ -29,8 +29,9 @@
  */
 
 #include "config.h"
-#include "Clipboard.h"
+#include "V8Clipboard.h"
 
+#include "Clipboard.h"
 #include "HTMLImageElement.h"
 #include "HTMLNames.h"
 #include "IntPoint.h"
@@ -62,7 +63,7 @@ ACCESSOR_GETTER(ClipboardTypes)
     return result;
 }
 
-CALLBACK_FUNC_DECL(ClipboardClearData)
+v8::Handle<v8::Value> V8Clipboard::clearDataCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Clipboard.clearData()");
     Clipboard* clipboard = V8DOMWrapper::convertToNativeObject<Clipboard>(V8ClassIndex::CLIPBOARD, args.Holder());
@@ -80,7 +81,7 @@ CALLBACK_FUNC_DECL(ClipboardClearData)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(ClipboardGetData)
+v8::Handle<v8::Value> V8Clipboard::getDataCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Clipboard.getData()");
     Clipboard* clipboard = V8DOMWrapper::convertToNativeObject<Clipboard>(V8ClassIndex::CLIPBOARD, args.Holder());
@@ -96,7 +97,7 @@ CALLBACK_FUNC_DECL(ClipboardGetData)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(ClipboardSetData)
+v8::Handle<v8::Value> V8Clipboard::setDataCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Clipboard.setData()");
     Clipboard* clipboard = V8DOMWrapper::convertToNativeObject<Clipboard>(V8ClassIndex::CLIPBOARD, args.Holder());
@@ -109,7 +110,7 @@ CALLBACK_FUNC_DECL(ClipboardSetData)
     return v8Boolean(clipboard->setData(type, data));
 }
 
-CALLBACK_FUNC_DECL(ClipboardSetDragImage)
+v8::Handle<v8::Value> V8Clipboard::setDragImageCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Clipboard.setDragImage()");
     Clipboard* clipboard = V8DOMWrapper::convertToNativeObject<Clipboard>(V8ClassIndex::CLIPBOARD, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp b/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
index b44e074..0dbdcd7 100644
--- a/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
@@ -29,6 +29,7 @@
  */
 
 #include "config.h"
+#include "V8Console.h"
 
 #include "V8Binding.h"
 #include "V8CustomBinding.h"
@@ -37,7 +38,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(ConsoleProfile)
+v8::Handle<v8::Value> V8Console::profileCallback(const v8::Arguments& args)
 {
     INC_STATS("console.profile()");
     v8::HandleScope scope;
@@ -46,7 +47,7 @@ CALLBACK_FUNC_DECL(ConsoleProfile)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(ConsoleProfileEnd)
+v8::Handle<v8::Value> V8Console::profileEndCallback(const v8::Arguments& args)
 {
     INC_STATS("console.profileEnd()");
     v8::V8::PauseProfiler();
diff --git a/WebCore/bindings/v8/custom/V8CustomBinding.h b/WebCore/bindings/v8/custom/V8CustomBinding.h
index ca08f50..32e5df8 100644
--- a/WebCore/bindings/v8/custom/V8CustomBinding.h
+++ b/WebCore/bindings/v8/custom/V8CustomBinding.h
@@ -36,8 +36,6 @@
 
 struct NPObject;
 
-#define CALLBACK_FUNC_DECL(NAME) v8::Handle<v8::Value> V8Custom::v8##NAME##Callback(const v8::Arguments& args)
-
 #define ACCESSOR_GETTER(NAME) \
     v8::Handle<v8::Value> V8Custom::v8##NAME##AccessorGetter( \
         v8::Local<v8::String> name, const v8::AccessorInfo& info)
@@ -274,8 +272,6 @@ namespace WebCore {
 
         DECLARE_PROPERTY_ACCESSOR(DOMWindowEventHandler);
 
-        DECLARE_CALLBACK(HTMLCanvasElementGetContext);
-
         DECLARE_PROPERTY_ACCESSOR_SETTER(HTMLFrameElementSrc);
         DECLARE_PROPERTY_ACCESSOR_SETTER(HTMLFrameElementLocation);
         DECLARE_PROPERTY_ACCESSOR_SETTER(HTMLIFrameElementSrc);
@@ -284,7 +280,6 @@ namespace WebCore {
 
         DECLARE_PROPERTY_ACCESSOR(HTMLOptionsCollectionLength);
 
-        DECLARE_CALLBACK(HTMLInputElementSetSelectionRange);
 
         DECLARE_PROPERTY_ACCESSOR(HTMLInputElementSelectionStart);
         DECLARE_PROPERTY_ACCESSOR(HTMLInputElementSelectionEnd);
@@ -295,43 +290,10 @@ namespace WebCore {
         DECLARE_NAMED_ACCESS_CHECK(History);
         DECLARE_INDEXED_ACCESS_CHECK(Location);
 
-        DECLARE_CALLBACK(HTMLCollectionItem);
-        DECLARE_CALLBACK(HTMLCollectionNamedItem);
-        DECLARE_CALLBACK(HTMLCollectionCallAsFunction);
-
-        DECLARE_CALLBACK(HTMLAllCollectionItem);
-        DECLARE_CALLBACK(HTMLAllCollectionNamedItem);
-        DECLARE_CALLBACK(HTMLAllCollectionCallAsFunction);
-
-        DECLARE_CALLBACK(HTMLSelectElementRemove);
-
-        DECLARE_CALLBACK(HTMLOptionsCollectionRemove);
-        DECLARE_CALLBACK(HTMLOptionsCollectionAdd);
-
-        DECLARE_CALLBACK(HTMLDocumentWrite);
-        DECLARE_CALLBACK(HTMLDocumentWriteln);
-        DECLARE_CALLBACK(HTMLDocumentOpen);
         DECLARE_PROPERTY_ACCESSOR(HTMLDocumentAll);
         DECLARE_NAMED_PROPERTY_GETTER(HTMLDocument);
         DECLARE_NAMED_PROPERTY_DELETER(HTMLDocument);
 
-        DECLARE_CALLBACK(DocumentEvaluate);
-        DECLARE_CALLBACK(DocumentGetCSSCanvasContext);
-
-        DECLARE_CALLBACK(DOMWindowAddEventListener);
-        DECLARE_CALLBACK(DOMWindowRemoveEventListener);
-        DECLARE_CALLBACK(DOMWindowPostMessage);
-        DECLARE_CALLBACK(DOMWindowSetTimeout);
-        DECLARE_CALLBACK(DOMWindowSetInterval);
-        DECLARE_CALLBACK(DOMWindowAtob);
-        DECLARE_CALLBACK(DOMWindowBtoa);
-        DECLARE_CALLBACK(DOMWindowNOP);
-        DECLARE_CALLBACK(DOMWindowToString);
-        DECLARE_CALLBACK(DOMWindowShowModalDialog);
-        DECLARE_CALLBACK(DOMWindowOpen);
-        DECLARE_CALLBACK(DOMWindowClearTimeout);
-        DECLARE_CALLBACK(DOMWindowClearInterval);
-
         DECLARE_CALLBACK(DOMParserConstructor);
         DECLARE_CALLBACK(HTMLAudioElementConstructor);
         DECLARE_CALLBACK(HTMLImageElementConstructor);
@@ -344,56 +306,7 @@ namespace WebCore {
         DECLARE_CALLBACK(XPathEvaluatorConstructor);
         DECLARE_CALLBACK(XSLTProcessorConstructor);
 
-        DECLARE_CALLBACK(XSLTProcessorImportStylesheet);
-        DECLARE_CALLBACK(XSLTProcessorTransformToFragment);
-        DECLARE_CALLBACK(XSLTProcessorTransformToDocument);
-        DECLARE_CALLBACK(XSLTProcessorSetParameter);
-        DECLARE_CALLBACK(XSLTProcessorGetParameter);
-        DECLARE_CALLBACK(XSLTProcessorRemoveParameter);
-
-        DECLARE_CALLBACK(CSSPrimitiveValueGetRGBColorValue);
-
-        DECLARE_CALLBACK(CanvasRenderingContext2DSetStrokeColor);
-        DECLARE_CALLBACK(CanvasRenderingContext2DSetFillColor);
-        DECLARE_CALLBACK(CanvasRenderingContext2DStrokeRect);
-        DECLARE_CALLBACK(CanvasRenderingContext2DSetShadow);
-        DECLARE_CALLBACK(CanvasRenderingContext2DDrawImage);
-        DECLARE_CALLBACK(CanvasRenderingContext2DDrawImageFromRect);
-        DECLARE_CALLBACK(CanvasRenderingContext2DCreatePattern);
-        DECLARE_CALLBACK(CanvasRenderingContext2DFillText);
-        DECLARE_CALLBACK(CanvasRenderingContext2DStrokeText);
-        DECLARE_CALLBACK(CanvasRenderingContext2DPutImageData);
-
 #if ENABLE(3D_CANVAS)
-        DECLARE_CALLBACK(WebGLRenderingContextBufferData);
-        DECLARE_CALLBACK(WebGLRenderingContextBufferSubData);
-        DECLARE_CALLBACK(WebGLRenderingContextGetBufferParameter);
-        DECLARE_CALLBACK(WebGLRenderingContextGetFramebufferAttachmentParameter);
-        DECLARE_CALLBACK(WebGLRenderingContextGetParameter);
-        DECLARE_CALLBACK(WebGLRenderingContextGetProgramParameter);
-        DECLARE_CALLBACK(WebGLRenderingContextGetRenderbufferParameter);
-        DECLARE_CALLBACK(WebGLRenderingContextGetShaderParameter);
-        DECLARE_CALLBACK(WebGLRenderingContextGetTexParameter);
-        DECLARE_CALLBACK(WebGLRenderingContextGetUniform);
-        DECLARE_CALLBACK(WebGLRenderingContextGetVertexAttrib);
-        DECLARE_CALLBACK(WebGLRenderingContextTexImage2D);
-        DECLARE_CALLBACK(WebGLRenderingContextTexSubImage2D);
-        DECLARE_CALLBACK(WebGLRenderingContextUniform1fv);
-        DECLARE_CALLBACK(WebGLRenderingContextUniform1iv);
-        DECLARE_CALLBACK(WebGLRenderingContextUniform2fv);
-        DECLARE_CALLBACK(WebGLRenderingContextUniform2iv);
-        DECLARE_CALLBACK(WebGLRenderingContextUniform3fv);
-        DECLARE_CALLBACK(WebGLRenderingContextUniform3iv);
-        DECLARE_CALLBACK(WebGLRenderingContextUniform4fv);
-        DECLARE_CALLBACK(WebGLRenderingContextUniform4iv);
-        DECLARE_CALLBACK(WebGLRenderingContextUniformMatrix2fv);
-        DECLARE_CALLBACK(WebGLRenderingContextUniformMatrix3fv);
-        DECLARE_CALLBACK(WebGLRenderingContextUniformMatrix4fv);
-        DECLARE_CALLBACK(WebGLRenderingContextVertexAttrib1fv);
-        DECLARE_CALLBACK(WebGLRenderingContextVertexAttrib2fv);
-        DECLARE_CALLBACK(WebGLRenderingContextVertexAttrib3fv);
-        DECLARE_CALLBACK(WebGLRenderingContextVertexAttrib4fv);
-
         DECLARE_CALLBACK(WebGLArrayBufferConstructor);
         DECLARE_CALLBACK(WebGLByteArrayConstructor);
         DECLARE_CALLBACK(WebGLFloatArrayConstructor);
@@ -405,20 +318,6 @@ namespace WebCore {
 #endif
 
         DECLARE_PROPERTY_ACCESSOR_GETTER(ClipboardTypes);
-        DECLARE_CALLBACK(ClipboardClearData);
-        DECLARE_CALLBACK(ClipboardGetData);
-        DECLARE_CALLBACK(ClipboardSetData);
-        DECLARE_CALLBACK(ClipboardSetDragImage);
-
-        DECLARE_CALLBACK(ElementQuerySelector);
-        DECLARE_CALLBACK(ElementQuerySelectorAll);
-        DECLARE_CALLBACK(ElementSetAttribute);
-        DECLARE_CALLBACK(ElementSetAttributeNode);
-        DECLARE_CALLBACK(ElementSetAttributeNS);
-        DECLARE_CALLBACK(ElementSetAttributeNodeNS);
-
-        DECLARE_CALLBACK(HistoryPushState);
-        DECLARE_CALLBACK(HistoryReplaceState);
 
         DECLARE_PROPERTY_ACCESSOR_SETTER(LocationProtocol);
         DECLARE_PROPERTY_ACCESSOR_SETTER(LocationHost);
@@ -431,17 +330,6 @@ namespace WebCore {
         DECLARE_PROPERTY_ACCESSOR_GETTER(LocationAssign);
         DECLARE_PROPERTY_ACCESSOR_GETTER(LocationReplace);
         DECLARE_PROPERTY_ACCESSOR_GETTER(LocationReload);
-        DECLARE_CALLBACK(LocationAssign);
-        DECLARE_CALLBACK(LocationReplace);
-        DECLARE_CALLBACK(LocationReload);
-        DECLARE_CALLBACK(LocationToString);
-        DECLARE_CALLBACK(LocationValueOf);
-        DECLARE_CALLBACK(NodeAddEventListener);
-        DECLARE_CALLBACK(NodeRemoveEventListener);
-        DECLARE_CALLBACK(NodeInsertBefore);
-        DECLARE_CALLBACK(NodeReplaceChild);
-        DECLARE_CALLBACK(NodeRemoveChild);
-        DECLARE_CALLBACK(NodeAppendChild);
 
         // We actually only need this because WebKit has
         // navigator.appVersion as custom. Our version just
@@ -455,58 +343,12 @@ namespace WebCore {
         DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestOnprogress);
         DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestOnreadystatechange);
         DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestResponseText);
-        DECLARE_CALLBACK(XMLHttpRequestAddEventListener);
-        DECLARE_CALLBACK(XMLHttpRequestRemoveEventListener);
-        DECLARE_CALLBACK(XMLHttpRequestOpen);
-        DECLARE_CALLBACK(XMLHttpRequestSend);
-        DECLARE_CALLBACK(XMLHttpRequestSetRequestHeader);
-        DECLARE_CALLBACK(XMLHttpRequestGetResponseHeader);
-        DECLARE_CALLBACK(XMLHttpRequestOverrideMimeType);
-        DECLARE_CALLBACK(XMLHttpRequestDispatchEvent);
 
         DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestUploadOnabort);
         DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestUploadOnerror);
         DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestUploadOnload);
         DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestUploadOnloadstart);
         DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestUploadOnprogress);
-        DECLARE_CALLBACK(XMLHttpRequestUploadAddEventListener);
-        DECLARE_CALLBACK(XMLHttpRequestUploadRemoveEventListener);
-        DECLARE_CALLBACK(XMLHttpRequestUploadDispatchEvent);
-
-        DECLARE_CALLBACK(TreeWalkerParentNode);
-        DECLARE_CALLBACK(TreeWalkerFirstChild);
-        DECLARE_CALLBACK(TreeWalkerLastChild);
-        DECLARE_CALLBACK(TreeWalkerNextNode);
-        DECLARE_CALLBACK(TreeWalkerPreviousNode);
-        DECLARE_CALLBACK(TreeWalkerNextSibling);
-        DECLARE_CALLBACK(TreeWalkerPreviousSibling);
-
-        DECLARE_CALLBACK(InjectedScriptHostInspectedWindow);
-        DECLARE_CALLBACK(InjectedScriptHostNodeForId);
-        DECLARE_CALLBACK(InjectedScriptHostWrapObject);
-        DECLARE_CALLBACK(InjectedScriptHostUnwrapObject);
-        DECLARE_CALLBACK(InjectedScriptHostPushNodePathToFrontend);
-        DECLARE_CALLBACK(InjectedScriptHostWrapCallback);
-#if ENABLE(DATABASE)
-        DECLARE_CALLBACK(InjectedScriptHostSelectDatabase);
-        DECLARE_CALLBACK(InjectedScriptHostDatabaseForId);
-#endif
-#if ENABLE(DOM_STORAGE)
-        DECLARE_CALLBACK(InjectedScriptHostSelectDOMStorage);
-#endif
-
-        DECLARE_CALLBACK(InspectorFrontendHostSearch);
-        DECLARE_CALLBACK(InspectorFrontendHostShowContextMenu);
-
-        DECLARE_CALLBACK(ConsoleProfile);
-        DECLARE_CALLBACK(ConsoleProfileEnd);
-
-        DECLARE_CALLBACK(NodeIteratorNextNode);
-        DECLARE_CALLBACK(NodeIteratorPreviousNode);
-
-        DECLARE_CALLBACK(NodeFilterAcceptNode);
-
-        DECLARE_CALLBACK(HTMLFormElementSubmit);
 
         DECLARE_NAMED_PROPERTY_GETTER(DOMWindow);
         DECLARE_INDEXED_PROPERTY_GETTER(DOMWindow);
@@ -524,8 +366,6 @@ namespace WebCore {
         DECLARE_INDEXED_PROPERTY_GETTER(HTMLPlugInElement);
         DECLARE_INDEXED_PROPERTY_SETTER(HTMLPlugInElement);
 
-        DECLARE_CALLBACK(HTMLPlugInElement);
-
         DECLARE_NAMED_PROPERTY_GETTER(StyleSheetList);
         DECLARE_INDEXED_PROPERTY_GETTER(NamedNodeMap);
         DECLARE_INDEXED_PROPERTY_GETTER(HTMLFormElement);
@@ -538,57 +378,32 @@ namespace WebCore {
         DECLARE_NAMED_PROPERTY_GETTER(HTMLCollection);
 
 #if ENABLE(3D_CANVAS)
-        DECLARE_CALLBACK(WebGLByteArrayGet);
-        DECLARE_CALLBACK(WebGLByteArraySet);
         DECLARE_INDEXED_PROPERTY_GETTER(WebGLByteArray);
         DECLARE_INDEXED_PROPERTY_SETTER(WebGLByteArray);
 
-        DECLARE_CALLBACK(WebGLFloatArrayGet);
-        DECLARE_CALLBACK(WebGLFloatArraySet);
         DECLARE_INDEXED_PROPERTY_GETTER(WebGLFloatArray);
         DECLARE_INDEXED_PROPERTY_SETTER(WebGLFloatArray);
 
-        DECLARE_CALLBACK(WebGLIntArrayGet);
-        DECLARE_CALLBACK(WebGLIntArraySet);
         DECLARE_INDEXED_PROPERTY_GETTER(WebGLIntArray);
         DECLARE_INDEXED_PROPERTY_SETTER(WebGLIntArray);
 
-        DECLARE_CALLBACK(WebGLShortArrayGet);
-        DECLARE_CALLBACK(WebGLShortArraySet);
         DECLARE_INDEXED_PROPERTY_GETTER(WebGLShortArray);
         DECLARE_INDEXED_PROPERTY_SETTER(WebGLShortArray);
 
-        DECLARE_CALLBACK(WebGLUnsignedByteArrayGet);
-        DECLARE_CALLBACK(WebGLUnsignedByteArraySet);
         DECLARE_INDEXED_PROPERTY_GETTER(WebGLUnsignedByteArray);
         DECLARE_INDEXED_PROPERTY_SETTER(WebGLUnsignedByteArray);
 
-        DECLARE_CALLBACK(WebGLUnsignedIntArrayGet);
-        DECLARE_CALLBACK(WebGLUnsignedIntArraySet);
         DECLARE_INDEXED_PROPERTY_GETTER(WebGLUnsignedIntArray);
         DECLARE_INDEXED_PROPERTY_SETTER(WebGLUnsignedIntArray);
 
-        DECLARE_CALLBACK(WebGLUnsignedShortArrayGet);
-        DECLARE_CALLBACK(WebGLUnsignedShortArraySet);
         DECLARE_INDEXED_PROPERTY_GETTER(WebGLUnsignedShortArray);
         DECLARE_INDEXED_PROPERTY_SETTER(WebGLUnsignedShortArray);
 #endif
 
         DECLARE_PROPERTY_ACCESSOR_GETTER(MessageEventPorts);
-        DECLARE_CALLBACK(MessageEventInitMessageEvent);
 
         DECLARE_PROPERTY_ACCESSOR(MessagePortOnmessage);
         DECLARE_PROPERTY_ACCESSOR(MessagePortOnclose);
-        DECLARE_CALLBACK(MessagePortAddEventListener);
-        DECLARE_CALLBACK(MessagePortPostMessage);
-        DECLARE_CALLBACK(MessagePortRemoveEventListener);
-        DECLARE_CALLBACK(MessagePortStartConversation);
-
-        DECLARE_CALLBACK(DatabaseChangeVersion);
-        DECLARE_CALLBACK(DatabaseTransaction);
-        DECLARE_CALLBACK(DatabaseReadTransaction);
-        DECLARE_CALLBACK(SQLTransactionExecuteSql);
-        DECLARE_CALLBACK(SQLResultSetRowListItem);
 
 #if ENABLE(DATAGRID)
         DECLARE_PROPERTY_ACCESSOR(HTMLDataGridElementDataSource);
@@ -613,35 +428,18 @@ namespace WebCore {
 
 #if ENABLE(SVG)
         DECLARE_PROPERTY_ACCESSOR_GETTER(SVGLengthValue);
-        DECLARE_CALLBACK(SVGLengthConvertToSpecifiedUnits);
-        DECLARE_CALLBACK(SVGMatrixMultiply);
-        DECLARE_CALLBACK(SVGMatrixInverse);
-        DECLARE_CALLBACK(SVGMatrixRotateFromVector);
-        DECLARE_CALLBACK(SVGElementInstanceAddEventListener);
-        DECLARE_CALLBACK(SVGElementInstanceRemoveEventListener);
 #endif
 
 #if ENABLE(WORKERS)
         DECLARE_PROPERTY_ACCESSOR(AbstractWorkerOnerror);
-        DECLARE_CALLBACK(AbstractWorkerAddEventListener);
-        DECLARE_CALLBACK(AbstractWorkerRemoveEventListener);
 
         DECLARE_PROPERTY_ACCESSOR(DedicatedWorkerContextOnmessage);
-        DECLARE_CALLBACK(DedicatedWorkerContextPostMessage);
 
         DECLARE_PROPERTY_ACCESSOR(WorkerOnmessage);
-        DECLARE_CALLBACK(WorkerPostMessage);
         DECLARE_CALLBACK(WorkerConstructor);
 
         DECLARE_PROPERTY_ACCESSOR_GETTER(WorkerContextSelf);
         DECLARE_PROPERTY_ACCESSOR(WorkerContextOnerror);
-        DECLARE_CALLBACK(WorkerContextImportScripts);
-        DECLARE_CALLBACK(WorkerContextSetTimeout);
-        DECLARE_CALLBACK(WorkerContextClearTimeout);
-        DECLARE_CALLBACK(WorkerContextSetInterval);
-        DECLARE_CALLBACK(WorkerContextClearInterval);
-        DECLARE_CALLBACK(WorkerContextAddEventListener);
-        DECLARE_CALLBACK(WorkerContextRemoveEventListener);
 
 #if ENABLE(NOTIFICATIONS)
         DECLARE_ACCESSOR_RUNTIME_ENABLER(WorkerContextWebkitNotifications);
@@ -649,20 +447,12 @@ namespace WebCore {
 #endif // ENABLE(WORKERS)
 
 #if ENABLE(NOTIFICATIONS)
-        DECLARE_CALLBACK(NotificationCenterRequestPermission);
-        DECLARE_CALLBACK(NotificationCenterCreateNotification);
-        DECLARE_CALLBACK(NotificationCenterCreateHTMLNotification);
-
-        DECLARE_CALLBACK(NotificationAddEventListener);
-        DECLARE_CALLBACK(NotificationRemoveEventListener);
         DECLARE_PROPERTY_ACCESSOR(NotificationEventHandler);
 #endif // ENABLE(NOTIFICATIONS)
 
 #if ENABLE(OFFLINE_WEB_APPLICATIONS)
         DECLARE_ACCESSOR_RUNTIME_ENABLER(DOMWindowApplicationCache);
         DECLARE_PROPERTY_ACCESSOR(DOMApplicationCacheEventHandler);
-        DECLARE_CALLBACK(DOMApplicationCacheAddEventListener);
-        DECLARE_CALLBACK(DOMApplicationCacheRemoveEventListener);
 #endif
 
 #if ENABLE(SHARED_WORKERS)
@@ -679,15 +469,9 @@ namespace WebCore {
         DECLARE_PROPERTY_ACCESSOR(WebSocketOnmessage);
         DECLARE_PROPERTY_ACCESSOR(WebSocketOnclose);
         DECLARE_CALLBACK(WebSocketConstructor);
-        DECLARE_CALLBACK(WebSocketAddEventListener);
-        DECLARE_CALLBACK(WebSocketRemoveEventListener);
-        DECLARE_CALLBACK(WebSocketSend);
-        DECLARE_CALLBACK(WebSocketClose);
         DECLARE_ACCESSOR_RUNTIME_ENABLER(DOMWindowWebSocket);
 #endif
 
-        DECLARE_CALLBACK(GeolocationGetCurrentPosition);
-        DECLARE_CALLBACK(GeolocationWatchPosition);
         DECLARE_PROPERTY_ACCESSOR_GETTER(CoordinatesAltitude);
         DECLARE_PROPERTY_ACCESSOR_GETTER(CoordinatesAltitudeAccuracy);
         DECLARE_PROPERTY_ACCESSOR_GETTER(CoordinatesHeading);
@@ -721,10 +505,7 @@ namespace WebCore {
 #if ENABLE(SVG)
         static V8ClassIndex::V8WrapperType DowncastSVGPathSeg(void* pathSeg);
 #endif
-
     private:
-        static v8::Handle<v8::Value> WindowSetTimeoutImpl(const v8::Arguments&, bool singleShot);
-        static void ClearTimeoutImpl(const v8::Arguments&);
         static void WindowSetLocation(DOMWindow*, const String&);
     };
 
diff --git a/WebCore/bindings/v8/custom/V8DOMApplicationCacheCustom.cpp b/WebCore/bindings/v8/custom/V8DOMApplicationCacheCustom.cpp
index 134de95..1976975 100644
--- a/WebCore/bindings/v8/custom/V8DOMApplicationCacheCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8DOMApplicationCacheCustom.cpp
@@ -29,11 +29,12 @@
  */
 
 #include "config.h"
-#include "DOMApplicationCache.h"
+#include "V8DOMApplicationCache.h"
 
 #if ENABLE(OFFLINE_WEB_APPLICATIONS)
 
 #include "ApplicationCacheHost.h"
+#include "DOMApplicationCache.h"
 #include "V8Binding.h"
 #include "V8CustomBinding.h"
 #include "V8Document.h"
@@ -44,7 +45,7 @@
 namespace WebCore {
 
 // Handles appcache.addEventListner(name, func, capture) method calls
-CALLBACK_FUNC_DECL(DOMApplicationCacheAddEventListener)
+v8::Handle<v8::Value> V8DOMApplicationCache::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOMApplicationCache.addEventListener()");
     DOMApplicationCache* appcache = V8DOMWrapper::convertToNativeObject<DOMApplicationCache>(V8ClassIndex::DOMAPPLICATIONCACHE, args.Holder());
@@ -60,7 +61,7 @@ CALLBACK_FUNC_DECL(DOMApplicationCacheAddEventListener)
 }
 
 // Handles appcache.removeEventListner(name, func, capture) method calls
-CALLBACK_FUNC_DECL(DOMApplicationCacheRemoveEventListener)
+v8::Handle<v8::Value> V8DOMApplicationCache::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOMApplicationCache.removeEventListener()");
     DOMApplicationCache* appcache = V8DOMWrapper::convertToNativeObject<DOMApplicationCache>(V8ClassIndex::DOMAPPLICATIONCACHE, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8DOMParserConstructor.cpp b/WebCore/bindings/v8/custom/V8DOMParserConstructor.cpp
index 4af5c6e..117f31c 100644
--- a/WebCore/bindings/v8/custom/V8DOMParserConstructor.cpp
+++ b/WebCore/bindings/v8/custom/V8DOMParserConstructor.cpp
@@ -36,7 +36,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(DOMParserConstructor)
+v8::Handle<v8::Value> V8Custom::v8DOMParserConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMParser.Contructor");
     return V8Proxy::constructDOMObject<V8ClassIndex::DOMPARSER, DOMParser>(args);
diff --git a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
index e7065c3..954e272 100644
--- a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
@@ -29,7 +29,7 @@
  */
 
 #include "config.h"
-#include "DOMWindow.h"
+#include "V8DOMWindow.h"
 
 #include "V8Binding.h"
 #include "V8BindingState.h"
@@ -43,6 +43,7 @@
 #include "Chrome.h"
 #include "ExceptionCode.h"
 #include "DOMTimer.h"
+#include "DOMWindow.h"
 #include "Frame.h"
 #include "FrameLoadRequest.h"
 #include "FrameView.h"
@@ -68,7 +69,7 @@ static const int popupTilePixels = 10;
 
 namespace WebCore {
 
-v8::Handle<v8::Value> V8Custom::WindowSetTimeoutImpl(const v8::Arguments& args, bool singleShot)
+v8::Handle<v8::Value> WindowSetTimeoutImpl(const v8::Arguments& args, bool singleShot)
 {
     int argumentCount = args.Length();
 
@@ -214,7 +215,7 @@ ACCESSOR_GETTER(DOMWindowCrypto)
 ACCESSOR_SETTER(DOMWindowLocation)
 {
     DOMWindow* imp = V8DOMWrapper::convertToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, info.Holder());
-    WindowSetLocation(imp, toWebCoreString(value));
+    V8Custom::WindowSetLocation(imp, toWebCoreString(value));
 }
 
 
@@ -336,7 +337,7 @@ ACCESSOR_GETTER(DOMWindowOption)
     return V8DOMWrapper::getConstructor(V8ClassIndex::OPTION, window);
 }
 
-CALLBACK_FUNC_DECL(DOMWindowAddEventListener)
+v8::Handle<v8::Value> V8DOMWindow::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.addEventListener()");
 
@@ -369,7 +370,7 @@ CALLBACK_FUNC_DECL(DOMWindowAddEventListener)
 }
 
 
-CALLBACK_FUNC_DECL(DOMWindowRemoveEventListener)
+v8::Handle<v8::Value> V8DOMWindow::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.removeEventListener()");
 
@@ -400,7 +401,7 @@ CALLBACK_FUNC_DECL(DOMWindowRemoveEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(DOMWindowPostMessage)
+v8::Handle<v8::Value> V8DOMWindow::postMessageCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.postMessage()");
     DOMWindow* window = V8DOMWrapper::convertToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, args.Holder());
@@ -433,7 +434,7 @@ CALLBACK_FUNC_DECL(DOMWindowPostMessage)
     return throwError(ec);
 }
 
-CALLBACK_FUNC_DECL(DOMWindowAtob)
+v8::Handle<v8::Value> V8DOMWindow::atobCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.atob()");
 
@@ -452,7 +453,7 @@ CALLBACK_FUNC_DECL(DOMWindowAtob)
     return convertBase64(str, false);
 }
 
-CALLBACK_FUNC_DECL(DOMWindowBtoa)
+v8::Handle<v8::Value> V8DOMWindow::btoaCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.btoa()");
 
@@ -475,7 +476,7 @@ CALLBACK_FUNC_DECL(DOMWindowBtoa)
 // fix this by calling toString function on the receiver.
 // However, V8 implements toString in JavaScript, which requires
 // switching context of receiver. I consider it is dangerous.
-CALLBACK_FUNC_DECL(DOMWindowToString)
+v8::Handle<v8::Value> V8DOMWindow::toStringCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.toString()");
     v8::Handle<v8::Object> domWrapper = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::DOMWINDOW, args.This());
@@ -484,7 +485,13 @@ CALLBACK_FUNC_DECL(DOMWindowToString)
     return domWrapper->ObjectProtoToString();
 }
 
-CALLBACK_FUNC_DECL(DOMWindowNOP)
+v8::Handle<v8::Value> V8DOMWindow::releaseEventsCallback(const v8::Arguments& args)
+{
+    INC_STATS("DOM.DOMWindow.nop()");
+    return v8::Undefined();
+}
+
+v8::Handle<v8::Value> V8DOMWindow::captureEventsCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.nop()");
     return v8::Undefined();
@@ -611,7 +618,7 @@ static Frame* createWindow(Frame* callingFrame,
 
 
 
-CALLBACK_FUNC_DECL(DOMWindowShowModalDialog)
+v8::Handle<v8::Value> V8DOMWindow::showModalDialogCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.showModalDialog()");
 
@@ -701,7 +708,7 @@ CALLBACK_FUNC_DECL(DOMWindowShowModalDialog)
 }
 
 
-CALLBACK_FUNC_DECL(DOMWindowOpen)
+v8::Handle<v8::Value> V8DOMWindow::openCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.open()");
 
@@ -907,21 +914,21 @@ void V8Custom::WindowSetLocation(DOMWindow* window, const String& relativeURL)
 }
 
 
-CALLBACK_FUNC_DECL(DOMWindowSetTimeout)
+v8::Handle<v8::Value> V8DOMWindow::setTimeoutCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.setTimeout()");
     return WindowSetTimeoutImpl(args, true);
 }
 
 
-CALLBACK_FUNC_DECL(DOMWindowSetInterval)
+v8::Handle<v8::Value> V8DOMWindow::setIntervalCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.setInterval()");
     return WindowSetTimeoutImpl(args, false);
 }
 
 
-void V8Custom::ClearTimeoutImpl(const v8::Arguments& args)
+void ClearTimeoutImpl(const v8::Arguments& args)
 {
     int handle = toInt32(args[0]);
 
@@ -936,14 +943,14 @@ void V8Custom::ClearTimeoutImpl(const v8::Arguments& args)
 }
 
 
-CALLBACK_FUNC_DECL(DOMWindowClearTimeout)
+v8::Handle<v8::Value> V8DOMWindow::clearTimeoutCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.clearTimeout");
     ClearTimeoutImpl(args);
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(DOMWindowClearInterval)
+v8::Handle<v8::Value> V8DOMWindow::clearIntervalCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.DOMWindow.clearInterval");
     ClearTimeoutImpl(args);
diff --git a/WebCore/bindings/v8/custom/V8DatabaseCustom.cpp b/WebCore/bindings/v8/custom/V8DatabaseCustom.cpp
index 9ddd620..66281d9 100644
--- a/WebCore/bindings/v8/custom/V8DatabaseCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8DatabaseCustom.cpp
@@ -31,6 +31,7 @@
 #include "config.h"
 
 #if ENABLE(DATABASE)
+#include "V8Database.h"
 
 #include "Database.h"
 #include "V8Binding.h"
@@ -42,7 +43,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(DatabaseChangeVersion)
+v8::Handle<v8::Value> V8Database::changeVersionCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Database.changeVersion()");
 
@@ -123,13 +124,13 @@ static v8::Handle<v8::Value> createTransaction(const v8::Arguments& args, bool r
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(DatabaseTransaction)
+v8::Handle<v8::Value> V8Database::transactionCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Database.transaction()");
     return createTransaction(args, false);
 }
 
-CALLBACK_FUNC_DECL(DatabaseReadTransaction)
+v8::Handle<v8::Value> V8Database::readTransactionCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Database.readTransaction()");
     return createTransaction(args, true);
diff --git a/WebCore/bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp b/WebCore/bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp
index 263c005..02c1453 100644
--- a/WebCore/bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp
@@ -31,10 +31,10 @@
 #include "config.h"
 
 #if ENABLE(WORKERS)
-
-#include "WorkerContextExecutionProxy.h"
+#include "V8DedicatedWorkerContext.h"
 
 #include "DedicatedWorkerContext.h"
+#include "WorkerContextExecutionProxy.h"
 #include "V8Binding.h"
 #include "V8MessagePortCustom.h"
 #include "V8Proxy.h"
@@ -42,7 +42,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(DedicatedWorkerContextPostMessage)
+v8::Handle<v8::Value> V8DedicatedWorkerContext::postMessageCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.DedicatedWorkerContext.postMessage");
     DedicatedWorkerContext* workerContext = V8DOMWrapper::convertToNativeObject<DedicatedWorkerContext>(V8ClassIndex::DEDICATEDWORKERCONTEXT, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8DocumentCustom.cpp b/WebCore/bindings/v8/custom/V8DocumentCustom.cpp
index b43dfe2..1cdb122 100644
--- a/WebCore/bindings/v8/custom/V8DocumentCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8DocumentCustom.cpp
@@ -29,9 +29,10 @@
  */
 
 #include "config.h"
-#include "Document.h"
+#include "V8Document.h"
 
 #include "CanvasRenderingContext.h"
+#include "Document.h"
 #include "ExceptionCode.h"
 #include "Node.h"
 #include "XPathNSResolver.h"
@@ -50,7 +51,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(DocumentEvaluate)
+v8::Handle<v8::Value> V8Document::evaluateCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Document.evaluate()");
 
@@ -81,7 +82,7 @@ CALLBACK_FUNC_DECL(DocumentEvaluate)
     return V8DOMWrapper::convertToV8Object(V8ClassIndex::XPATHRESULT, result.release());
 }
 
-CALLBACK_FUNC_DECL(DocumentGetCSSCanvasContext)
+v8::Handle<v8::Value> V8Document::getCSSCanvasContextCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Document.getCSSCanvasContext");
     v8::Handle<v8::Object> holder = args.Holder();
diff --git a/WebCore/bindings/v8/custom/V8ElementCustom.cpp b/WebCore/bindings/v8/custom/V8ElementCustom.cpp
index e17e0a9..dee6133 100644
--- a/WebCore/bindings/v8/custom/V8ElementCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8ElementCustom.cpp
@@ -29,11 +29,12 @@
  */
 
 #include "config.h"
-#include "Element.h"
+#include "V8Element.h"
 
 #include "Attr.h"
 #include "CSSHelper.h"
 #include "Document.h"
+#include "Element.h"
 #include "ExceptionCode.h"
 #include "HTMLFrameElementBase.h"
 #include "HTMLNames.h"
@@ -48,7 +49,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(ElementSetAttribute)
+v8::Handle<v8::Value> V8Element::setAttributeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Element.setAttribute()");
     Element* element = V8DOMWrapper::convertDOMWrapperToNode<Element>(args.Holder());
@@ -66,7 +67,7 @@ CALLBACK_FUNC_DECL(ElementSetAttribute)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(ElementSetAttributeNode)
+v8::Handle<v8::Value> V8Element::setAttributeNodeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Element.setAttributeNode()");
     if (!V8Attr::HasInstance(args[0]))
@@ -86,7 +87,7 @@ CALLBACK_FUNC_DECL(ElementSetAttributeNode)
     return V8DOMWrapper::convertNodeToV8Object(result.release());
 }
 
-CALLBACK_FUNC_DECL(ElementSetAttributeNS)
+v8::Handle<v8::Value> V8Element::setAttributeNSCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Element.setAttributeNS()");
     Element* element = V8DOMWrapper::convertDOMWrapperToNode<Element>(args.Holder());
@@ -105,7 +106,7 @@ CALLBACK_FUNC_DECL(ElementSetAttributeNS)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(ElementSetAttributeNodeNS)
+v8::Handle<v8::Value> V8Element::setAttributeNodeNSCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Element.setAttributeNodeNS()");
     if (!V8Attr::HasInstance(args[0]))
diff --git a/WebCore/bindings/v8/custom/V8GeolocationCustom.cpp b/WebCore/bindings/v8/custom/V8GeolocationCustom.cpp
index 011beff..31defbb 100644
--- a/WebCore/bindings/v8/custom/V8GeolocationCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8GeolocationCustom.cpp
@@ -24,6 +24,8 @@
  */
 
 #include "config.h"
+#include "V8Geolocation.h"
+
 #include "Geolocation.h"
 
 #include "V8Binding.h"
@@ -165,7 +167,7 @@ static PassRefPtr<PositionOptions> createPositionOptions(v8::Local<v8::Value> va
     return options.release();
 }
 
-CALLBACK_FUNC_DECL(GeolocationGetCurrentPosition)
+v8::Handle<v8::Value> V8Geolocation::getCurrentPositionCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Geolocation.getCurrentPosition()");
 
@@ -190,7 +192,7 @@ CALLBACK_FUNC_DECL(GeolocationGetCurrentPosition)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(GeolocationWatchPosition)
+v8::Handle<v8::Value> V8Geolocation::watchPositionCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Geolocation.watchPosition()");
 
diff --git a/WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp b/WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp
index 419f374..6e43e77 100644
--- a/WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp
@@ -29,6 +29,8 @@
  */
 
 #include "config.h"
+#include "V8HTMLAllCollection.h"
+
 #include "HTMLAllCollection.h"
 
 #include "V8Binding.h"
@@ -88,14 +90,14 @@ NAMED_PROPERTY_GETTER(HTMLAllCollection)
     return getNamedItems(imp, v8StringToAtomicWebCoreString(name));
 }
 
-CALLBACK_FUNC_DECL(HTMLAllCollectionItem)
+v8::Handle<v8::Value> V8HTMLAllCollection::itemCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLAllCollection.item()");
     HTMLAllCollection* imp = V8DOMWrapper::convertToNativeObject<HTMLAllCollection>(V8ClassIndex::HTMLALLCOLLECTION, args.Holder());
     return getItem(imp, args[0]);
 }
 
-CALLBACK_FUNC_DECL(HTMLAllCollectionNamedItem)
+v8::Handle<v8::Value> V8HTMLAllCollection::namedItemCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLAllCollection.namedItem()");
     HTMLAllCollection* imp = V8DOMWrapper::convertToNativeObject<HTMLAllCollection>(V8ClassIndex::HTMLALLCOLLECTION, args.Holder());
@@ -107,7 +109,7 @@ CALLBACK_FUNC_DECL(HTMLAllCollectionNamedItem)
     return result;
 }
 
-CALLBACK_FUNC_DECL(HTMLAllCollectionCallAsFunction)
+v8::Handle<v8::Value> V8HTMLAllCollection::callAsFunctionCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLAllCollection.callAsFunction()");
     if (args.Length() < 1)
diff --git a/WebCore/bindings/v8/custom/V8HTMLAudioElementConstructor.cpp b/WebCore/bindings/v8/custom/V8HTMLAudioElementConstructor.cpp
index c82d88a..902fbb6 100644
--- a/WebCore/bindings/v8/custom/V8HTMLAudioElementConstructor.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLAudioElementConstructor.cpp
@@ -61,7 +61,7 @@ v8::Persistent<v8::FunctionTemplate> V8HTMLAudioElementConstructor::GetTemplate(
     return cachedTemplate;
 }
 
-CALLBACK_FUNC_DECL(HTMLAudioElementConstructor)
+v8::Handle<v8::Value> V8Custom::v8HTMLAudioElementConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLAudioElement.Contructor");
 
diff --git a/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp b/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
index e51437e..0751b90 100644
--- a/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
@@ -29,10 +29,10 @@
  */
 
 #include "config.h"
-#include "HTMLCanvasElement.h"
-#include "CanvasRenderingContext.h"
+#include "V8HTMLCanvasElement.h"
 
 #include "CanvasRenderingContext.h"
+#include "HTMLCanvasElement.h"
 #include "V8Binding.h"
 #include "V8CustomBinding.h"
 #include "V8Node.h"
@@ -40,7 +40,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(HTMLCanvasElementGetContext)
+v8::Handle<v8::Value> V8HTMLCanvasElement::getContextCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLCanvasElement.context");
     v8::Handle<v8::Object> holder = args.Holder();
diff --git a/WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp b/WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp
index 7c9b40f..517344c 100644
--- a/WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp
@@ -29,8 +29,9 @@
  */
 
 #include "config.h"
-#include "HTMLCollection.h"
+#include "V8HTMLCollection.h"
 
+#include "HTMLCollection.h"
 #include "V8Binding.h"
 #include "V8CustomBinding.h"
 #include "V8NamedNodesCollection.h"
@@ -88,14 +89,14 @@ NAMED_PROPERTY_GETTER(HTMLCollection)
     return getNamedItems(imp, v8StringToAtomicWebCoreString(name));
 }
 
-CALLBACK_FUNC_DECL(HTMLCollectionItem)
+v8::Handle<v8::Value> V8HTMLCollection::itemCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLCollection.item()");
     HTMLCollection* imp = V8DOMWrapper::convertToNativeObject<HTMLCollection>(V8ClassIndex::HTMLCOLLECTION, args.Holder());
     return getItem(imp, args[0]);
 }
 
-CALLBACK_FUNC_DECL(HTMLCollectionNamedItem)
+v8::Handle<v8::Value> V8HTMLCollection::namedItemCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLCollection.namedItem()");
     HTMLCollection* imp = V8DOMWrapper::convertToNativeObject<HTMLCollection>(V8ClassIndex::HTMLCOLLECTION, args.Holder());
@@ -107,7 +108,7 @@ CALLBACK_FUNC_DECL(HTMLCollectionNamedItem)
     return result;
 }
 
-CALLBACK_FUNC_DECL(HTMLCollectionCallAsFunction)
+v8::Handle<v8::Value> V8HTMLCollection::callAsFunctionCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLCollection.callAsFunction()");
     if (args.Length() < 1)
diff --git a/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp b/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp
index 9cf2f3d..aa2f30c 100644
--- a/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp
@@ -29,10 +29,11 @@
  */
 
 #include "config.h"
-#include "HTMLDocument.h"
+#include "V8HTMLDocument.h"
 
 #include "Frame.h"
 #include "HTMLAllCollection.h"
+#include "HTMLDocument.h"
 #include "HTMLCollection.h"
 #include "HTMLIFrameElement.h"
 #include "HTMLNames.h"
@@ -115,7 +116,7 @@ static String writeHelperGetString(const v8::Arguments& args)
     return str;
 }
 
-CALLBACK_FUNC_DECL(HTMLDocumentWrite)
+v8::Handle<v8::Value> V8HTMLDocument::writeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLDocument.write()");
     HTMLDocument* htmlDocument = V8DOMWrapper::convertDOMWrapperToNode<HTMLDocument>(args.Holder());
@@ -124,7 +125,7 @@ CALLBACK_FUNC_DECL(HTMLDocumentWrite)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(HTMLDocumentWriteln)
+v8::Handle<v8::Value> V8HTMLDocument::writelnCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLDocument.writeln()");
     HTMLDocument* htmlDocument = V8DOMWrapper::convertDOMWrapperToNode<HTMLDocument>(args.Holder());
@@ -133,7 +134,7 @@ CALLBACK_FUNC_DECL(HTMLDocumentWriteln)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(HTMLDocumentOpen)
+v8::Handle<v8::Value> V8HTMLDocument::openCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLDocument.open()");
     HTMLDocument* htmlDocument = V8DOMWrapper::convertDOMWrapperToNode<HTMLDocument>(args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8HTMLFormElementCustom.cpp b/WebCore/bindings/v8/custom/V8HTMLFormElementCustom.cpp
index 3fc9009..5c741fe 100644
--- a/WebCore/bindings/v8/custom/V8HTMLFormElementCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLFormElementCustom.cpp
@@ -29,9 +29,10 @@
  */
 
 #include "config.h"
-#include "HTMLFormElement.h"
+#include "V8HTMLFormElement.h"
 
 #include "HTMLCollection.h"
+#include "HTMLFormElement.h"
 #include "V8Binding.h"
 #include "V8CustomBinding.h"
 #include "V8NamedNodesCollection.h"
@@ -80,7 +81,8 @@ NAMED_PROPERTY_GETTER(HTMLFormElement)
     return V8DOMWrapper::convertToV8Object(V8ClassIndex::NODELIST, collection);
 }
 
-CALLBACK_FUNC_DECL(HTMLFormElementSubmit) {
+v8::Handle<v8::Value> V8HTMLFormElement::submitCallback(const v8::Arguments& args)
+{
     INC_STATS("DOM.HTMLFormElement.submit()");
     HTMLFormElement* form = V8DOMWrapper::convertDOMWrapperToNative<HTMLFormElement>(args.Holder());
     Frame* frame = V8Proxy::retrieveFrameForEnteredContext();
diff --git a/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp b/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp
index 71c99cf..6676821 100644
--- a/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp
@@ -61,7 +61,7 @@ v8::Persistent<v8::FunctionTemplate> V8HTMLImageElementConstructor::GetTemplate(
     return cachedTemplate;
 }
 
-CALLBACK_FUNC_DECL(HTMLImageElementConstructor)
+v8::Handle<v8::Value> V8Custom::v8HTMLImageElementConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLImageElement.Contructor");
 
diff --git a/WebCore/bindings/v8/custom/V8HTMLInputElementCustom.cpp b/WebCore/bindings/v8/custom/V8HTMLInputElementCustom.cpp
index 63fbcec..3441bc0 100644
--- a/WebCore/bindings/v8/custom/V8HTMLInputElementCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLInputElementCustom.cpp
@@ -29,6 +29,8 @@
  */
 
 #include "config.h"
+#include "V8HTMLInputElement.h"
+
 #include "HTMLInputElement.h"
 
 #include "V8Binding.h"
@@ -90,7 +92,7 @@ ACCESSOR_SETTER(HTMLInputElementSelectionEnd)
     imp->setSelectionEnd(value->Int32Value());
 }
 
-CALLBACK_FUNC_DECL(HTMLInputElementSetSelectionRange)
+v8::Handle<v8::Value> V8HTMLInputElement::setSelectionRangeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLInputElement.setSelectionRange");
     v8::Handle<v8::Object> holder = args.Holder();
diff --git a/WebCore/bindings/v8/custom/V8HTMLOptionElementConstructor.cpp b/WebCore/bindings/v8/custom/V8HTMLOptionElementConstructor.cpp
index f9c9cb4..9fff6b7 100644
--- a/WebCore/bindings/v8/custom/V8HTMLOptionElementConstructor.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLOptionElementConstructor.cpp
@@ -62,7 +62,7 @@ v8::Persistent<v8::FunctionTemplate> V8HTMLOptionElementConstructor::GetTemplate
     return cachedTemplate;
 }
 
-CALLBACK_FUNC_DECL(HTMLOptionElementConstructor)
+v8::Handle<v8::Value> V8Custom::v8HTMLOptionElementConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLOptionElement.Contructor");
 
diff --git a/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp b/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp
index 02c3499..a84f0af 100644
--- a/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp
@@ -29,8 +29,9 @@
  */
 
 #include "config.h"
-#include "HTMLOptionsCollection.h"
+#include "V8HTMLOptionsCollection.h"
 
+#include "HTMLOptionsCollection.h"
 #include "HTMLOptionElement.h"
 #include "ExceptionCode.h"
 
@@ -43,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(HTMLOptionsCollectionRemove)
+v8::Handle<v8::Value> V8HTMLOptionsCollection::removeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLOptionsCollection.remove()");
     HTMLOptionsCollection* imp = V8DOMWrapper::convertToNativeObject<HTMLOptionsCollection>(V8ClassIndex::HTMLOPTIONSCOLLECTION, args.Holder());
@@ -51,7 +52,7 @@ CALLBACK_FUNC_DECL(HTMLOptionsCollectionRemove)
     return removeElement(base, args);
 }
 
-CALLBACK_FUNC_DECL(HTMLOptionsCollectionAdd)
+v8::Handle<v8::Value> V8HTMLOptionsCollection::addCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLOptionsCollection.add()");
     if (!V8HTMLOptionElement::HasInstance(args[0])) {
diff --git a/WebCore/bindings/v8/custom/V8HTMLPlugInElementCustom.cpp b/WebCore/bindings/v8/custom/V8HTMLPlugInElementCustom.cpp
index 13c82f3..3212cb6 100644
--- a/WebCore/bindings/v8/custom/V8HTMLPlugInElementCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLPlugInElementCustom.cpp
@@ -29,8 +29,9 @@
 */
 
 #include "config.h"
-#include "HTMLPlugInElement.h"
+#include "V8HTMLPlugInElementCustom.h"
 
+#include "HTMLPlugInElement.h"
 #include "ScriptInstance.h"
 
 #include "V8Binding.h"
@@ -70,7 +71,7 @@ NAMED_PROPERTY_SETTER(HTMLPlugInElement)
     return npObjectSetNamedProperty(instance, name, value);
 }
 
-CALLBACK_FUNC_DECL(HTMLPlugInElement)
+v8::Handle<v8::Value> V8HTMLPlugInElement::defaultCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLPluginElement()");
     return npObjectInvokeDefaultHandler(args);
diff --git a/WebCore/bindings/v8/custom/V8HTMLPlugInElementCustom.h b/WebCore/bindings/v8/custom/V8HTMLPlugInElementCustom.h
new file mode 100644
index 0000000..8e5f061
--- /dev/null
+++ b/WebCore/bindings/v8/custom/V8HTMLPlugInElementCustom.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2009 Google Inc.
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef V8HTMLPlugInElementCustom_h
+#define V8HTMLPlugInElementCustom_h
+
+#include <v8.h>
+
+namespace WebCore {
+
+class V8HTMLPlugInElement {
+public:
+    static v8::Handle<v8::Value> defaultCallback(const v8::Arguments&);
+};
+
+} // namespace WebCore
+
+#endif // V8HTMLPlugInElementCustom_h
diff --git a/WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp b/WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp
index 7e29290..10bd9c0 100644
--- a/WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp
@@ -39,6 +39,7 @@
 #include "V8Collection.h"
 #include "V8CustomBinding.h"
 #include "V8HTMLOptionElement.h"
+#include "V8HTMLSelectElement.h"
 #include "V8NamedNodesCollection.h"
 #include "V8Proxy.h"
 
@@ -90,7 +91,7 @@ INDEXED_PROPERTY_SETTER(HTMLSelectElement)
     return toOptionsCollectionSetter(index, value, select);
 }
 
-CALLBACK_FUNC_DECL(HTMLSelectElementRemove)
+v8::Handle<v8::Value> V8HTMLSelectElement::removeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.HTMLSelectElement.remove");
     HTMLSelectElement* imp = V8DOMWrapper::convertDOMWrapperToNode<HTMLSelectElement>(args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8HistoryCustom.cpp b/WebCore/bindings/v8/custom/V8HistoryCustom.cpp
index c884d15..acb96ed 100644
--- a/WebCore/bindings/v8/custom/V8HistoryCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HistoryCustom.cpp
@@ -29,16 +29,18 @@
  */
 
 #include "config.h"
-#include "History.h"
+#include "V8History.h"
 
 #include "ExceptionCode.h"
+#include "History.h"
 #include "SerializedScriptValue.h"
 #include "V8Binding.h"
 #include "V8CustomBinding.h"
 #include "V8Proxy.h"
 
 namespace WebCore {
-CALLBACK_FUNC_DECL(HistoryPushState)
+
+v8::Handle<v8::Value> V8History::pushStateCallback(const v8::Arguments& args)
 {
     RefPtr<SerializedScriptValue> historyState = SerializedScriptValue::create(toWebCoreString(args[0]));
 
@@ -59,7 +61,7 @@ CALLBACK_FUNC_DECL(HistoryPushState)
     return throwError(ec);
 }
 
-CALLBACK_FUNC_DECL(HistoryReplaceState)
+v8::Handle<v8::Value> V8History::replaceStateCallback(const v8::Arguments& args)
 {
     RefPtr<SerializedScriptValue> historyState = SerializedScriptValue::create(toWebCoreString(args[0]));
 
diff --git a/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp b/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp
index fac6733..415f89d 100644
--- a/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp
@@ -29,11 +29,12 @@
  */
 
 #include "config.h"
-#include "InjectedScriptHost.h"
+#include "V8InjectedScriptHost.h"
 
 #include "Database.h"
 #include "DOMWindow.h"
 #include "Frame.h"
+#include "InjectedScriptHost.h"
 #include "InspectorController.h"
 #include "Node.h"
 #include "Page.h"
@@ -44,7 +45,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(InjectedScriptHostInspectedWindow)
+v8::Handle<v8::Value> V8InjectedScriptHost::inspectedWindowCallback(const v8::Arguments& args)
 {
     INC_STATS("InjectedScriptHost.inspectedWindow()");
 
@@ -55,13 +56,13 @@ CALLBACK_FUNC_DECL(InjectedScriptHostInspectedWindow)
     return V8DOMWrapper::convertToV8Object<DOMWindow>(V8ClassIndex::DOMWINDOW, ic->inspectedPage()->mainFrame()->domWindow());
 }
 
-CALLBACK_FUNC_DECL(InjectedScriptHostWrapCallback)
+v8::Handle<v8::Value> V8InjectedScriptHost::wrapCallbackCallback(const v8::Arguments& args)
 {
     INC_STATS("InjectedScriptHost.wrapCallback()");
     return args[0];
 }
 
-CALLBACK_FUNC_DECL(InjectedScriptHostNodeForId)
+v8::Handle<v8::Value> V8InjectedScriptHost::nodeForIdCallback(const v8::Arguments& args)
 {
     INC_STATS("InjectedScriptHost.nodeForId()");
     if (args.Length() < 1)
@@ -80,7 +81,7 @@ CALLBACK_FUNC_DECL(InjectedScriptHostNodeForId)
     return V8DOMWrapper::convertToV8Object(V8ClassIndex::NODE, node);
 }
 
-CALLBACK_FUNC_DECL(InjectedScriptHostWrapObject)
+v8::Handle<v8::Value> V8InjectedScriptHost::wrapObjectCallback(const v8::Arguments& args)
 {
     INC_STATS("InjectedScriptHost.wrapObject()");
     if (args.Length() < 2)
@@ -90,7 +91,7 @@ CALLBACK_FUNC_DECL(InjectedScriptHostWrapObject)
     return host->wrapObject(ScriptValue(args[0]), toWebCoreStringWithNullCheck(args[1])).v8Value();
 }
 
-CALLBACK_FUNC_DECL(InjectedScriptHostUnwrapObject)
+v8::Handle<v8::Value> V8InjectedScriptHost::unwrapObjectCallback(const v8::Arguments& args)
 {
     INC_STATS("InjectedScriptHost.unwrapObject()");
     if (args.Length() < 1)
@@ -100,7 +101,7 @@ CALLBACK_FUNC_DECL(InjectedScriptHostUnwrapObject)
     return host->unwrapObject(toWebCoreStringWithNullCheck(args[0])).v8Value();
 }
 
-CALLBACK_FUNC_DECL(InjectedScriptHostPushNodePathToFrontend)
+v8::Handle<v8::Value> V8InjectedScriptHost::pushNodePathToFrontendCallback(const v8::Arguments& args)
 {
     INC_STATS("InjectedScriptHost.pushNodePathToFrontend()");
     if (args.Length() < 2)
@@ -116,7 +117,7 @@ CALLBACK_FUNC_DECL(InjectedScriptHostPushNodePathToFrontend)
 }
 
 #if ENABLE(DATABASE)
-CALLBACK_FUNC_DECL(InjectedScriptHostDatabaseForId)
+v8::Handle<v8::Value> V8InjectedScriptHost::databaseForIdCallback(const v8::Arguments& args)
 {
     INC_STATS("InjectedScriptHost.databaseForId()");
     if (args.Length() < 1)
@@ -129,7 +130,7 @@ CALLBACK_FUNC_DECL(InjectedScriptHostDatabaseForId)
     return V8DOMWrapper::convertToV8Object<Database>(V8ClassIndex::DATABASE, database);
 }
 
-CALLBACK_FUNC_DECL(InjectedScriptHostSelectDatabase)
+v8::Handle<v8::Value> V8InjectedScriptHost::selectDatabaseCallback(const v8::Arguments& args)
 {
     INC_STATS("InjectedScriptHost.selectDatabase()");
     if (args.Length() < 1)
@@ -145,7 +146,7 @@ CALLBACK_FUNC_DECL(InjectedScriptHostSelectDatabase)
 #endif
 
 #if ENABLE(DOM_STORAGE)
-CALLBACK_FUNC_DECL(InjectedScriptHostSelectDOMStorage)
+v8::Handle<v8::Value> V8InjectedScriptHost::selectDOMStorageCallback(const v8::Arguments& args)
 {
     INC_STATS("InjectedScriptHost.selectDOMStorage()");
     if (args.Length() < 1)
diff --git a/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp b/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp
index 15b45e9..3a19d74 100644
--- a/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp
@@ -29,10 +29,11 @@
  */
 
 #include "config.h"
-#include "InspectorFrontendHost.h"
+#include "V8InspectorFrontendHost.h"
 
 #include "ExceptionCode.h"
 #include "InspectorController.h"
+#include "InspectorFrontendHost.h"
 #include "Node.h"
 #include "Range.h"
 #include "Page.h"
@@ -45,7 +46,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(InspectorFrontendHostSearch)
+v8::Handle<v8::Value> V8InspectorFrontendHost::searchCallback(const v8::Arguments& args)
 {
     INC_STATS("InspectorFrontendHost.search()");
 
@@ -84,7 +85,7 @@ CALLBACK_FUNC_DECL(InspectorFrontendHostSearch)
     return result;
 }
 
-CALLBACK_FUNC_DECL(InspectorFrontendHostShowContextMenu)
+v8::Handle<v8::Value> V8InspectorFrontendHost::showContextMenuCallback(const v8::Arguments& args)
 {
     return v8::Undefined();
 }
diff --git a/WebCore/bindings/v8/custom/V8LocationCustom.cpp b/WebCore/bindings/v8/custom/V8LocationCustom.cpp
index af636f1..9c71ad8 100644
--- a/WebCore/bindings/v8/custom/V8LocationCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8LocationCustom.cpp
@@ -210,7 +210,7 @@ ACCESSOR_SETTER(LocationSearch)
 ACCESSOR_GETTER(LocationReload)
 {
     INC_STATS("DOM.Location.reload._get");
-    static v8::Persistent<v8::FunctionTemplate> privateTemplate = v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(v8LocationReloadCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
+    static v8::Persistent<v8::FunctionTemplate> privateTemplate = v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(V8Location::reloadCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
     v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::LOCATION, info.This());
     if (holder.IsEmpty()) {
         // can only reach here by 'object.__proto__.func', and it should passed
@@ -219,7 +219,7 @@ ACCESSOR_GETTER(LocationReload)
     }
     Location* imp = V8DOMWrapper::convertToNativeObject<Location>(V8ClassIndex::LOCATION, holder);
     if (!V8BindingSecurity::canAccessFrame(V8BindingState::Only(), imp->frame(), false)) {
-        static v8::Persistent<v8::FunctionTemplate> sharedTemplate = v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(v8LocationReloadCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
+        static v8::Persistent<v8::FunctionTemplate> sharedTemplate = v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(V8Location::reloadCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
         return sharedTemplate->GetFunction();
     }
     return privateTemplate->GetFunction();
@@ -228,7 +228,7 @@ ACCESSOR_GETTER(LocationReload)
 ACCESSOR_GETTER(LocationReplace)
 {
     INC_STATS("DOM.Location.replace._get");
-    static v8::Persistent<v8::FunctionTemplate> privateTemplate = v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(v8LocationReplaceCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
+    static v8::Persistent<v8::FunctionTemplate> privateTemplate = v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(V8Location::replaceCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
     v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::LOCATION, info.This());
     if (holder.IsEmpty()) {
         // can only reach here by 'object.__proto__.func', and it should passed
@@ -237,7 +237,7 @@ ACCESSOR_GETTER(LocationReplace)
     }
     Location* imp = V8DOMWrapper::convertToNativeObject<Location>(V8ClassIndex::LOCATION, holder);
     if (!V8BindingSecurity::canAccessFrame(V8BindingState::Only(), imp->frame(), false)) {
-        static v8::Persistent<v8::FunctionTemplate> sharedTemplate = v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(v8LocationReplaceCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
+        static v8::Persistent<v8::FunctionTemplate> sharedTemplate = v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(V8Location::replaceCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
         return sharedTemplate->GetFunction();
     }
     return privateTemplate->GetFunction();
@@ -247,7 +247,7 @@ ACCESSOR_GETTER(LocationAssign)
 {
     INC_STATS("DOM.Location.assign._get");
     static v8::Persistent<v8::FunctionTemplate> privateTemplate =
-    v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(v8LocationAssignCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
+        v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(V8Location::assignCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
     v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::LOCATION, info.This());
     if (holder.IsEmpty()) {
         // can only reach here by 'object.__proto__.func', and it should passed
@@ -256,13 +256,13 @@ ACCESSOR_GETTER(LocationAssign)
     }
     Location* imp = V8DOMWrapper::convertToNativeObject<Location>(V8ClassIndex::LOCATION, holder);
     if (!V8BindingSecurity::canAccessFrame(V8BindingState::Only(), imp->frame(), false)) {
-        static v8::Persistent<v8::FunctionTemplate> sharedTemplate = v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(v8LocationAssignCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
+        static v8::Persistent<v8::FunctionTemplate> sharedTemplate = v8::Persistent<v8::FunctionTemplate>::New(v8::FunctionTemplate::New(V8Location::assignCallback, v8::Handle<v8::Value>(), v8::Signature::New(V8Location::GetRawTemplate())));
         return sharedTemplate->GetFunction();
     }
     return privateTemplate->GetFunction();
 }
 
-CALLBACK_FUNC_DECL(LocationReload)
+v8::Handle<v8::Value> V8Location::reloadCallback(const v8::Arguments& args)
 {
     // FIXME: we ignore the "forceget" parameter.
 
@@ -279,7 +279,7 @@ CALLBACK_FUNC_DECL(LocationReload)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(LocationReplace)
+v8::Handle<v8::Value> V8Location::replaceCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Location.replace");
     v8::Handle<v8::Object> holder = args.Holder();
@@ -300,7 +300,7 @@ CALLBACK_FUNC_DECL(LocationReplace)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(LocationAssign)
+v8::Handle<v8::Value> V8Location::assignCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Location.assign");
     v8::Handle<v8::Object> holder = args.Holder();
@@ -321,7 +321,7 @@ CALLBACK_FUNC_DECL(LocationAssign)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(LocationValueOf)
+v8::Handle<v8::Value> V8Location::valueOfCallback(const v8::Arguments& args)
 {
     // Just return the this object the way the normal valueOf function
     // on the Object prototype would.  The valueOf function is only
@@ -331,7 +331,7 @@ CALLBACK_FUNC_DECL(LocationValueOf)
     return args.This();
 }
 
-CALLBACK_FUNC_DECL(LocationToString)
+v8::Handle<v8::Value> V8Location::toStringCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Location.toString");
     v8::Handle<v8::Object> holder = args.Holder();
diff --git a/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp b/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp
index ca02b16..fe7351c 100644
--- a/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp
+++ b/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(MessageChannelConstructor)
+v8::Handle<v8::Value> V8Custom::v8MessageChannelConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.MessageChannel.Constructor");
     // FIXME: The logic here is almost exact duplicate of V8::constructDOMObject.
diff --git a/WebCore/bindings/v8/custom/V8MessageEventCustom.cpp b/WebCore/bindings/v8/custom/V8MessageEventCustom.cpp
index c5af635..5c0113e 100644
--- a/WebCore/bindings/v8/custom/V8MessageEventCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8MessageEventCustom.cpp
@@ -29,6 +29,8 @@
  */
 
 #include "config.h"
+#include "V8MessageEvent.h"
+
 #include "MessageEvent.h"
 #include "SerializedScriptValue.h"
 
@@ -56,7 +58,7 @@ ACCESSOR_GETTER(MessageEventPorts)
     return portArray;
 }
 
-CALLBACK_FUNC_DECL(MessageEventInitMessageEvent)
+v8::Handle<v8::Value> V8MessageEvent::initMessageEventCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.MessageEvent.initMessageEvent");
     MessageEvent* event = V8DOMWrapper::convertToNativeObject<MessageEvent>(V8ClassIndex::MESSAGEEVENT, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8MessagePortCustom.cpp b/WebCore/bindings/v8/custom/V8MessagePortCustom.cpp
index 0d8631f..7879fb8 100644
--- a/WebCore/bindings/v8/custom/V8MessagePortCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8MessagePortCustom.cpp
@@ -43,7 +43,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(MessagePortAddEventListener)
+v8::Handle<v8::Value> V8MessagePort::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.MessagePort.addEventListener()");
     MessagePort* messagePort = V8DOMWrapper::convertToNativeObject<MessagePort>(V8ClassIndex::MESSAGEPORT, args.Holder());
@@ -58,7 +58,7 @@ CALLBACK_FUNC_DECL(MessagePortAddEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(MessagePortRemoveEventListener)
+v8::Handle<v8::Value> V8MessagePort::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.MessagePort.removeEventListener()");
     MessagePort* messagePort = V8DOMWrapper::convertToNativeObject<MessagePort>(V8ClassIndex::MESSAGEPORT, args.Holder());
@@ -74,7 +74,7 @@ CALLBACK_FUNC_DECL(MessagePortRemoveEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(MessagePortPostMessage)
+v8::Handle<v8::Value> V8MessagePort::postMessageCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.MessagePort.postMessage");
     MessagePort* messagePort = V8DOMWrapper::convertToNativeObject<MessagePort>(V8ClassIndex::MESSAGEPORT, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8NodeCustom.cpp b/WebCore/bindings/v8/custom/V8NodeCustom.cpp
index 9b4b9aa..03b2c32 100644
--- a/WebCore/bindings/v8/custom/V8NodeCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8NodeCustom.cpp
@@ -45,7 +45,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(NodeAddEventListener)
+v8::Handle<v8::Value> V8Node::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Node.addEventListener()");
     Node* node = V8DOMWrapper::convertDOMWrapperToNode<Node>(args.Holder());
@@ -60,7 +60,7 @@ CALLBACK_FUNC_DECL(NodeAddEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(NodeRemoveEventListener)
+v8::Handle<v8::Value> V8Node::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Node.removeEventListener()");
     Node* node = V8DOMWrapper::convertDOMWrapperToNode<Node>(args.Holder());
@@ -80,7 +80,7 @@ CALLBACK_FUNC_DECL(NodeRemoveEventListener)
 }
 
 // This function is customized to take advantage of the optional 4th argument: shouldLazyAttach
-CALLBACK_FUNC_DECL(NodeInsertBefore)
+v8::Handle<v8::Value> V8Node::insertBeforeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Node.insertBefore");
     v8::Handle<v8::Object> holder = args.Holder();
@@ -99,7 +99,7 @@ CALLBACK_FUNC_DECL(NodeInsertBefore)
 }
 
 // This function is customized to take advantage of the optional 4th argument: shouldLazyAttach
-CALLBACK_FUNC_DECL(NodeReplaceChild)
+v8::Handle<v8::Value> V8Node::replaceChildCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Node.replaceChild");
     v8::Handle<v8::Object> holder = args.Holder();
@@ -117,7 +117,7 @@ CALLBACK_FUNC_DECL(NodeReplaceChild)
     return v8::Null();
 }
 
-CALLBACK_FUNC_DECL(NodeRemoveChild)
+v8::Handle<v8::Value> V8Node::removeChildCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Node.removeChild");
     v8::Handle<v8::Object> holder = args.Holder();
@@ -135,7 +135,7 @@ CALLBACK_FUNC_DECL(NodeRemoveChild)
 }
 
 // This function is customized to take advantage of the optional 4th argument: shouldLazyAttach
-CALLBACK_FUNC_DECL(NodeAppendChild)
+v8::Handle<v8::Value> V8Node::appendChildCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Node.appendChild");
     v8::Handle<v8::Object> holder = args.Holder();
diff --git a/WebCore/bindings/v8/custom/V8NodeFilterCustom.cpp b/WebCore/bindings/v8/custom/V8NodeFilterCustom.cpp
index 8839420..032900c 100644
--- a/WebCore/bindings/v8/custom/V8NodeFilterCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8NodeFilterCustom.cpp
@@ -29,9 +29,10 @@
  */
 
 #include "config.h"
-#include "NodeFilter.h"
+#include "V8NodeFilter.h"
 
 #include "ExceptionCode.h"
+#include "NodeFilter.h"
 
 #include "V8Binding.h"
 #include "V8CustomBinding.h"
@@ -39,7 +40,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(NodeFilterAcceptNode)
+v8::Handle<v8::Value> V8NodeFilter::acceptNodeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.NodeFilter.acceptNode()");
     return throwError(NOT_SUPPORTED_ERR);
diff --git a/WebCore/bindings/v8/custom/V8NodeIteratorCustom.cpp b/WebCore/bindings/v8/custom/V8NodeIteratorCustom.cpp
index 47ae8ee..6111807 100644
--- a/WebCore/bindings/v8/custom/V8NodeIteratorCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8NodeIteratorCustom.cpp
@@ -29,8 +29,9 @@
  */
 
 #include "config.h"
-#include "NodeIterator.h"
+#include "V8NodeIterator.h"
 
+#include "NodeIterator.h"
 #include "ScriptState.h"
 
 #include "V8Binding.h"
@@ -56,7 +57,7 @@ static inline v8::Handle<v8::Value> toV8(PassRefPtr<Node> object, ExceptionCode
     return V8DOMWrapper::convertNodeToV8Object(object);
 }
 
-CALLBACK_FUNC_DECL(NodeIteratorNextNode)
+v8::Handle<v8::Value> V8NodeIterator::nextNodeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.NodeIterator.nextNode()");
     NodeIterator* nodeIterator = V8DOMWrapper::convertToNativeObject<NodeIterator>(V8ClassIndex::NODEITERATOR, args.Holder());
@@ -67,7 +68,7 @@ CALLBACK_FUNC_DECL(NodeIteratorNextNode)
     return toV8(result.release(), ec, &state);
 }
 
-CALLBACK_FUNC_DECL(NodeIteratorPreviousNode)
+v8::Handle<v8::Value> V8NodeIterator::previousNodeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.NodeIterator.previousNode()");
     NodeIterator* nodeIterator = V8DOMWrapper::convertToNativeObject<NodeIterator>(V8ClassIndex::NODEITERATOR, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp b/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp
index a1f20cc..e901395 100644
--- a/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp
@@ -31,6 +31,7 @@
 #include "config.h"
 
 #if ENABLE(NOTIFICATIONS)
+#include "V8NotificationCenter.h"
 
 #include "NotImplemented.h"
 #include "Notification.h"
@@ -39,6 +40,7 @@
 #include "V8CustomBinding.h"
 #include "V8CustomEventListener.h"
 #include "V8CustomVoidCallback.h"
+#include "V8Notification.h"
 #include "V8Proxy.h"
 #include "V8Utilities.h"
 #include "WorkerContext.h"
@@ -46,7 +48,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(NotificationAddEventListener)
+v8::Handle<v8::Value> V8Notification::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Notification.addEventListener()");
     Notification* notification = V8DOMWrapper::convertToNativeObject<Notification>(V8ClassIndex::NOTIFICATION, args.Holder());
@@ -62,7 +64,7 @@ CALLBACK_FUNC_DECL(NotificationAddEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(NotificationRemoveEventListener)
+v8::Handle<v8::Value> V8Notification::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Notification.removeEventListener()");
     Notification* notification = V8DOMWrapper::convertToNativeObject<Notification>(V8ClassIndex::NOTIFICATION, args.Holder());
@@ -78,7 +80,7 @@ CALLBACK_FUNC_DECL(NotificationRemoveEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(NotificationCenterCreateHTMLNotification)
+v8::Handle<v8::Value> V8NotificationCenter::createHTMLNotificationCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.NotificationCenter.CreateHTMLNotification()");
     NotificationCenter* notificationCenter = V8DOMWrapper::convertToNativeObject<NotificationCenter>(V8ClassIndex::NOTIFICATIONCENTER, args.Holder());
@@ -96,7 +98,7 @@ CALLBACK_FUNC_DECL(NotificationCenterCreateHTMLNotification)
     return V8DOMWrapper::convertToV8Object(V8ClassIndex::NOTIFICATION, notification.get());
 }
 
-CALLBACK_FUNC_DECL(NotificationCenterCreateNotification)
+v8::Handle<v8::Value> V8NotificationCenter::createNotificationCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.NotificationCenter.CreateNotification()");
     NotificationCenter* notificationCenter = V8DOMWrapper::convertToNativeObject<NotificationCenter>(V8ClassIndex::NOTIFICATIONCENTER, args.Holder());
@@ -113,7 +115,7 @@ CALLBACK_FUNC_DECL(NotificationCenterCreateNotification)
     return V8DOMWrapper::convertToV8Object(V8ClassIndex::NOTIFICATION, notification.get());
 }
 
-CALLBACK_FUNC_DECL(NotificationCenterRequestPermission)
+v8::Handle<v8::Value> V8NotificationCenter::requestPermissionCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.NotificationCenter.RequestPermission()");
     NotificationCenter* notificationCenter = V8DOMWrapper::convertToNativeObject<NotificationCenter>(V8ClassIndex::NOTIFICATIONCENTER, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8SQLResultSetRowListCustom.cpp b/WebCore/bindings/v8/custom/V8SQLResultSetRowListCustom.cpp
index 73aae12..be90acf 100644
--- a/WebCore/bindings/v8/custom/V8SQLResultSetRowListCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8SQLResultSetRowListCustom.cpp
@@ -31,6 +31,7 @@
 #include "config.h"
 
 #if ENABLE(DATABASE)
+#include "V8SQLResultSetRowList.h"
 
 #include "SQLResultSetRowList.h"
 #include "V8Binding.h"
@@ -39,7 +40,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(SQLResultSetRowListItem)
+v8::Handle<v8::Value> V8SQLResultSetRowList::itemCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.SQLResultSetRowList.item()");
 
diff --git a/WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp b/WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp
index dc801bd..8dc940b 100644
--- a/WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp
@@ -32,6 +32,8 @@
 
 #if ENABLE(DATABASE)
 
+#include "V8SQLTransaction.h"
+
 #include "Database.h"
 #include "SQLValue.h"
 #include "V8Binding.h"
@@ -45,7 +47,7 @@ using namespace WTF;
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(SQLTransactionExecuteSql)
+v8::Handle<v8::Value> V8SQLTransaction::executeSqlCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.SQLTransaction.executeSql()");
 
diff --git a/WebCore/bindings/v8/custom/V8SVGElementInstanceCustom.cpp b/WebCore/bindings/v8/custom/V8SVGElementInstanceCustom.cpp
index dff4ff4..e3c5ddc 100644
--- a/WebCore/bindings/v8/custom/V8SVGElementInstanceCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8SVGElementInstanceCustom.cpp
@@ -31,10 +31,10 @@
 #include <config.h>
 
 #if ENABLE(SVG)
-
-#include "SVGElementInstance.h"
+#include "V8SVGElementInstance.h"
 
 #include "EventListener.h"
+#include "SVGElementInstance.h"
 
 #include "V8Binding.h"
 #include "V8CustomBinding.h"
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(SVGElementInstanceAddEventListener)
+v8::Handle<v8::Value> V8SVGElementInstance::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.SVGElementInstance.AddEventListener()");
     SVGElementInstance* instance = V8DOMWrapper::convertDOMWrapperToNative<SVGElementInstance>(args.Holder());
@@ -60,7 +60,7 @@ CALLBACK_FUNC_DECL(SVGElementInstanceAddEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(SVGElementInstanceRemoveEventListener)
+v8::Handle<v8::Value> V8SVGElementInstance::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.SVGElementInstance.RemoveEventListener()");
     SVGElementInstance* instance = V8DOMWrapper::convertDOMWrapperToNative<SVGElementInstance>(args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8SVGLengthCustom.cpp b/WebCore/bindings/v8/custom/V8SVGLengthCustom.cpp
index 9f75f5a..953a95d 100644
--- a/WebCore/bindings/v8/custom/V8SVGLengthCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8SVGLengthCustom.cpp
@@ -31,9 +31,9 @@
 #include <config.h>
 
 #if ENABLE(SVG)
+#include "V8SVGLength.h"
 
 #include "SVGLength.h"
-
 #include "V8Binding.h"
 #include "V8CustomBinding.h"
 #include "V8SVGPODTypeWrapper.h"
@@ -49,7 +49,7 @@ ACCESSOR_GETTER(SVGLengthValue)
     return v8::Number::New(imp.value(V8Proxy::svgContext(wrapper)));
 }
 
-CALLBACK_FUNC_DECL(SVGLengthConvertToSpecifiedUnits)
+v8::Handle<v8::Value> V8SVGLength::convertToSpecifiedUnitsCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.SVGLength.convertToSpecifiedUnits");
     V8SVGPODTypeWrapper<SVGLength>* wrapper = V8DOMWrapper::convertToNativeObject<V8SVGPODTypeWrapper<SVGLength> >(V8ClassIndex::SVGLENGTH, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8SVGMatrixCustom.cpp b/WebCore/bindings/v8/custom/V8SVGMatrixCustom.cpp
index 690eac1..a88166c 100644
--- a/WebCore/bindings/v8/custom/V8SVGMatrixCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8SVGMatrixCustom.cpp
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(SVGMatrixMultiply)
+v8::Handle<v8::Value> V8SVGMatrix::multiplyCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.SVGMatrix.multiply()");
     if (args.Length() < 1)
@@ -59,7 +59,7 @@ CALLBACK_FUNC_DECL(SVGMatrixMultiply)
     return V8DOMWrapper::convertToV8Object(V8ClassIndex::SVGMATRIX, V8SVGStaticPODTypeWrapper<TransformationMatrix>::create(m1.multLeft(m2)));
 }
 
-CALLBACK_FUNC_DECL(SVGMatrixInverse)
+v8::Handle<v8::Value> V8SVGMatrix::inverseCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.SVGMatrix.inverse()");
     TransformationMatrix matrix = *V8DOMWrapper::convertToNativeObject<V8SVGPODTypeWrapper<TransformationMatrix> >(V8ClassIndex::SVGMATRIX, args.Holder());
@@ -77,7 +77,7 @@ CALLBACK_FUNC_DECL(SVGMatrixInverse)
     return V8DOMWrapper::convertToV8Object(V8ClassIndex::SVGMATRIX, V8SVGStaticPODTypeWrapper<TransformationMatrix>::create(result));
 }
 
-CALLBACK_FUNC_DECL(SVGMatrixRotateFromVector)
+v8::Handle<v8::Value> V8SVGMatrix::rotateFromVectorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.SVGMatrix.rotateFromVector()");
     TransformationMatrix matrix = *V8DOMWrapper::convertToNativeObject<V8SVGPODTypeWrapper<TransformationMatrix> >(V8ClassIndex::SVGMATRIX, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8SharedWorkerCustom.cpp b/WebCore/bindings/v8/custom/V8SharedWorkerCustom.cpp
index de53ac7..14a13cc 100644
--- a/WebCore/bindings/v8/custom/V8SharedWorkerCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8SharedWorkerCustom.cpp
@@ -45,7 +45,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(SharedWorkerConstructor)
+v8::Handle<v8::Value> V8Custom::v8SharedWorkerConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.SharedWorker.Constructor");
 
diff --git a/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp b/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp
index 5052b7a..08a8088 100644
--- a/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8TreeWalkerCustom.cpp
@@ -29,10 +29,11 @@
  */
 
 #include "config.h"
-#include "TreeWalker.h"
+#include "V8TreeWalker.h"
 
 #include "Node.h"
 #include "ScriptState.h"
+#include "TreeWalker.h"
 
 #include "V8Binding.h"
 #include "V8CustomBinding.h"
@@ -54,7 +55,7 @@ static inline v8::Handle<v8::Value> toV8(PassRefPtr<Node> object, ScriptState* s
     return V8DOMWrapper::convertNodeToV8Object(object);
 }
 
-CALLBACK_FUNC_DECL(TreeWalkerParentNode)
+v8::Handle<v8::Value> V8TreeWalker::parentNodeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.TreeWalker.parentNode()");
     TreeWalker* treeWalker = V8DOMWrapper::convertToNativeObject<TreeWalker>(V8ClassIndex::TREEWALKER, args.Holder());
@@ -64,7 +65,7 @@ CALLBACK_FUNC_DECL(TreeWalkerParentNode)
     return toV8(result.release(), &state);
 }
 
-CALLBACK_FUNC_DECL(TreeWalkerFirstChild)
+v8::Handle<v8::Value> V8TreeWalker::firstChildCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.TreeWalker.firstChild()");
     TreeWalker* treeWalker = V8DOMWrapper::convertToNativeObject<TreeWalker>(V8ClassIndex::TREEWALKER, args.Holder());
@@ -74,7 +75,7 @@ CALLBACK_FUNC_DECL(TreeWalkerFirstChild)
     return toV8(result.release(), &state);
 }
 
-CALLBACK_FUNC_DECL(TreeWalkerLastChild)
+v8::Handle<v8::Value> V8TreeWalker::lastChildCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.TreeWalker.lastChild()");
     TreeWalker* treeWalker = V8DOMWrapper::convertToNativeObject<TreeWalker>(V8ClassIndex::TREEWALKER, args.Holder());
@@ -84,7 +85,7 @@ CALLBACK_FUNC_DECL(TreeWalkerLastChild)
     return toV8(result.release(), &state);
 }
 
-CALLBACK_FUNC_DECL(TreeWalkerNextNode)
+v8::Handle<v8::Value> V8TreeWalker::nextNodeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.TreeWalker.nextNode()");
     TreeWalker* treeWalker = V8DOMWrapper::convertToNativeObject<TreeWalker>(V8ClassIndex::TREEWALKER, args.Holder());
@@ -94,7 +95,7 @@ CALLBACK_FUNC_DECL(TreeWalkerNextNode)
     return toV8(result.release(), &state);
 }
 
-CALLBACK_FUNC_DECL(TreeWalkerPreviousNode)
+v8::Handle<v8::Value> V8TreeWalker::previousNodeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.TreeWalker.previousNode()");
     TreeWalker* treeWalker = V8DOMWrapper::convertToNativeObject<TreeWalker>(V8ClassIndex::TREEWALKER, args.Holder());
@@ -104,7 +105,7 @@ CALLBACK_FUNC_DECL(TreeWalkerPreviousNode)
     return toV8(result.release(), &state);
 }
 
-CALLBACK_FUNC_DECL(TreeWalkerNextSibling)
+v8::Handle<v8::Value> V8TreeWalker::nextSiblingCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.TreeWalker.nextSibling()");
     TreeWalker* treeWalker = V8DOMWrapper::convertToNativeObject<TreeWalker>(V8ClassIndex::TREEWALKER, args.Holder());
@@ -114,7 +115,7 @@ CALLBACK_FUNC_DECL(TreeWalkerNextSibling)
     return toV8(result.release(), &state);
 }
 
-CALLBACK_FUNC_DECL(TreeWalkerPreviousSibling)
+v8::Handle<v8::Value> V8TreeWalker::previousSiblingCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.TreeWalker.previousSibling()");
     TreeWalker* treeWalker = V8DOMWrapper::convertToNativeObject<TreeWalker>(V8ClassIndex::TREEWALKER, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp b/WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp
index 16a1f51..0f83d51 100644
--- a/WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp
@@ -41,7 +41,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebGLArrayBufferConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebGLArrayBufferConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLArrayBuffer.Constructor");
 
diff --git a/WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp b/WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp
index 5719c8a..7c75eba 100644
--- a/WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebGLByteArrayConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebGLByteArrayConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLByteArray.Contructor");
 
@@ -79,13 +79,13 @@ INDEXED_PROPERTY_SETTER(WebGLByteArray)
     return value;
 }
 
-CALLBACK_FUNC_DECL(WebGLByteArrayGet)
+v8::Handle<v8::Value> V8WebGLByteArray::getCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLByteArray.get()");
     return getWebGLArrayElement<WebGLByteArray, signed char>(args, V8ClassIndex::WEBGLBYTEARRAY);
 }
 
-CALLBACK_FUNC_DECL(WebGLByteArraySet)
+v8::Handle<v8::Value> V8WebGLByteArray::setCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLByteArray.set()");
     return setWebGLArray<WebGLByteArray, V8WebGLByteArray>(args, V8ClassIndex::WEBGLBYTEARRAY);
diff --git a/WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp b/WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp
index 6e56760..f06fe71 100644
--- a/WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebGLFloatArrayConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebGLFloatArrayConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLFloatArray.Contructor");
 
@@ -76,13 +76,13 @@ INDEXED_PROPERTY_SETTER(WebGLFloatArray)
     return value;
 }
 
-CALLBACK_FUNC_DECL(WebGLFloatArrayGet)
+v8::Handle<v8::Value> V8WebGLFloatArray::getCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLFloatArray.get()");
     return getWebGLArrayElement<WebGLFloatArray, float>(args, V8ClassIndex::WEBGLFLOATARRAY);
 }
 
-CALLBACK_FUNC_DECL(WebGLFloatArraySet)
+v8::Handle<v8::Value> V8WebGLFloatArray::setCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLFloatArray.set()");
     return setWebGLArray<WebGLFloatArray, V8WebGLFloatArray>(args, V8ClassIndex::WEBGLFLOATARRAY);
diff --git a/WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp b/WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp
index 1bd30b2..333c04a 100644
--- a/WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebGLIntArrayConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebGLIntArrayConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLIntArray.Contructor");
 
@@ -79,13 +79,13 @@ INDEXED_PROPERTY_SETTER(WebGLIntArray)
     return value;
 }
 
-CALLBACK_FUNC_DECL(WebGLIntArrayGet)
+v8::Handle<v8::Value> V8WebGLIntArray::getCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLIntArray.get()");
     return getWebGLArrayElement<WebGLIntArray, int>(args, V8ClassIndex::WEBGLINTARRAY);
 }
 
-CALLBACK_FUNC_DECL(WebGLIntArraySet)
+v8::Handle<v8::Value> V8WebGLIntArray::setCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLIntArray.set()");
     return setWebGLArray<WebGLIntArray, V8WebGLIntArray>(args, V8ClassIndex::WEBGLINTARRAY);
diff --git a/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp b/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp
index fd73a5b..31b0c9d 100644
--- a/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp
@@ -32,7 +32,7 @@
 
 #if ENABLE(3D_CANVAS)
 
-#include "WebGLRenderingContext.h"
+#include "V8WebGLRenderingContext.h"
 
 #include "ExceptionCode.h"
 
@@ -55,6 +55,7 @@
 #include "V8HTMLCanvasElement.h"
 #include "V8HTMLImageElement.h"
 #include "V8Proxy.h"
+#include "WebGLRenderingContext.h"
 
 namespace WebCore {
 
@@ -98,7 +99,7 @@ static int* jsArrayToIntArray(v8::Handle<v8::Array> array, uint32_t len)
     return data;
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextBufferData)
+v8::Handle<v8::Value> V8WebGLRenderingContext::bufferDataCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.bufferData()");
 
@@ -140,7 +141,7 @@ CALLBACK_FUNC_DECL(WebGLRenderingContextBufferData)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextBufferSubData)
+v8::Handle<v8::Value> V8WebGLRenderingContext::bufferSubDataCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.bufferSubData()");
 
@@ -280,13 +281,13 @@ enum WhichProgramCall {
     kProgramParameter, kUniform
 };
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextGetBufferParameter)
+v8::Handle<v8::Value> V8WebGLRenderingContext::getBufferParameterCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.getBufferParameter()");
     return getObjectParameter(args, kBuffer);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextGetFramebufferAttachmentParameter)
+v8::Handle<v8::Value> V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.getFramebufferAttachmentParameter()");
 
@@ -322,7 +323,7 @@ CALLBACK_FUNC_DECL(WebGLRenderingContextGetFramebufferAttachmentParameter)
     return toV8(info);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextGetParameter)
+v8::Handle<v8::Value> V8WebGLRenderingContext::getParameterCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.getParameter()");
 
@@ -348,7 +349,7 @@ CALLBACK_FUNC_DECL(WebGLRenderingContextGetParameter)
     return toV8(info);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextGetProgramParameter)
+v8::Handle<v8::Value> V8WebGLRenderingContext::getProgramParameterCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.getProgramParameter()");
 
@@ -375,13 +376,13 @@ CALLBACK_FUNC_DECL(WebGLRenderingContextGetProgramParameter)
     return toV8(info);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextGetRenderbufferParameter)
+v8::Handle<v8::Value> V8WebGLRenderingContext::getRenderbufferParameterCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.getRenderbufferParameter()");
     return getObjectParameter(args, kRenderbuffer);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextGetShaderParameter)
+v8::Handle<v8::Value> V8WebGLRenderingContext::getShaderParameterCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.getShaderParameter()");
 
@@ -408,13 +409,13 @@ CALLBACK_FUNC_DECL(WebGLRenderingContextGetShaderParameter)
     return toV8(info);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextGetTexParameter)
+v8::Handle<v8::Value> V8WebGLRenderingContext::getTexParameterCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.getTexParameter()");
     return getObjectParameter(args, kTexture);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextGetUniform)
+v8::Handle<v8::Value> V8WebGLRenderingContext::getUniformCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.getUniform()");
 
@@ -443,13 +444,13 @@ CALLBACK_FUNC_DECL(WebGLRenderingContextGetUniform)
     return toV8(info);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextGetVertexAttrib)
+v8::Handle<v8::Value> V8WebGLRenderingContext::getVertexAttribCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.getVertexAttrib()");
     return getObjectParameter(args, kVertexAttrib);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextTexImage2D)
+v8::Handle<v8::Value> V8WebGLRenderingContext::texImage2DCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.texImage2D()");
 
@@ -571,7 +572,7 @@ CALLBACK_FUNC_DECL(WebGLRenderingContextTexImage2D)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextTexSubImage2D)
+v8::Handle<v8::Value> V8WebGLRenderingContext::texSubImage2DCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.texSubImage2D()");
 
@@ -763,49 +764,49 @@ static v8::Handle<v8::Value> uniformHelperi(const v8::Arguments& args,
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniform1fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniform1fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniform1fv()");
     return vertexAttribAndUniformHelperf(args, kUniform1v);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniform1iv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniform1ivCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniform1iv()");
     return uniformHelperi(args, kUniform1v);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniform2fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniform2fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniform2fv()");
     return vertexAttribAndUniformHelperf(args, kUniform2v);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniform2iv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniform2ivCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniform2iv()");
     return uniformHelperi(args, kUniform2v);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniform3fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniform3fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniform3fv()");
     return vertexAttribAndUniformHelperf(args, kUniform3v);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniform3iv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniform3ivCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniform3iv()");
     return uniformHelperi(args, kUniform3v);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniform4fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniform4fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniform4fv()");
     return vertexAttribAndUniformHelperf(args, kUniform4v);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniform4iv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniform4ivCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniform4iv()");
     return uniformHelperi(args, kUniform4v);
@@ -881,43 +882,43 @@ static v8::Handle<v8::Value> uniformMatrixHelper(const v8::Arguments& args,
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniformMatrix2fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniformMatrix2fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniformMatrix2fv()");
     return uniformMatrixHelper(args, 2);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniformMatrix3fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniformMatrix3fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniformMatrix3fv()");
     return uniformMatrixHelper(args, 3);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextUniformMatrix4fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::uniformMatrix4fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.uniformMatrix4fv()");
     return uniformMatrixHelper(args, 4);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextVertexAttrib1fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::vertexAttrib1fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.vertexAttrib1fv()");
     return vertexAttribAndUniformHelperf(args, kVertexAttrib1v);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextVertexAttrib2fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::vertexAttrib2fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.vertexAttrib2fv()");
     return vertexAttribAndUniformHelperf(args, kVertexAttrib2v);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextVertexAttrib3fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::vertexAttrib3fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.vertexAttrib3fv()");
     return vertexAttribAndUniformHelperf(args, kVertexAttrib3v);
 }
 
-CALLBACK_FUNC_DECL(WebGLRenderingContextVertexAttrib4fv)
+v8::Handle<v8::Value> V8WebGLRenderingContext::vertexAttrib4fvCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLRenderingContext.vertexAttrib4fv()");
     return vertexAttribAndUniformHelperf(args, kVertexAttrib4v);
diff --git a/WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp b/WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp
index f8a26c3..a0a2c30 100644
--- a/WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebGLShortArrayConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebGLShortArrayConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLShortArray.Contructor");
 
@@ -79,13 +79,13 @@ INDEXED_PROPERTY_SETTER(WebGLShortArray)
     return value;
 }
 
-CALLBACK_FUNC_DECL(WebGLShortArrayGet)
+v8::Handle<v8::Value> V8WebGLShortArray::getCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLShortArray.get()");
     return getWebGLArrayElement<WebGLShortArray, short>(args, V8ClassIndex::WEBGLSHORTARRAY);
 }
 
-CALLBACK_FUNC_DECL(WebGLShortArraySet)
+v8::Handle<v8::Value> V8WebGLShortArray::setCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLShortArray.set()");
     return setWebGLArray<WebGLShortArray, V8WebGLShortArray>(args, V8ClassIndex::WEBGLSHORTARRAY);
diff --git a/WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp b/WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp
index 391f213..e4d4d99 100644
--- a/WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebGLUnsignedByteArrayConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebGLUnsignedByteArrayConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLUnsignedByteArray.Contructor");
 
@@ -79,13 +79,13 @@ INDEXED_PROPERTY_SETTER(WebGLUnsignedByteArray)
     return value;
 }
 
-CALLBACK_FUNC_DECL(WebGLUnsignedByteArrayGet)
+v8::Handle<v8::Value> V8WebGLUnsignedByteArray::getCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLUnsignedByteArray.get()");
     return getWebGLArrayElement<WebGLUnsignedByteArray, unsigned char>(args, V8ClassIndex::WEBGLUNSIGNEDBYTEARRAY);
 }
 
-CALLBACK_FUNC_DECL(WebGLUnsignedByteArraySet)
+v8::Handle<v8::Value> V8WebGLUnsignedByteArray::setCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLUnsignedByteArray.set()");
     return setWebGLArray<WebGLUnsignedByteArray, V8WebGLUnsignedByteArray>(args, V8ClassIndex::WEBGLUNSIGNEDBYTEARRAY);
diff --git a/WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp b/WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp
index 92b9fe0..5a119d5 100644
--- a/WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebGLUnsignedIntArrayConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebGLUnsignedIntArrayConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLUnsignedIntArray.Contructor");
 
@@ -79,13 +79,13 @@ INDEXED_PROPERTY_SETTER(WebGLUnsignedIntArray)
     return value;
 }
 
-CALLBACK_FUNC_DECL(WebGLUnsignedIntArrayGet)
+v8::Handle<v8::Value> V8WebGLUnsignedIntArray::getCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLUnsignedIntArray.get()");
     return getWebGLArrayElement<WebGLUnsignedIntArray, unsigned int>(args, V8ClassIndex::WEBGLUNSIGNEDINTARRAY);
 }
 
-CALLBACK_FUNC_DECL(WebGLUnsignedIntArraySet)
+v8::Handle<v8::Value> V8WebGLUnsignedIntArray::setCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLUnsignedIntArray.set()");
     return setWebGLArray<WebGLUnsignedIntArray, V8WebGLUnsignedIntArray>(args, V8ClassIndex::WEBGLUNSIGNEDINTARRAY);
diff --git a/WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp b/WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp
index ce261e9..2882ebe 100644
--- a/WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebGLUnsignedShortArrayConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebGLUnsignedShortArrayConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLUnsignedShortArray.Contructor");
 
@@ -79,13 +79,13 @@ INDEXED_PROPERTY_SETTER(WebGLUnsignedShortArray)
     return value;
 }
 
-CALLBACK_FUNC_DECL(WebGLUnsignedShortArrayGet)
+v8::Handle<v8::Value> V8WebGLUnsignedShortArray::getCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLUnsignedShortArray.get()");
     return getWebGLArrayElement<WebGLUnsignedShortArray, unsigned short>(args, V8ClassIndex::WEBGLUNSIGNEDSHORTARRAY);
 }
 
-CALLBACK_FUNC_DECL(WebGLUnsignedShortArraySet)
+v8::Handle<v8::Value> V8WebGLUnsignedShortArray::setCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebGLUnsignedShortArray.set()");
     return setWebGLArray<WebGLUnsignedShortArray, V8WebGLUnsignedShortArray>(args, V8ClassIndex::WEBGLUNSIGNEDSHORTARRAY);
diff --git a/WebCore/bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp b/WebCore/bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp
index 4819064..de8868e 100644
--- a/WebCore/bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp
+++ b/WebCore/bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp
@@ -44,7 +44,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebKitCSSMatrixConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebKitCSSMatrixConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebKitCSSMatrix.Constructor");
 
diff --git a/WebCore/bindings/v8/custom/V8WebKitPointConstructor.cpp b/WebCore/bindings/v8/custom/V8WebKitPointConstructor.cpp
index b2a807d..0ad6527 100644
--- a/WebCore/bindings/v8/custom/V8WebKitPointConstructor.cpp
+++ b/WebCore/bindings/v8/custom/V8WebKitPointConstructor.cpp
@@ -41,7 +41,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebKitPointConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebKitPointConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebKitPoint.Constructor");
     float x = 0;
diff --git a/WebCore/bindings/v8/custom/V8WebSocketCustom.cpp b/WebCore/bindings/v8/custom/V8WebSocketCustom.cpp
index b20635b..ef1ae7b 100644
--- a/WebCore/bindings/v8/custom/V8WebSocketCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WebSocketCustom.cpp
@@ -32,19 +32,20 @@
 
 #if ENABLE(WEB_SOCKETS)
 
-#include "WebSocket.h"
+#include "V8WebSocket.h"
 
 #include "Frame.h"
 #include "Settings.h"
 #include "V8Binding.h"
 #include "V8Proxy.h"
 #include "V8Utilities.h"
+#include "WebSocket.h"
 #include "WorkerContext.h"
 #include "WorkerContextExecutionProxy.h"
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WebSocketAddEventListener)
+v8::Handle<v8::Value> V8WebSocket::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebSocket.addEventListener()");
     WebSocket* webSocket = V8DOMWrapper::convertToNativeObject<WebSocket>(V8ClassIndex::WEBSOCKET, args.Holder());
@@ -60,7 +61,7 @@ CALLBACK_FUNC_DECL(WebSocketAddEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(WebSocketRemoveEventListener)
+v8::Handle<v8::Value> V8WebSocket::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebSocket.removeEventListener()");
     WebSocket* webSocket = V8DOMWrapper::convertToNativeObject<WebSocket>(V8ClassIndex::WEBSOCKET, args.Holder());
@@ -75,7 +76,7 @@ CALLBACK_FUNC_DECL(WebSocketRemoveEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(WebSocketConstructor)
+v8::Handle<v8::Value> V8Custom::v8WebSocketConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebSocket.Constructor");
 
@@ -128,7 +129,7 @@ CALLBACK_FUNC_DECL(WebSocketConstructor)
     return args.Holder();
 }
 
-CALLBACK_FUNC_DECL(WebSocketSend)
+v8::Handle<v8::Value> V8WebSocket::sendCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebSocket.send()");
     WebSocket* webSocket = V8DOMWrapper::convertToNativeObject<WebSocket>(V8ClassIndex::WEBSOCKET, args.Holder());
@@ -146,7 +147,7 @@ CALLBACK_FUNC_DECL(WebSocketSend)
     return v8Boolean(ret);
 }
 
-CALLBACK_FUNC_DECL(WebSocketClose)
+v8::Handle<v8::Value> V8WebSocket::closeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.WebSocket.close()");
     WebSocket* webSocket = V8DOMWrapper::convertToNativeObject<WebSocket>(V8ClassIndex::WEBSOCKET, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp b/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp
index 9b68ac0..c719c7a 100644
--- a/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp
@@ -31,6 +31,7 @@
 #include "config.h"
 
 #if ENABLE(WORKERS)
+#include "V8WorkerContext.h"
 
 #include "DOMTimer.h"
 #include "ExceptionCode.h"
@@ -94,7 +95,7 @@ v8::Handle<v8::Value> SetTimeoutOrInterval(const v8::Arguments& args, bool singl
     return v8::Integer::New(timerId);
 }
 
-CALLBACK_FUNC_DECL(WorkerContextImportScripts)
+v8::Handle<v8::Value> V8WorkerContext::importScriptsCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.WorkerContext.importScripts()");
     if (!args.Length())
@@ -128,19 +129,19 @@ CALLBACK_FUNC_DECL(WorkerContextImportScripts)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(WorkerContextSetTimeout)
+v8::Handle<v8::Value> V8WorkerContext::setTimeoutCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.WorkerContext.setTimeout()");
     return SetTimeoutOrInterval(args, true);
 }
 
-CALLBACK_FUNC_DECL(WorkerContextSetInterval)
+v8::Handle<v8::Value> V8WorkerContext::setIntervalCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.WorkerContext.setInterval()");
     return SetTimeoutOrInterval(args, false);
 }
 
-CALLBACK_FUNC_DECL(WorkerContextAddEventListener)
+v8::Handle<v8::Value> V8WorkerContext::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.WorkerContext.addEventListener()");
     WorkerContext* workerContext = V8DOMWrapper::convertDOMWrapperToNative<WorkerContext>(args.Holder());
@@ -156,7 +157,7 @@ CALLBACK_FUNC_DECL(WorkerContextAddEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(WorkerContextRemoveEventListener)
+v8::Handle<v8::Value> V8WorkerContext::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.WorkerContext.removeEventListener()");
     WorkerContext* workerContext = V8DOMWrapper::convertDOMWrapperToNative<WorkerContext>(args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8WorkerCustom.cpp b/WebCore/bindings/v8/custom/V8WorkerCustom.cpp
index 454e41f..1cbe0a5 100644
--- a/WebCore/bindings/v8/custom/V8WorkerCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WorkerCustom.cpp
@@ -31,6 +31,7 @@
 #include "config.h"
 
 #if ENABLE(WORKERS)
+#include "V8Worker.h"
 
 #include "Worker.h"
 
@@ -47,7 +48,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(WorkerConstructor)
+v8::Handle<v8::Value> V8Custom::v8WorkerConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS(L"DOM.Worker.Constructor");
 
@@ -87,7 +88,7 @@ CALLBACK_FUNC_DECL(WorkerConstructor)
     return wrapperObject;
 }
 
-CALLBACK_FUNC_DECL(WorkerPostMessage)
+v8::Handle<v8::Value> V8Worker::postMessageCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.Worker.postMessage");
     Worker* worker = V8DOMWrapper::convertToNativeObject<Worker>(V8ClassIndex::WORKER, args.Holder());
diff --git a/WebCore/bindings/v8/custom/V8XMLHttpRequestConstructor.cpp b/WebCore/bindings/v8/custom/V8XMLHttpRequestConstructor.cpp
index af647cd..c54304e 100644
--- a/WebCore/bindings/v8/custom/V8XMLHttpRequestConstructor.cpp
+++ b/WebCore/bindings/v8/custom/V8XMLHttpRequestConstructor.cpp
@@ -29,6 +29,7 @@
  */
 
 #include "config.h"
+#include "V8XMLHttpRequest.h"
 
 #include "Frame.h"
 #include "V8Binding.h"
@@ -41,7 +42,7 @@
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(XMLHttpRequestConstructor)
+v8::Handle<v8::Value> V8Custom::v8XMLHttpRequestConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequest.Constructor");
 
diff --git a/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp b/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp
index c3e4645..97ecd86 100644
--- a/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp
@@ -29,7 +29,7 @@
  */
 
 #include "config.h"
-#include "XMLHttpRequest.h"
+#include "V8XMLHttpRequest.h"
 
 #include "Frame.h"
 #include "V8Binding.h"
@@ -41,6 +41,7 @@
 #include "V8Utilities.h"
 #include "WorkerContext.h"
 #include "WorkerContextExecutionProxy.h"
+#include "XMLHttpRequest.h"
 
 namespace WebCore {
 
@@ -51,7 +52,7 @@ ACCESSOR_GETTER(XMLHttpRequestResponseText)
     return xmlHttpRequest->responseText().v8StringOrNull();
 }
 
-CALLBACK_FUNC_DECL(XMLHttpRequestAddEventListener)
+v8::Handle<v8::Value> V8XMLHttpRequest::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequest.addEventListener()");
     XMLHttpRequest* xmlHttpRequest = V8DOMWrapper::convertToNativeObject<XMLHttpRequest>(V8ClassIndex::XMLHTTPREQUEST, args.Holder());
@@ -67,7 +68,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestAddEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(XMLHttpRequestRemoveEventListener)
+v8::Handle<v8::Value> V8XMLHttpRequest::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequest.removeEventListener()");
     XMLHttpRequest* xmlHttpRequest = V8DOMWrapper::convertToNativeObject<XMLHttpRequest>(V8ClassIndex::XMLHTTPREQUEST, args.Holder());
@@ -84,7 +85,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestRemoveEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(XMLHttpRequestOpen)
+v8::Handle<v8::Value> V8XMLHttpRequest::openCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequest.open()");
     // Four cases:
@@ -133,7 +134,7 @@ static bool IsDocumentType(v8::Handle<v8::Value> value)
     return V8Document::HasInstance(value) || V8HTMLDocument::HasInstance(value);
 }
 
-CALLBACK_FUNC_DECL(XMLHttpRequestSend)
+v8::Handle<v8::Value> V8XMLHttpRequest::sendCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequest.send()");
     XMLHttpRequest* xmlHttpRequest = V8DOMWrapper::convertToNativeObject<XMLHttpRequest>(V8ClassIndex::XMLHTTPREQUEST, args.Holder());
@@ -163,7 +164,8 @@ CALLBACK_FUNC_DECL(XMLHttpRequestSend)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(XMLHttpRequestSetRequestHeader) {
+v8::Handle<v8::Value> V8XMLHttpRequest::setRequestHeaderCallback(const v8::Arguments& args)
+{
     INC_STATS("DOM.XMLHttpRequest.setRequestHeader()");
     if (args.Length() < 2)
         return throwError("Not enough arguments", V8Proxy::SyntaxError);
@@ -178,7 +180,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestSetRequestHeader) {
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(XMLHttpRequestGetResponseHeader)
+v8::Handle<v8::Value> V8XMLHttpRequest::getResponseHeaderCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequest.getResponseHeader()");
     if (args.Length() < 1)
@@ -193,7 +195,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestGetResponseHeader)
     return v8StringOrNull(result);
 }
 
-CALLBACK_FUNC_DECL(XMLHttpRequestOverrideMimeType)
+v8::Handle<v8::Value> V8XMLHttpRequest::overrideMimeTypeCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequest.overrideMimeType()");
     if (args.Length() < 1)
@@ -205,7 +207,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestOverrideMimeType)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(XMLHttpRequestDispatchEvent)
+v8::Handle<v8::Value> V8XMLHttpRequest::dispatchEventCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequest.dispatchEvent()");
     return v8::Undefined();
diff --git a/WebCore/bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp b/WebCore/bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp
index 9323f71..2d00729 100644
--- a/WebCore/bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp
@@ -29,7 +29,7 @@
  */
 
 #include "config.h"
-#include "XMLHttpRequestUpload.h"
+#include "V8XMLHttpRequestUpload.h"
 
 #include "ExceptionCode.h"
 #include "V8Binding.h"
@@ -37,12 +37,13 @@
 #include "V8Proxy.h"
 #include "V8Utilities.h"
 #include "XMLHttpRequest.h"
+#include "XMLHttpRequestUpload.h"
 
 #include <wtf/Assertions.h>
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(XMLHttpRequestUploadAddEventListener)
+v8::Handle<v8::Value> V8XMLHttpRequestUpload::addEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequestUpload.addEventListener()");
     XMLHttpRequestUpload* xmlHttpRequestUpload = V8DOMWrapper::convertToNativeObject<XMLHttpRequestUpload>(V8ClassIndex::XMLHTTPREQUESTUPLOAD, args.Holder());
@@ -60,7 +61,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestUploadAddEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(XMLHttpRequestUploadRemoveEventListener)
+v8::Handle<v8::Value> V8XMLHttpRequestUpload::removeEventListenerCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequestUpload.removeEventListener()");
     XMLHttpRequestUpload* xmlHttpRequestUpload = V8DOMWrapper::convertToNativeObject<XMLHttpRequestUpload>(V8ClassIndex::XMLHTTPREQUESTUPLOAD, args.Holder());
@@ -79,7 +80,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestUploadRemoveEventListener)
     return v8::Undefined();
 }
 
-CALLBACK_FUNC_DECL(XMLHttpRequestUploadDispatchEvent)
+v8::Handle<v8::Value> V8XMLHttpRequestUpload::dispatchEventCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLHttpRequestUpload.dispatchEvent()");
     return throwError(NOT_SUPPORTED_ERR);
diff --git a/WebCore/bindings/v8/custom/V8XMLSerializerConstructor.cpp b/WebCore/bindings/v8/custom/V8XMLSerializerConstructor.cpp
index dd1c3ad..6b457cf 100644
--- a/WebCore/bindings/v8/custom/V8XMLSerializerConstructor.cpp
+++ b/WebCore/bindings/v8/custom/V8XMLSerializerConstructor.cpp
@@ -29,14 +29,15 @@
  */
 
 #include "config.h"
-#include "XMLSerializer.h"
+#include "V8XMLSerializer.h"
 
 #include "V8Binding.h"
 #include "V8Proxy.h"
+#include "XMLSerializer.h"
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(XMLSerializerConstructor)
+v8::Handle<v8::Value> V8Custom::v8XMLSerializerConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XMLSerializer.Constructor");
     return V8Proxy::constructDOMObject<V8ClassIndex::XMLSERIALIZER, XMLSerializer>(args);
diff --git a/WebCore/bindings/v8/custom/V8XPathEvaluatorConstructor.cpp b/WebCore/bindings/v8/custom/V8XPathEvaluatorConstructor.cpp
index 69a8635..3517dff 100644
--- a/WebCore/bindings/v8/custom/V8XPathEvaluatorConstructor.cpp
+++ b/WebCore/bindings/v8/custom/V8XPathEvaluatorConstructor.cpp
@@ -29,14 +29,15 @@
  */
 
 #include "config.h"
-#include "XPathEvaluator.h"
+#include "V8XPathEvaluator.h"
 
 #include "V8Binding.h"
 #include "V8Proxy.h"
+#include "XPathEvaluator.h"
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(XPathEvaluatorConstructor)
+v8::Handle<v8::Value> V8Custom::v8XPathEvaluatorConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XPathEvaluator.Constructor");
     return V8Proxy::constructDOMObject<V8ClassIndex::XPATHEVALUATOR, XPathEvaluator>(args);
diff --git a/WebCore/bindings/v8/custom/V8XSLTProcessorCustom.cpp b/WebCore/bindings/v8/custom/V8XSLTProcessorCustom.cpp
index 1ad7d4a..47b802e 100644
--- a/WebCore/bindings/v8/custom/V8XSLTProcessorCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8XSLTProcessorCustom.cpp
@@ -29,7 +29,7 @@
  */
 
 #include "config.h"
-#include "XSLTProcessor.h"
+#include "V8XSLTProcessor.h"
 
 #include "Document.h"
 #include "DocumentFragment.h"
@@ -40,19 +40,20 @@
 #include "V8Document.h"
 #include "V8Node.h"
 #include "V8Proxy.h"
+#include "XSLTProcessor.h"
 
 #include <wtf/RefPtr.h>
 
 namespace WebCore {
 
-CALLBACK_FUNC_DECL(XSLTProcessorConstructor)
+v8::Handle<v8::Value> V8Custom::v8XSLTProcessorConstructorCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XSLTProcessor.Constructor");
     return V8Proxy::constructDOMObject<V8ClassIndex::XSLTPROCESSOR, XSLTProcessor>(args);
 }
 
 
-CALLBACK_FUNC_DECL(XSLTProcessorImportStylesheet)
+v8::Handle<v8::Value> V8XSLTProcessor::importStylesheetCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XSLTProcessor.importStylesheet");
     if (!V8Node::HasInstance(args[0]))
@@ -66,7 +67,7 @@ CALLBACK_FUNC_DECL(XSLTProcessorImportStylesheet)
 }
 
 
-CALLBACK_FUNC_DECL(XSLTProcessorTransformToFragment)
+v8::Handle<v8::Value> V8XSLTProcessor::transformToFragmentCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XSLTProcessor.transformToFragment");
     if (!V8Node::HasInstance(args[0]) || !V8Document::HasInstance(args[1]))
@@ -81,7 +82,7 @@ CALLBACK_FUNC_DECL(XSLTProcessorTransformToFragment)
 }
 
 
-CALLBACK_FUNC_DECL(XSLTProcessorTransformToDocument)
+v8::Handle<v8::Value> V8XSLTProcessor::transformToDocumentCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XSLTProcessor.transformToDocument");
 
@@ -102,7 +103,7 @@ CALLBACK_FUNC_DECL(XSLTProcessorTransformToDocument)
 }
 
 
-CALLBACK_FUNC_DECL(XSLTProcessorSetParameter)
+v8::Handle<v8::Value> V8XSLTProcessor::setParameterCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XSLTProcessor.setParameter");
     if (isUndefinedOrNull(args[1]) || isUndefinedOrNull(args[2]))
@@ -119,7 +120,7 @@ CALLBACK_FUNC_DECL(XSLTProcessorSetParameter)
 }
 
 
-CALLBACK_FUNC_DECL(XSLTProcessorGetParameter)
+v8::Handle<v8::Value> V8XSLTProcessor::getParameterCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XSLTProcessor.getParameter");
     if (isUndefinedOrNull(args[1]))
@@ -136,7 +137,7 @@ CALLBACK_FUNC_DECL(XSLTProcessorGetParameter)
     return v8String(result);
 }
 
-CALLBACK_FUNC_DECL(XSLTProcessorRemoveParameter)
+v8::Handle<v8::Value> V8XSLTProcessor::removeParameterCallback(const v8::Arguments& args)
 {
     INC_STATS("DOM.XSLTProcessor.removeParameter");
     if (isUndefinedOrNull(args[1]))

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list