Closed
Bug 12237
Opened 26 years ago
Closed 26 years ago
xpcom/proxy should use new nsXPTMethodInfo::IsNotXPCOM()
Categories
(Core :: XPCOM, defect, P3)
Tracking
()
RESOLVED
FIXED
People
(Reporter: jband_mozilla, Assigned: dougt)
Details
The 'hidden' flag in the typelib ought to be more than one bit. Right now it
means either [notxpcom] or [noscript]. We need a way to make it clear that a
given method is simply not xpcom compilant and not callable despite the language
mapping preference ([notxpcom]). In addition to that we want to express the
interface author's preferences about whether or not the method ought not be
reflected into some given mapping ([noscript] etc.)
This is broken for xpcom/proxy because it does not want to be limited to
reflecting only the JavaScript reflectable methods. But it must be able to know
when a method simply is not callable using the xptcall infrastructure.
The similar problem exists in mrking interfaces via [scriptable].
Comment 1•26 years ago
|
||
Marking as assigned.
Updated•26 years ago
|
Status: NEW → ASSIGNED
Reporter | ||
Updated•26 years ago
|
Assignee: mccabe → jband
Status: ASSIGNED → NEW
Reporter | ||
Comment 2•26 years ago
|
||
I'll fix this.
Reporter | ||
Comment 3•26 years ago
|
||
I've added nsXPTMethodInfo::IsNotXPCOM(). The compiler now sets this flag for
all methods marked [notxpcom]. The compiler only checkes for [notxpcom]. It does
not take into account things like native params. [notxpcom] is expected to be
used for methods that return something other than an nsresult. xptcall can not
handle such methods.
Proxy should now check this flag when determining whether or not a given method
can be called using xptcall. xpconnect has already been changed to respect this
flag.
Assignee: jband → dougt
Summary: typelib 'hidden' flag is not rich enough → xpcom/proxy should use new nsXPTMethodInfo::IsNotXPCOM()
Assignee | ||
Updated•26 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 4•26 years ago
|
||
very nice. added:
Index: src/nsProxyEvent.cpp
===================================================================
RCS file: /cvsroot/mozilla/xpcom/proxy/src/nsProxyEvent.cpp,v
retrieving revision 1.18
diff -c -r1.18 nsProxyEvent.cpp
*** nsProxyEvent.cpp 1999/09/01 20:04:22 1.18
--- nsProxyEvent.cpp 1999/09/03 16:24:20
***************
*** 141,146 ****
--- 141,148 ----
return NS_ERROR_OUT_OF_MEMORY;
+ if (methodInfo->IsNotXPCOM())
+ return NS_ERROR_PROXY_INVALID_IN_PARAMETER;
///////////////////////////////////////////////////////////////////////
// Auto-proxification
///////////////////////////////////////////////////////////////////////
Assignee | ||
Updated•26 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 5•26 years ago
|
||
checked in. closing.
You need to log in
before you can comment on or make changes to this bug.
Description
•