public GeckoElement GetElementByJQuery(string jQuery) { using (var autoContext = new AutoJSContext(_window)) { var jsValue = autoContext.EvaluateScript(jQuery, _window.DomWindow); if (!jsValue.IsObject) { return(null); } var nativeComObject = jsValue.ToComObject(autoContext.ContextPointer); var element = Xpcom.QueryInterface </* nsIDOMHTMLElement */ nsIDOMElement>(nativeComObject); if (element != null) { return(GeckoHtmlElement.Create((mozIDOMWindowProxy)_window.DomWindow, element)); } if (!SpiderMonkey.JS_HasProperty(autoContext.ContextPointer, jsValue.AsPtr, "length")) { return(null); } var length = SpiderMonkey.JS_GetProperty(autoContext.ContextPointer, jsValue.AsPtr, "length").ToInteger(); if (length == 0) { return(null); } return(CreateHtmlElementFromDom(autoContext, jsValue, 0)); } }
public GeckoElement GetElementByJQuery(string jQuery) { JsVal jsValue; using (var autoContext = new AutoJSContext()) { autoContext.PushCompartmentScope((nsISupports)m_Window.Document.DomObject); jsValue = autoContext.EvaluateScript(jQuery); if (jsValue.IsObject) { var nativeComObject = jsValue.ToComObject(autoContext.ContextPointer); var element = Xpcom.QueryInterface <nsIDOMHTMLElement>(nativeComObject); if (element != null) { return(GeckoHtmlElement.Create(element)); } if (!SpiderMonkey.JS_HasProperty(autoContext.ContextPointer, jsValue.AsPtr, "length")) { return(null); } var length = SpiderMonkey.JS_GetProperty(autoContext.ContextPointer, jsValue.AsPtr, "length").ToInteger(); if (length == 0) { return(null); } var firstNativeDom = SpiderMonkey.JS_GetProperty(autoContext.ContextPointer, jsValue.AsPtr, "0").ToComObject(autoContext.ContextPointer); element = Xpcom.QueryInterface <nsIDOMHTMLElement>(firstNativeDom); if (element != null) { return(GeckoHtmlElement.Create(element)); } } } return(null); }
public T GetProperty <T>(string propertyName, bool checkIfExists) { using (var context = new AutoJSContext(_globalWindowProxy)) using (var jsObject = context.ConvertCOMObjectToJSObject(_thisObject, true)) { if (checkIfExists) { if (!SpiderMonkey.JS_HasProperty(context.ContextPointer, jsObject.JSObject, propertyName)) { return(default(T)); } } var result = SpiderMonkey.JS_GetProperty(context.ContextPointer, jsObject.JSObject, propertyName); if (result.IsUndefined) { throw new GeckoException(String.Format("Property '{0}' of type '{1}' does not exist on object", propertyName, typeof(T).Name)); } var retObject = result.ToObject <T>(); return(ConvertObject <T>(retObject)); } }
public IEnumerable <GeckoElement> GetElementsByJQuery(string jQuery) { JsVal jsValue; var elements = new List <GeckoElement>(); using (var autoContext = new AutoJSContext()) { autoContext.PushCompartmentScope((nsISupports)m_Window.Document.DomObject); jsValue = autoContext.EvaluateScript(jQuery); if (!jsValue.IsObject) { return(elements); } if (!SpiderMonkey.JS_HasProperty(autoContext.ContextPointer, jsValue.AsPtr, "length")) { return(null); } var length = SpiderMonkey.JS_GetProperty(autoContext.ContextPointer, jsValue.AsPtr, "length").ToInteger(); if (length == 0) { return(null); } for (var elementIndex = 0; elementIndex < length; elementIndex++) { var firstNativeDom = SpiderMonkey.JS_GetProperty(autoContext.ContextPointer, jsValue.AsPtr, elementIndex.ToString(CultureInfo.InvariantCulture)).ToComObject(autoContext.ContextPointer); var element = Xpcom.QueryInterface <nsIDOMHTMLElement>(firstNativeDom); if (element != null) { elements.Add(GeckoHtmlElement.Create(element)); } } } return(elements); }
public IEnumerable <GeckoElement> GetElementsByJQuery(string jQuery) { using (var autoContext = new AutoJSContext(_window)) { var jsValue = autoContext.EvaluateScript(jQuery, _window.DomWindow); if (!jsValue.IsObject) { return(new List <GeckoElement>()); } if (!SpiderMonkey.JS_HasProperty(autoContext.ContextPointer, jsValue.AsPtr, "length")) { return(new List <GeckoElement>()); } var length = SpiderMonkey.JS_GetProperty(autoContext.ContextPointer, jsValue.AsPtr, "length").ToInteger(); if (length == 0) { return(new List <GeckoElement>()); } return(Enumerable.Range(0, length).Select(elementIndex => CreateHtmlElementFromDom(autoContext, jsValue, elementIndex)).Where(element => element != null).ToList()); } }
public IEnumerable <KeyValuePair <string, Action <IntPtr> > > EntryPoints() { yield return(new KeyValuePair <string, Action <IntPtr> >("JS_EncodeString", (c) => SpiderMonkey.JS_EncodeString(IntPtr.Zero, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_TypeOfValue", (c) => SpiderMonkey.JS_TypeOfValue(IntPtr.Zero, default(JsVal)))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_ValueToString", (c) => SpiderMonkey.JS_ValueToString(IntPtr.Zero, default(JsVal)))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_ValueToObject", (c) => SpiderMonkey.JS_ValueToObject(IntPtr.Zero, default(JsVal)))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_NewStringCopyN", (c) => SpiderMonkey.JS_NewStringCopyN(c, "", 0))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetGlobalForObject", (c) => SpiderMonkey.JS_GetGlobalForObject(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("GetGlobalForObjectCrossCompartment", (c) => SpiderMonkey.GetGlobalForObjectCrossCompartment(IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SaveFrameChain", (c) => SpiderMonkey.JS_SaveFrameChain(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_NewObject", (c) => SpiderMonkey.JS_NewObject(c, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetParent", (c) => SpiderMonkey.JS_GetParent(IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetScriptedGlobal", (c) => SpiderMonkey.JS_GetScriptedGlobal(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("CurrentGlobalOrNull", (c) => SpiderMonkey.CurrentGlobalOrNull(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_NewContext", (c) => SpiderMonkey.JS_NewContext(IntPtr.Zero, 0))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetRuntime", (c) => SpiderMonkey.JS_GetRuntime(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetContextPrivate", (c) => SpiderMonkey.JS_GetContextPrivate(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetContextPrivate", (c) => SpiderMonkey.JS_SetContextPrivate(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("DefaultObjectForContextOrNull", (c) => SpiderMonkey.DefaultObjectForContextOrNull(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_BeginRequest", (c) => SpiderMonkey.JS_BeginRequest(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_EndRequest", (c) => SpiderMonkey.JS_EndRequest(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_EvaluateScript", (c) => { var jsVal = new JsVal(); SpiderMonkey.JS_EvaluateScript(c, IntPtr.Zero, "", 0, "", 0, ref jsVal); })); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_EvaluateScriptForPrincipals", (c) => { var jsVal = new JsVal(); SpiderMonkey.JS_EvaluateScriptForPrincipals(c, IntPtr.Zero, IntPtr.Zero, "", 0, "", 0, ref jsVal); })); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetClassObject", (c) => SpiderMonkey.JS_GetClassObject(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetClass", (c) => SpiderMonkey.JS_GetClass(IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_ContextIterator", (c) => { var pt = IntPtr.Zero; SpiderMonkey.JS_ContextIterator(IntPtr.Zero, ref pt); })); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetContextCallback", (c) => SpiderMonkey.JS_SetContextCallback(IntPtr.Zero, null))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_EnterCompartment", (c) => SpiderMonkey.JS_EnterCompartment(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_LeaveCompartment", (c) => SpiderMonkey.JS_LeaveCompartment(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_Free", (c) => SpiderMonkey.JS_Free(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_WrapObject", (c) => SpiderMonkey.JS_WrapObject(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("IsObjectInContextCompartment", (c) => SpiderMonkey.IsObjectInContextCompartment(IntPtr.Zero, c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_DestroyRuntime", (c) => SpiderMonkey.JS_DestroyRuntime(IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_HasProperty", (c) => SpiderMonkey.JS_HasProperty(c, IntPtr.Zero, ""))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetProperty", (c) => SpiderMonkey.JS_GetProperty(c, IntPtr.Zero, ""))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetCompartmentPrincipals", (c) => SpiderMonkey.JS_SetCompartmentPrincipals(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetCompartmentPrincipals", (c) => SpiderMonkey.JS_GetCompartmentPrincipals(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetTrustedPrincipals", (c) => SpiderMonkey.JS_SetTrustedPrincipals(IntPtr.Zero, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetPendingException", (c) => SpiderMonkey.JS_GetPendingException(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetErrorReporter", (c) => SpiderMonkey.JS_SetErrorReporter(c, (cx, message, report) => {}))); }
/// <summary> /// Please keep these in alphabetical order. /// </summary> /// <returns></returns> public IEnumerable <KeyValuePair <string, Action <IntPtr> > > EntryPoints() { yield return(new KeyValuePair <string, Action <IntPtr> >("CurrentGlobalOrNull", (c) => SpiderMonkey.CurrentGlobalOrNull(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("GetGlobalForObjectCrossCompartment", (c) => SpiderMonkey.GetGlobalForObjectCrossCompartment(IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("IsObjectInContextCompartment", (c) => SpiderMonkey.IsObjectInContextCompartment(IntPtr.Zero, c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_BeginRequest", (c) => SpiderMonkey.JS_BeginRequest(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_CallFunctionName", (c) => SpiderMonkey.JS_CallFunctionName(c, IntPtr.Zero, "", new JsVal[0]))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_CallFunctionValue", (c) => SpiderMonkey.JS_CallFunctionValue(c, IntPtr.Zero, new JsVal()))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_EncodeString", (c) => SpiderMonkey.JS_EncodeString(IntPtr.Zero, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_EncodeStringToUTF8", (c) => SpiderMonkey.JS_EncodeStringToUTF8(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_EndRequest", (c) => SpiderMonkey.JS_EndRequest(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_EnterCompartment", (c) => SpiderMonkey.JS_EnterCompartment(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_ExecuteScript", (c) => { JsVal val; SpiderMonkey.JS_ExecuteScript(c, "", out val); })); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_Free", (c) => SpiderMonkey.JS_Free(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetClass", (c) => SpiderMonkey.JS_GetClass(IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetClassObject", (c) => SpiderMonkey.JS_GetClassObject(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetCompartmentPrincipals", (c) => SpiderMonkey.JS_GetCompartmentPrincipals(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_ContextIterator", (c) => { var pt = IntPtr.Zero; SpiderMonkey.JS_ContextIterator(IntPtr.Zero, ref pt); })); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetContextPrivate", (c) => SpiderMonkey.JS_GetContextPrivate(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetEmptyStringValue", (c) => SpiderMonkey.JS_GetEmptyStringValue(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetGlobalForObject", (c) => SpiderMonkey.JS_GetGlobalForObject(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetProperty", (c) => SpiderMonkey.JS_GetProperty(c, IntPtr.Zero, ""))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetStringLength", (c) => SpiderMonkey.JS_GetStringLength(IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetStringEncodingLength", (c) => SpiderMonkey.JS_GetStringEncodingLength(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_HasProperty", (c) => SpiderMonkey.JS_HasProperty(c, IntPtr.Zero, ""))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetNegativeInfinityValue", (c) => SpiderMonkey.JS_GetNegativeInfinityValue(IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetPendingException", (c) => SpiderMonkey.JS_GetPendingException(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_LeaveCompartment", (c) => SpiderMonkey.JS_LeaveCompartment(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_NewContext", (c) => SpiderMonkey.JS_NewContext(IntPtr.Zero, 0))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_NewPlainObject", (c) => SpiderMonkey.JS_NewPlainObject(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_NewStringCopyN", (c) => SpiderMonkey.JS_NewStringCopyN(c, "", 0))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SaveFrameChain", (c) => SpiderMonkey.JS_SaveFrameChain(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetCompartmentPrincipals", (c) => SpiderMonkey.JS_SetCompartmentPrincipals(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetContextCallback", (c) => SpiderMonkey.JS_SetContextCallback(IntPtr.Zero, null))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetContextPrivate", (c) => SpiderMonkey.JS_SetContextPrivate(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetErrorReporter", (c) => SpiderMonkey.JS_SetErrorReporter(c, (cx, message, report) => { }))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetProperty", (c) => SpiderMonkey.JS_SetProperty(c, IntPtr.Zero, "", new JsVal()))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_SetTrustedPrincipals", (c) => SpiderMonkey.JS_SetTrustedPrincipals(IntPtr.Zero, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_TypeOfValue", (c) => SpiderMonkey.JS_TypeOfValue(IntPtr.Zero, default(JsVal)))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_ValueToObject", (c) => SpiderMonkey.JS_ValueToObject(IntPtr.Zero, default(JsVal)))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_WrapObject", (c) => SpiderMonkey.JS_WrapObject(IntPtr.Zero, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr> >("ToStringSlow", (c) => SpiderMonkey.ToStringSlow(IntPtr.Zero, default(JsVal)))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_GetRuntime", (c) => SpiderMonkey.JS_GetRuntime(c))); yield return(new KeyValuePair <string, Action <IntPtr> >("JS_WrapObject", (c) => SpiderMonkey.JS_WrapObject(c, IntPtr.Zero))); }
/// <summary> /// Please keep these in alphabetical order. /// </summary> /// <returns></returns> public IEnumerable <KeyValuePair <string, Action <IntPtr, IntPtr> > > EntryPoints() { yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("CurrentGlobalOrNull", (c, j) => SpiderMonkey.CurrentGlobalOrNull(c))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("GetGlobalForObjectCrossCompartment", (c, j) => SpiderMonkey.GetGlobalForObjectCrossCompartment(j))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("IsObjectInContextCompartment", (c, j) => SpiderMonkey.IsObjectInContextCompartment(j, c))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_BeginRequest", (c, j) => SpiderMonkey.JS_BeginRequest(c))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_CallFunctionName", (c, j) => SpiderMonkey.JS_CallFunctionName(c, j, "", new JsVal[0]))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_CallFunctionValue", (c, j) => SpiderMonkey.JS_CallFunctionValue(c, j, new JsVal()))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_EncodeString", (c, j) => SpiderMonkey.JS_EncodeString(c, TestString(c)))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_EndRequest", (c, j) => SpiderMonkey.JS_EndRequest(c))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_EnterCompartment", (c, j) => SpiderMonkey.JS_EnterCompartment(c, j))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_ExecuteScript", (c, j) => { JsVal val; SpiderMonkey.JS_ExecuteScript(c, "", out val); })); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_Free", (c, j) => SpiderMonkey.JS_Free(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetClass", (c, j) => SpiderMonkey.JS_GetClass(j))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetClassObject", (c, j) => SpiderMonkey.JS_GetClassObject(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetCompartmentPrincipals", (c, j) => SpiderMonkey.JS_GetCompartmentPrincipals(c))); #if PORTFF60 // unstable yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetEmptyStringValue", (c, j) => SpiderMonkey.JS_GetEmptyStringValue(c))); #endif yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetGlobalForObject", (c, j) => SpiderMonkey.JS_GetGlobalForObject(c, j))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetProperty", (c, j) => SpiderMonkey.JS_GetProperty(c, j, ""))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetStringLength", (c, j) => SpiderMonkey.JS_GetStringLength(TestString(c)))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetStringEncodingLength", (c, j) => SpiderMonkey.JS_GetStringEncodingLength(c, TestString(c)))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_HasProperty", (c, j) => SpiderMonkey.JS_HasProperty(c, j, ""))); #if PORTFF60 // unstable yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetNegativeInfinityValue", (c, j) => SpiderMonkey.JS_GetNegativeInfinityValue(c))); #endif yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetPendingException", (c, j) => SpiderMonkey.JS_GetPendingException(c))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_LeaveCompartment", (c, j) => SpiderMonkey.JS_LeaveCompartment(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_NewPlainObject", (c, j) => SpiderMonkey.JS_NewPlainObject(c))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_NewStringCopyN", (c, j) => SpiderMonkey.JS_NewStringCopyN(c, "", 0))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_SetCompartmentPrincipals", (c, j) => SpiderMonkey.JS_SetCompartmentPrincipals(c, IntPtr.Zero))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_SetProperty", (c, j) => SpiderMonkey.JS_SetProperty(c, j, "", new JsVal()))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_TypeOfValue", (c, j) => SpiderMonkey.JS_TypeOfValue(c, default(JsVal)))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_ValueToObject", (c, j) => SpiderMonkey.JS_ValueToObject(c, default(JsVal)))); yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_WrapObject", (c, j) => SpiderMonkey.JS_WrapObject(c, j))); #if PORTFF60 yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("ToStringSlow", (c, j) => SpiderMonkey.ToStringSlow(IntPtr.Zero, default(JsVal)))); #endif yield return(new KeyValuePair <string, Action <IntPtr, IntPtr> >("JS_GetRuntime", (c, j) => SpiderMonkey.JS_GetRuntime(c))); }