Bug 5357

Summary: REGRESSION: Scriptable plugin hides properties of OBJECT element
Product: WebKit Reporter: mitz
Component: JavaScriptCoreAssignee: Geoffrey Garen <ggaren>
Status: VERIFIED FIXED    
Severity: Major    
Priority: P1    
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
Attachments:
Description Flags
testcase
none
proposed patch mjs: review+

Description mitz 2005-10-12 15:49:22 PDT
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:.
Comment 1 mitz 2005-10-12 15:50:51 PDT
Created attachment 4330 [details]
testcase
Comment 2 mitz 2005-10-12 15:58:51 PDT
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 3 Darin Adler 2005-10-13 07:17:03 PDT
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 4 mitz 2005-10-19 00:08:52 PDT
Comment on attachment 4331 [details]
proposed patch

Asking Maciej to review this patch, after I talked with Darin.
Comment 5 Maciej Stachowiak 2005-10-25 22:24:10 PDT
Comment on attachment 4331 [details]
proposed patch

r=me