This is due to the fact that the JS constructors created for Objective-C classes via the JSC API inherit from JSCallbackObject, which overrides hasInstance with its own customHasInstance. JSCallbackObject::customHasInstance only checks the JSClassRefs for hasInstance callbacks. If it doesn't find any callbacks, it returns false. One way to fix this would be to change JSCallbackObject::customHasInstance to return JSObject::defaultHasInstance in the case where no hasInstance callbacks are found.
<rdar://problem/15710527>
Created attachment 220672 [details] Patch
Comment on attachment 220672 [details] Patch r=me
Created attachment 220674 [details] Patch
Comment on attachment 220674 [details] Patch Clearing flags on attachment: 220674 Committed r161564: <http://trac.webkit.org/changeset/161564>
All reviewed patches have been landed. Closing bug.