On Mar 13, 2013 7:30 PM, "Patrick Wang" <[email protected]> wrote: > > On 03/13/2013 01:41 AM, Josh Matthews wrote: >> >> On 03/12/2013 08:43 AM, Gene Lian wrote: >>> >>> Hi guys, >>> >>> Supposing we've already had an IDL implemented by JS codes, and then >>> we need to let another C++ class inherit that IDL header. However, in >>> the C++ implementation, we need to get a context to unwrap some JS >>> values. As my best understanding, adding a [implicit_jscontext] tag >>> can let us do so, but that will conflict with the original JS >>> implementation. >>> >>> Does anyone know how to deal with this kind of dilemma? Any quick >>> thought is highly appreciated! Thanks! >>> >>> Gene >>> >> >> Is there some reason you can't add the implicit context to the original >> IDL? >> >> Cheers, >> Josh > > > implicit_jscontext makes the IDL cannot be implemented in JS, while we > hope to keep the original JS implementation. > > We got an error message looks like: "IDL methods marked with [implicit_jscontext] or [optional_argc] may not be implemented in JS" when we try to create a JS implemented instance after adding implicit_jscontext. > > BTW, is nsContentUtils::GetSafeJSContext suitable for this situation?
I don't think it is. But I think there's something like nsContentUtils::GetCallerContext that you might be able to use. Bobby Holley or Blake Kaplan are good people to ask. / Jonas _______________________________________________ dev-b2g mailing list [email protected] https://lists.mozilla.org/listinfo/dev-b2g
