WebCore:
authorbfulgham@webkit.org <bfulgham@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Jul 2009 20:08:50 +0000 (20:08 +0000)
committerbfulgham@webkit.org <bfulgham@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Jul 2009 20:08:50 +0000 (20:08 +0000)
2009-07-15  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Test: fast/js/instanceof-operator.html

        Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
        https://bugs.webkit.org/show_bug.cgi?id=25205

        In addition to for XMLHttpRequest, this also fixes for:
        - Audio
        - Image
        - MessageChannel
        - Option
        - WebKitCSSMatrix
        - WebKitPoint
        - Worker
        - XSLTProcessor

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSAudioConstructor.h:
        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMConstructorObject::createStructure):
        (WebCore::DOMConstructorObject::DOMConstructorObject):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor):
        * bindings/js/JSImageConstructor.h:
        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
        * bindings/js/JSMessageChannelConstructor.h:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSOptionConstructor.h:
        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
        * bindings/js/JSWebKitCSSMatrixConstructor.h:
        * bindings/js/JSWebKitPointConstructor.cpp:
        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
        * bindings/js/JSWebKitPointConstructor.h:
        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::JSWorkerConstructor::JSWorkerConstructor):
        * bindings/js/JSWorkerConstructor.h:
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
        * bindings/js/JSXMLHttpRequestConstructor.h:
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
        * bindings/js/JSXSLTProcessorConstructor.h:

LayoutTests:

2009-07-15  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
        https://bugs.webkit.org/show_bug.cgi?id=25205

        In addition to for XMLHttpRequest, this also fixes for:
        - Audio
        - Image
        - MessageChannel
        - Option
        - WebKitCSSMatrix
        - WebKitPoint
        - Worker
        - XSLTProcessor

        * fast/js/instanceof-operator-expected.txt: Added.
        * fast/js/instanceof-operator.html: Added.
        * fast/js/resources/instanceof-operator-dummy-worker.js: Added.
        * fast/js/resources/instanceof-operator.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@45938 268f45cc-cd09-0410-ab3c-d52691b4dbfc

25 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/js/instanceof-operator-expected.txt [new file with mode: 0644]
LayoutTests/fast/js/instanceof-operator.html [new file with mode: 0644]
LayoutTests/fast/js/resources/instanceof-operator-dummy-worker.js [new file with mode: 0644]
LayoutTests/fast/js/resources/instanceof-operator.js [new file with mode: 0644]
WebCore/ChangeLog
WebCore/bindings/js/JSAudioConstructor.cpp
WebCore/bindings/js/JSAudioConstructor.h
WebCore/bindings/js/JSDOMBinding.h
WebCore/bindings/js/JSImageConstructor.cpp
WebCore/bindings/js/JSImageConstructor.h
WebCore/bindings/js/JSMessageChannelConstructor.cpp
WebCore/bindings/js/JSMessageChannelConstructor.h
WebCore/bindings/js/JSOptionConstructor.cpp
WebCore/bindings/js/JSOptionConstructor.h
WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp
WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h
WebCore/bindings/js/JSWebKitPointConstructor.cpp
WebCore/bindings/js/JSWebKitPointConstructor.h
WebCore/bindings/js/JSWorkerConstructor.cpp
WebCore/bindings/js/JSWorkerConstructor.h
WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp
WebCore/bindings/js/JSXMLHttpRequestConstructor.h
WebCore/bindings/js/JSXSLTProcessorConstructor.cpp
WebCore/bindings/js/JSXSLTProcessorConstructor.h

index 6569243..2a45495 100644 (file)
@@ -1,3 +1,25 @@
+2009-07-15  Yuzo Fujishima  <yuzo@google.com>
+
+        Reviewed by Darin Adler.
+
+        Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
+        https://bugs.webkit.org/show_bug.cgi?id=25205
+
+        In addition to for XMLHttpRequest, this also fixes for:
+        - Audio
+        - Image
+        - MessageChannel
+        - Option
+        - WebKitCSSMatrix
+        - WebKitPoint
+        - Worker
+        - XSLTProcessor
+
+        * fast/js/instanceof-operator-expected.txt: Added.
+        * fast/js/instanceof-operator.html: Added.
+        * fast/js/resources/instanceof-operator-dummy-worker.js: Added.
+        * fast/js/resources/instanceof-operator.js: Added.
+
 2009-07-15  Kai Br\9fning  <kai@granus.net>
 
         Reviewed by Dave Hyatt.
