Bug 21141

Summary: REGRESSION: Exception messages for user entered commands are poor
Product: WebKit Reporter: Oliver Hunt <oliver>
Component: JavaScriptCoreAssignee: Oliver Hunt <oliver>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, ggaren, mjs, oliver, timothy, zwarich
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Macintosh   
OS: OS X 10.5   
Attachments:
Description Flags
Fix ye olde instanceof mjs: review+

Description Oliver Hunt 2008-09-26 05:27:02 PDT
Error messages in the console have very low fidelity, eg, typing the following in the terminal:

proeprtyThatDoesn'tExist;

results in the message "Error"
Comment 1 Timothy Hatcher 2008-09-26 10:09:22 PDT
This is a regression in JavaScriptCore I think. Since the Inspector is getting false for:

exceptionObj instanceof win.Error

Where exceptionObj is a JSQuarantinedObjectWrapper around an Error object.

When not using JSQuarantinedObjectWrappers this works.
Comment 2 Geoffrey Garen 2008-09-26 15:49:53 PDT
Probably a result of Maciej's recent instanceof optimization work. I don't think we properly honor objects that override hasInstance().
Comment 3 Geoffrey Garen 2008-09-26 15:50:30 PDT
I believe you could work around this regression by checking exceptionObj.constructor == win.Error, if you'd like.
Comment 4 Timothy Hatcher 2008-09-27 19:05:25 PDT
This also broke printing of Arrays, and other objects.
Comment 5 Oliver Hunt 2008-09-28 00:46:36 PDT
Created attachment 23890 [details]
Fix ye olde instanceof
Comment 6 Maciej Stachowiak 2008-09-28 01:25:53 PDT
Comment on attachment 23890 [details]
Fix ye olde instanceof

r=me
Comment 7 Darin Adler 2008-10-12 18:23:20 PDT
http://trac.webkit.org/changeset/37034