[Webkit-unassigned] [Bug 33425] New: 'invokeDefaultMethodWithArguments:' skipped if 'null' JS value passed as one of the arguments

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Jan 9 11:20:09 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=33425

           Summary: 'invokeDefaultMethodWithArguments:' skipped if 'null'
                    JS value passed as one of the arguments
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Macintosh
        OS/Version: All
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: WebCore JavaScript
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: Alexander.Mitin at gmail.com


Consider the following JS code:

function myfunc(arg) {
  return myWebScriptingInstance(arg);
}

where 'myWebScriptingInstance' is the embedded objc object instance which
conforms to WebScripting protocol.
In this case I expect 'invokeDefaultMethodWithArguments:' message to be send to
my objc object. 
And all goes fine until 'arg' is JS-null. 

I've done some investigations on this and I've found:
According to docs, JS-null should be translated into objc nil value.
OK, it translated into nil, but this value can't be put into NSArray, so
there's the exception thrown which then skipped silently!
As the result, there is no message sent to my object (see
WebCore/bridge/objc/objc_instance.mm). 
And no any chance to get the cause of what happened, just returned undefined
value as the invocation result.

Why not to just put [NSNull null] into the NSArray?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list