diff --git a/LayoutTests/fast/js/instanceof-operator-expected.txt b/LayoutTests/fast/js/instanceof-operator-expected.txt
new file mode 100644 (file)
index 0000000..940f5cc
--- /dev/null
@@ -0,0 +1,25 @@
+instanceof XMLHttpRequest test
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS (new Audio()) instanceof Audio is true
+PASS (new Array()) instanceof Audio is false
+PASS (new Image()) instanceof Image is true
+PASS (new Array()) instanceof Image is false
+PASS (new Option()) instanceof Option is true
+PASS (new Array()) instanceof Option is false
+PASS (new WebKitCSSMatrix()) instanceof WebKitCSSMatrix is true
+PASS (new Array()) instanceof WebKitCSSMatrix is false
+PASS (new WebKitPoint()) instanceof WebKitPoint is true
+PASS (new Array()) instanceof WebKitPoint is false
+PASS (new Worker('instanceof-operator-dummy-worker.js')) instanceof Worker is true
+PASS (new Array()) instanceof Worker is false
+PASS (new XMLHttpRequest()) instanceof XMLHttpRequest is true
+PASS (new Array()) instanceof XMLHttpRequest is false
+PASS (new XSLTProcessor()) instanceof XSLTProcessor is true
+PASS (new Array()) instanceof XSLTProcessor is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/js/instanceof-operator.html b/LayoutTests/fast/js/instanceof-operator.html
new file mode 100644 (file)
index 0000000..2854e15
--- /dev/null
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="resources/js-test-style.css">
+<script src="resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/instanceof-operator.js"></script>
+<script src="resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/js/resources/instanceof-operator-dummy-worker.js b/LayoutTests/fast/js/resources/instanceof-operator-dummy-worker.js
new file mode 100644 (file)
index 0000000..9a65dba
--- /dev/null
@@ -0,0 +1 @@
+// Empty JavaScript file.
diff --git a/LayoutTests/fast/js/resources/instanceof-operator.js b/LayoutTests/fast/js/resources/instanceof-operator.js
new file mode 100644 (file)
index 0000000..4e92621
--- /dev/null
@@ -0,0 +1,33 @@
+description(
+"instanceof XMLHttpRequest test"
+);
+
+shouldBeTrue("(new Audio()) instanceof Audio");
+shouldBeFalse("(new Array()) instanceof Audio");
+
+shouldBeTrue("(new Image()) instanceof Image");
+shouldBeFalse("(new Array()) instanceof Image");
+
+// MessageChannel is not available yet.
+//shouldBeTrue("(new MessageChannel()) instanceof MessageChannel");
+//shouldBeFalse("(new Array()) instanceof MessageChannel");
+
+shouldBeTrue("(new Option()) instanceof Option");
+shouldBeFalse("(new Array()) instanceof Option");
+
+shouldBeTrue("(new WebKitCSSMatrix()) instanceof WebKitCSSMatrix");
+shouldBeFalse("(new Array()) instanceof WebKitCSSMatrix");
+
+shouldBeTrue("(new WebKitPoint()) instanceof WebKitPoint");
+shouldBeFalse("(new Array()) instanceof WebKitPoint");
+
+shouldBeTrue("(new Worker('instanceof-operator-dummy-worker.js')) instanceof Worker");
+shouldBeFalse("(new Array()) instanceof Worker");
+
+shouldBeTrue("(new XMLHttpRequest()) instanceof XMLHttpRequest")
+shouldBeFalse("(new Array()) instanceof XMLHttpRequest")
+
+shouldBeTrue("(new XSLTProcessor()) instanceof XSLTProcessor");
+shouldBeFalse("(new Array()) instanceof XSLTProcessor");
+
+var successfullyParsed = true;
index 1a5d82a..06e41d2 100644 (file)
@@ -1,3 +1,53 @@
+2009-07-15  Yuzo Fujishima  <yuzo@google.com>
+
+        Reviewed by Darin Adler.
+
+        Test: fast/js/instanceof-operator.html
+
+        Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
+        https://bugs.webkit.org/show_bug.cgi?id=25205
+
+        In addition to for XMLHttpRequest, this also fixes for:
+        - Audio
+        - Image
+        - MessageChannel
+        - Option
+        - WebKitCSSMatrix
+        - WebKitPoint
+        - Worker
+        - XSLTProcessor
+
+        * bindings/js/JSAudioConstructor.cpp:
+        (WebCore::JSAudioConstructor::JSAudioConstructor):
+        * bindings/js/JSAudioConstructor.h:
+        * bindings/js/JSDOMBinding.h:
+        (WebCore::DOMConstructorObject::createStructure):
+        (WebCore::DOMConstructorObject::DOMConstructorObject):
+        * bindings/js/JSImageConstructor.cpp:
+        (WebCore::JSImageConstructor::JSImageConstructor):
+        * bindings/js/JSImageConstructor.h:
+        * bindings/js/JSMessageChannelConstructor.cpp:
+        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
+        * bindings/js/JSMessageChannelConstructor.h:
+        * bindings/js/JSOptionConstructor.cpp:
+        (WebCore::JSOptionConstructor::JSOptionConstructor):
+        * bindings/js/JSOptionConstructor.h:
+        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
+        * bindings/js/JSWebKitCSSMatrixConstructor.h:
+        * bindings/js/JSWebKitPointConstructor.cpp:
+        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
+        * bindings/js/JSWebKitPointConstructor.h:
+        * bindings/js/JSWorkerConstructor.cpp:
+        (WebCore::JSWorkerConstructor::JSWorkerConstructor):
+        * bindings/js/JSWorkerConstructor.h:
+        * bindings/js/JSXMLHttpRequestConstructor.cpp:
+        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+        * bindings/js/JSXMLHttpRequestConstructor.h:
+        * bindings/js/JSXSLTProcessorConstructor.cpp:
+        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+        * bindings/js/JSXSLTProcessorConstructor.h:
+
 2009-07-15  Kai Br\9fning  <kai@granus.net>
 
         Reviewed by Dave Hyatt.
