ChromiumFX/Generated/Remote/CfrRuntime.cs
/// <summary>
/// Register a new V8 extension with the specified JavaScript extension code and
/// handler. Functions implemented by the handler are prototyped using the
/// keyword 'native'. The calling of a native function is restricted to the scope
/// in which the prototype of the native function is defined. This function may
/// only be called on the render process main thread.
/// 
/// Example JavaScript extension code: &lt;pre>
///   // create the 'example' global object if it doesn't already exist.
///   if (!example)
///     example = {};
///   // create the 'example.test' global object if it doesn't already exist.
///   if (!example.test)
///     example.test = {};
///   (function() {
///     // Define the function 'example.test.myfunction'.
///     example.test.myfunction = function() {
///       // Call CfrV8Handler.Execute() with the function name 'MyFunction'
///       // and no arguments.
///       native function MyFunction();
///       return MyFunction();
///     };
///     // Define the getter function for parameter 'example.test.myparam'.
///     example.test.__defineGetter__('myparam', function() {
///       // Call CfrV8Handler.Execute() with the function name 'GetMyParam'
///       // and no arguments.
///       native function GetMyParam();
///       return GetMyParam();
///     });
///     // Define the setter function for parameter 'example.test.myparam'.
///     example.test.__defineSetter__('myparam', function(b) {
///       // Call CfrV8Handler.Execute() with the function name 'SetMyParam'
///       // and a single argument.
///       native function SetMyParam();
///       if(b) SetMyParam(b);
///     });
/// 
///     // Extension definitions can also contain normal JavaScript variables
///     // and functions.
///     var myint = 0;
///     example.test.increment = function() {
///       myint += 1;
///       return myint;
///     };
///   })();
/// &lt;/pre> Example usage in the page: &lt;pre>
///   // Call the function.
///   example.test.myfunction();
///   // Set the parameter.
///   example.test.myparam = value;
///   // Get the parameter.
///   value = example.test.myparam;
///   // Call another function.
///   example.test.increment();
/// &lt;/pre>
/// </summary>
/// <remarks>
/// See also the original CEF documentation in
/// <see href="https://bitbucket.org/chromiumfx/chromiumfx/src/tip/cef/include/capi/cef_v8_capi.h">cef/include/capi/cef_v8_capi.h</see>.
/// </remarks>
Register a new V8 extension with the specified JavaScript extension code and
handler. Functions implemented by the handler are prototyped using the
keyword 'native'. The calling of a native function is restricted to the scope
in which the prototype of the native function is defined. This function may
only be called on the render process main thread.

Example JavaScript extension code: 
create the 'example' global object if it doesn't already exist.
if (!example)
example = {};
create the 'example.test' global object if it doesn't already exist.

Extension definitions can also contain normal JavaScript variables
and functions.
var myint = 0;
example.test.increment = function() {
myint += 1;
return myint;
};
})();
 Example usage in the page: 
Call the function.
Register a new V8 extension with the specified JavaScript extension code and handler . Functions implemented by the handler are prototyped using the keyword ' native ' . The calling of a native function is restricted to the scope in which the prototype of the native function is defined . This function may only be called on the render process main thread . Example JavaScript extension code : create the ' example ' global object if it doesn ' t already exist . if ( !example ) example = {} ; create the ' example . test ' global object if it doesn ' t already exist . Extension definitions can also contain normal JavaScript variables and functions . var myint = 0 ; example . test . increment = function () { myint + = 1 ; return myint ; } ; } ) () ; Example usage in the page : Call the function .
public static bool RegisterExtension(string extensionName, string javascriptCode, CfrV8Handler handler) {
            var connection = CfxRemoteCallContext.CurrentContext.connection;
            var call = new CfxRuntimeRegisterExtensionRemoteCall();
            call.extensionName = extensionName;
            call.javascriptCode = javascriptCode;
            if(!CfrObject.CheckConnection(handler, connection)) throw new ArgumentException("Render process connection mismatch.", "handler");
            call.handler = CfrObject.Unwrap(handler).ptr;
            call.RequestExecution(connection);
            return call.__retval;
        }
public static bool RegisterExtension ( string extensionName , string javascriptCode , CfrV8Handler handler ) { var connection = CfxRemoteCallContext . CurrentContext . connection ; var call = new CfxRuntimeRegisterExtensionRemoteCall ( ) ; call . extensionName = extensionName ; call . javascriptCode = javascriptCode ; if ( ! CfrObject . CheckConnection ( handler , connection ) ) throw new ArgumentException ( " " , " " ) ; call . handler = CfrObject . Unwrap ( handler ) . ptr ; call . RequestExecution ( connection ) ; return call . __retval ; }
Register a new V8 extension with the specified JavaScript extension code and
handler.
Register a new V8 extension with the specified JavaScript extension code and handler .
extensionName
string
javascriptCode
string
handler
CfrV8Handler
remarks
See also the original CEF documentation in
cef/include/capi/cef_v8_capi.h
See also the original CEF documentation in cef / include / capi / cef_v8_capi . h