Bug 21141: REGRESSION: Exception messages for user entered commands are poor
authoroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 28 Sep 2008 08:36:39 +0000 (08:36 +0000)
committeroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 28 Sep 2008 08:36:39 +0000 (08:36 +0000)
<https://bugs.webkit.org/show_bug.cgi?id=21141>

Reviewed by Maciej Stachowiak.

The bug repsonsible for this was the the JSInspectedObjectWrapper instances
were not initialising their StructureID's to indicate that the wrapper
overrides hasInstance, etc.  The solution is simply to use the createStructureID
helper on JSQuarantinedObjectWrapper to create a correct StructureID.

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

WebCore/ChangeLog
WebCore/bindings/js/JSInspectedObjectWrapper.cpp

index b022efd..43af678 100644 (file)
@@ -1,3 +1,18 @@
+2008-09-28  Oliver Hunt  <oliver@apple.com>
+
+        Reviewed by Maciej Stachowiak.
+
+        Bug 21141: REGRESSION: Exception messages for user entered commands are poor
+        <https://bugs.webkit.org/show_bug.cgi?id=21141>
+
+        The bug repsonsible for this was the the JSInspectedObjectWrapper instances
+        were not initialising their StructureID's to indicate that the wrapper
+        overrides hasInstance, etc.  The solution is simply to use the createStructureID
+        helper on JSQuarantinedObjectWrapper to create a correct StructureID.
+
+        * bindings/js/JSInspectedObjectWrapper.cpp:
+        (WebCore::JSInspectedObjectWrapper::wrap):
+
 2008-09-28  David Hyatt  <hyatt@apple.com>
 
         Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
index 47a37d2..25f9d94 100644 (file)
@@ -63,8 +63,8 @@ JSValue* JSInspectedObjectWrapper::wrap(ExecState* unwrappedExec, JSValue* unwra
     ASSERT(prototype->isNull() || prototype->isObject());
 
     if (prototype->isNull())
-        return new (unwrappedExec) JSInspectedObjectWrapper(unwrappedExec, unwrappedObject, unwrappedExec->globalData().nullProtoStructureID);
-    return new (unwrappedExec) JSInspectedObjectWrapper(unwrappedExec, unwrappedObject, static_cast<JSObject*>(wrap(unwrappedExec, prototype))->inheritorID());
+        return new (unwrappedExec) JSInspectedObjectWrapper(unwrappedExec, unwrappedObject, JSQuarantinedObjectWrapper::createStructureID(jsNull()));
+    return new (unwrappedExec) JSInspectedObjectWrapper(unwrappedExec, unwrappedObject, JSQuarantinedObjectWrapper::createStructureID(static_cast<JSObject*>(wrap(unwrappedExec, prototype))));
 }
 
 JSInspectedObjectWrapper::JSInspectedObjectWrapper(ExecState* unwrappedExec, JSObject* unwrappedObject, PassRefPtr<StructureID> structureID)