Example #1
0
        private void Destroy()
        {
            if (_jsThis.IsUndefined())
            {
                return;
            }
            _state  = ReadyState.UNSENT;
            _code   = 0;
            _jsThis = JSApi.JS_UNDEFINED;

            var runtime = ScriptEngine.GetRuntime(_jsContext);

            if (runtime != null)
            {
                runtime.OnDestroy -= Destroy;
            }

            if (_jsContext.IsValid())
            {
                JSApi.JS_FreeValue(_jsContext, _onreadystatechange);
                _onreadystatechange = JSApi.JS_UNDEFINED;

                JSApi.JS_FreeValue(_jsContext, _onerror);
                _onerror = JSApi.JS_UNDEFINED;

                _jsContext = JSContext.Null;
            }
        }
Example #2
0
        private void Destroy()
        {
            if (_jsThis.IsUndefined())
            {
                return;
            }

            _Dispose();
            _jsThis = JSApi.JS_UNDEFINED;

            if (_runtime != null)
            {
                _runtime.OnDestroy -= Destroy;
                _runtime            = null;
            }

            if (_jsContext.IsValid())
            {
                JSApi.JS_FreeValue(_jsContext, _oncreate);
                _oncreate = JSApi.JS_UNDEFINED;

                JSApi.JS_FreeValue(_jsContext, _ondelete);
                _ondelete = JSApi.JS_UNDEFINED;

                JSApi.JS_FreeValue(_jsContext, _onchange);
                _onchange = JSApi.JS_UNDEFINED;

                _jsContext = JSContext.Null;
            }
        }
Example #3
0
        private void ReleaseJSValues()
        {
            if (_ctx.IsValid())
            {
                JSApi.JS_FreeValue(_ctx, _onDestroyFunc);
                _onDestroyFunc  = JSApi.JS_UNDEFINED;
                _onDestroyValid = false;

                JSApi.JS_FreeValue(_ctx, _onEnableFunc);
                _onEnableFunc  = JSApi.JS_UNDEFINED;
                _onEnableValid = false;

                JSApi.JS_FreeValue(_ctx, _onDisableFunc);
                _onDisableFunc  = JSApi.JS_UNDEFINED;
                _onDisableValid = false;

                JSApi.JS_FreeValue(_ctx, _onInspectorGUIFunc);
                _onInspectorGUIFunc  = JSApi.JS_UNDEFINED;
                _onInspectorGUIValid = false;

                JSApi.JS_FreeValue(_ctx, _this_obj);
                _this_obj = JSApi.JS_UNDEFINED;

                var context = ScriptEngine.GetContext(_ctx);
                if (context != null)
                {
                    context.OnDestroy -= OnContextDestroy;
                }
            }
        }
Example #4
0
 public static ScriptContext GetContext(JSContext ctx)
 {
     if (ctx.IsValid())
     {
         var rt = JSApi.JS_GetRuntime(ctx);
         return(GetRuntime(rt)?.GetContext(ctx));
     }
     return(null);
 }
Example #5
0
        private void OnReadyStateChange()
        {
            if (!_jsContext.IsValid() || JSApi.JS_IsFunction(_jsContext, _onreadychange) != 1)
            {
                return;
            }
            var ret = JSApi.JS_Call(_jsContext, _onreadychange, JSApi.JS_UNDEFINED);

            JSApi.JS_FreeValue(_jsContext, ret);
        }
Example #6
0
        private void Destroy()
        {
            if (_jsThis.IsUndefined())
            {
                return;
            }
            _state  = ReadyState.UNSENT;
            _code   = 0;
            _jsThis = JSApi.JS_UNDEFINED;

            if (_jsContext.IsValid())
            {
                JSApi.JS_FreeValue(_jsContext, _onreadystatechange);
                _onreadystatechange = JSApi.JS_UNDEFINED;

                JSApi.JS_FreeValue(_jsContext, _onerror);
                _onerror = JSApi.JS_UNDEFINED;

                _jsContext = JSContext.Null;
            }
        }
Example #7
0
        public virtual void Dispose(bool bManaged)
        {
            if (_ctx.IsValid())
            {
                JSApi.JS_FreeContext(_ctx);
                _ctx = JSContext.Null;
            }

            if (_rt.IsValid())
            {
                JSApi.JS_FreeRuntime(_rt);
                _rt = JSRuntime.Null;
            }
        }
Example #8
0
 public bool IsValid()
 {
     return(_ctx.IsValid() && !_this_obj.IsNullish());
 }