index 74bcad5..53e2a2b 100644 (file)
@@ -42,7 +42,7 @@ namespace WebCore {
 const ClassInfo JSAudioConstructor::s_info = { "AudioConstructor", 0, 0, 0 };
 
 JSAudioConstructor::JSAudioConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
-    : DOMObject(JSAudioConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+    : DOMConstructorObject(JSAudioConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
     , m_globalObject(globalObject)
 {
     ASSERT(globalObject->scriptExecutionContext());
index 0a3a7ea..3d84549 100644 (file)
@@ -34,7 +34,7 @@
 
 namespace WebCore {
 
-    class JSAudioConstructor : public DOMObject {
+    class JSAudioConstructor : public DOMConstructorObject {
     public:
         JSAudioConstructor(JSC::ExecState*, JSDOMGlobalObject*);
 
index e3fd417..5097a8d 100644 (file)
@@ -59,6 +59,21 @@ namespace WebCore {
 #endif
     };
 
+    // Base class for all constructor objects in this binding except Window.
+    class DOMConstructorObject : public DOMObject {
+    public:
+        static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+        {
+            return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasStandardGetOwnPropertySlot | JSC::ImplementsHasInstance));
+        }
+
+    protected:
+        explicit DOMConstructorObject(PassRefPtr<JSC::Structure> structure)
+            : DOMObject(structure)
+        {
+        }
+    };
+
     DOMObject* getCachedDOMObjectWrapper(JSC::JSGlobalData&, void* objectHandle);
     void cacheDOMObjectWrapper(JSC::JSGlobalData&, void* objectHandle, DOMObject* wrapper);
     void forgetDOMObject(JSC::JSGlobalData&, void* objectHandle);
index 4a27bb4..2ceb14e 100644 (file)
@@ -35,7 +35,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSImageConstructor);
 const ClassInfo JSImageConstructor::s_info = { "ImageConstructor", 0, 0, 0 };
 
 JSImageConstructor::JSImageConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
-    : DOMObject(JSImageConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+    : DOMConstructorObject(JSImageConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
     , m_globalObject(globalObject)
 {
     ASSERT(globalObject->scriptExecutionContext());
index 8dc7add..528a9d2 100644 (file)
@@ -25,7 +25,7 @@
 
 namespace WebCore {
 
-    class JSImageConstructor : public DOMObject {
+    class JSImageConstructor : public DOMConstructorObject {
     public:
         JSImageConstructor(JSC::ExecState*, JSDOMGlobalObject*);
         Document* document() const;
index 495bd53..1d5d053 100644 (file)
@@ -38,7 +38,7 @@ namespace WebCore {
 const ClassInfo JSMessageChannelConstructor::s_info = { "MessageChannelConstructor", 0, 0, 0 };
 
 JSMessageChannelConstructor::JSMessageChannelConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
-    : DOMObject(JSMessageChannelConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+    : DOMConstructorObject(JSMessageChannelConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
     , m_globalObject(globalObject)
 {
     putDirect(exec->propertyNames().prototype, JSMessageChannelPrototype::self(exec, exec->lexicalGlobalObject()), None);
index 90c29a3..1096f59 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-    class JSMessageChannelConstructor : public DOMObject {
+    class JSMessageChannelConstructor : public DOMConstructorObject {
     public:
         JSMessageChannelConstructor(JSC::ExecState*, JSDOMGlobalObject*);
         virtual ~JSMessageChannelConstructor();
index 9e818ff..a44a390 100644 (file)
@@ -35,7 +35,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSOptionConstructor);
 const ClassInfo JSOptionConstructor::s_info = { "OptionConstructor", 0, 0, 0 };
 
 JSOptionConstructor::JSOptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
-    : DOMObject(JSOptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+    : DOMConstructorObject(JSOptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
     , m_globalObject(globalObject)
 {
     ASSERT(globalObject->scriptExecutionContext());
index 3c87c28..0483fb6 100644 (file)
@@ -26,7 +26,7 @@
 
 namespace WebCore {
 
-    class JSOptionConstructor : public DOMObject {
+    class JSOptionConstructor : public DOMConstructorObject {
     public:
         JSOptionConstructor(JSC::ExecState*, JSDOMGlobalObject*);
         Document* document() const;
index c7fe4a5..1914d05 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 const ClassInfo JSWebKitCSSMatrixConstructor::s_info = { "WebKitCSSMatrixConstructor", 0, 0, 0 };
 
 JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor(ExecState* exec)
-    : DOMObject(JSWebKitCSSMatrixConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+    : DOMConstructorObject(JSWebKitCSSMatrixConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
 {
     putDirect(exec->propertyNames().prototype, JSWebKitCSSMatrixPrototype::self(exec, exec->lexicalGlobalObject()), None);
     putDirect(exec->propertyNames().length, jsNumber(exec, 1), ReadOnly|DontDelete|DontEnum);
index d0e0bd1..0bbf195 100644 (file)
@@ -31,7 +31,7 @@
 
 namespace WebCore {
 
-class JSWebKitCSSMatrixConstructor : public DOMObject {
+class JSWebKitCSSMatrixConstructor : public DOMConstructorObject {
 public:
     JSWebKitCSSMatrixConstructor(JSC::ExecState*);
     static const JSC::ClassInfo s_info;
index c7d4e36..a5045e7 100644 (file)
@@ -37,7 +37,7 @@ using namespace JSC;
 const ClassInfo JSWebKitPointConstructor::s_info = { "WebKitPointConstructor", 0, 0, 0 };
 
 JSWebKitPointConstructor::JSWebKitPointConstructor(ExecState* exec)
-    : DOMObject(JSWebKitPointConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+    : DOMConstructorObject(JSWebKitPointConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
 {
     putDirect(exec->propertyNames().prototype, JSWebKitPointPrototype::self(exec, exec->lexicalGlobalObject()), None);
     putDirect(exec->propertyNames().length, jsNumber(exec, 2), ReadOnly|DontDelete|DontEnum);
index a5bb5c1..9d19224 100644 (file)
@@ -31,7 +31,7 @@
 
 namespace WebCore {
 
-class JSWebKitPointConstructor : public DOMObject {
+class JSWebKitPointConstructor : public DOMConstructorObject {
 public:
     JSWebKitPointConstructor(JSC::ExecState*);
     static const JSC::ClassInfo s_info;
index 8ea6718..07ea2eb 100644 (file)
@@ -42,7 +42,7 @@ namespace WebCore {
 const ClassInfo JSWorkerConstructor::s_info = { "WorkerConstructor", 0, 0, 0 };
 
 JSWorkerConstructor::JSWorkerConstructor(ExecState* exec)
-    : DOMObject(JSWorkerConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+    : DOMConstructorObject(JSWorkerConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
 {
     putDirect(exec->propertyNames().prototype, JSWorkerPrototype::self(exec, exec->lexicalGlobalObject()), None);
     putDirect(exec->propertyNames().length, jsNumber(exec, 1), ReadOnly|DontDelete|DontEnum);
index d1df7eb..735439e 100644 (file)
@@ -32,7 +32,7 @@
 
 namespace WebCore {
 
-    class JSWorkerConstructor : public DOMObject {
+    class JSWorkerConstructor : public DOMConstructorObject {
     public:
         JSWorkerConstructor(JSC::ExecState*);
 
index 65cdfc2..2bbd934 100644 (file)
@@ -33,7 +33,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSXMLHttpRequestConstructor);
 const ClassInfo JSXMLHttpRequestConstructor::s_info = { "XMLHttpRequestConstructor", 0, 0, 0 };
 
 JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
-    : DOMObject(JSXMLHttpRequestConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+    : DOMConstructorObject(JSXMLHttpRequestConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
     , m_globalObject(globalObject)
 {
     putDirect(exec->propertyNames().prototype, JSXMLHttpRequestPrototype::self(exec, exec->lexicalGlobalObject()), None);
index 978a9f0..f0b10c8 100644 (file)
@@ -24,7 +24,7 @@
 
 namespace WebCore {
 
-class JSXMLHttpRequestConstructor : public DOMObject {
+class JSXMLHttpRequestConstructor : public DOMConstructorObject {
 public:
     JSXMLHttpRequestConstructor(JSC::ExecState*, JSDOMGlobalObject*);
     ScriptExecutionContext* scriptExecutionContext() const;
index 807b017..d9b48f8 100644 (file)
@@ -42,7 +42,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSXSLTProcessorConstructor);
 const ClassInfo JSXSLTProcessorConstructor::s_info = { "XSLTProcessorConsructor", 0, 0, 0 };
 
 JSXSLTProcessorConstructor::JSXSLTProcessorConstructor(ExecState* exec)
-    : DOMObject(JSXSLTProcessorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+    : DOMConstructorObject(JSXSLTProcessorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
 {
     putDirect(exec->propertyNames().prototype, JSXSLTProcessorPrototype::self(exec, exec->lexicalGlobalObject()), None);
 }
index 64ef944..3e61bee 100644 (file)
@@ -32,7 +32,7 @@
 
 namespace WebCore {
 
-    class JSXSLTProcessorConstructor : public DOMObject {
+    class JSXSLTProcessorConstructor : public DOMConstructorObject {
     public:
         JSXSLTProcessorConstructor(JSC::ExecState*);
         static const JSC::ClassInfo s_info;