A plugin that implements a scriptable object in ObjC can cause all properties of the OBJECT element containing it to be undefined. To reproduce: open the testcase in Safari. It tests for the children property not being undefined. This happens when the plugin does not respond to invokeUndefinedMethodFromWebScript:withArguments:.
Created attachment 4330 [details] testcase
Created attachment 4331 [details] proposed patch The bug resulted from the path for bug 4313, specifically the change in RuntimeObjectImp::getOwnPropertySlot. An alternative fix is to undo that change.
Comment on attachment 4331 [details] proposed patch I believe the underlying cause here is that Objective-C "undefined" values are not returned true to isUndefined(). I think we should fix that rather than applying this patch or undoing the change from bug 4313.
Comment on attachment 4331 [details] proposed patch Asking Maciej to review this patch, after I talked with Darin.
Comment on attachment 4331 [details] proposed patch r=me