コード例 #1
0
        public static ITaskProvider TransformPromiseToTask(this IJavascriptObject javascriptObjectPromise, IWebView webView)
        {
            var promiseHandler = new TaskToPromiseHandler(webView);

            javascriptObjectPromise.Invoke("then", webView, promiseHandler.Fufill);
            return(promiseHandler);
        }
コード例 #2
0
 public void MoveCollectionItem(IJavascriptObject array, IJavascriptObject item, int oldIndex, int newIndex)
 {
     _WebView.RunAsync(() => 
     {
         array.Invoke("silentSplice", _WebView, _WebView.Factory.CreateInt(oldIndex), _WebView.Factory.CreateInt(1));
         AddUnsafe(array, newIndex, 0, item);
     });
 }
コード例 #3
0
 public void MoveCollectionItem(IJavascriptObject array, IJavascriptObject item, int oldIndex, int newIndex)
 {
     _WebView.RunAsync(() =>
     {
         array.Invoke("silentSplice", _WebView, _WebView.Factory.CreateInt(oldIndex), _WebView.Factory.CreateInt(1));
         AddUnsafe(array, newIndex, 0, item);
     });
 }
コード例 #4
0
 public void ClearAllCollection(IJavascriptObject array)
 {
     _WebView.RunAsync(() =>
     {
         var length = array.GetArrayLength();
         array.Invoke("silentSplice", _WebView, _WebView.Factory.CreateInt(0), _WebView.Factory.CreateInt(length));
     });
 }
コード例 #5
0
 public void ClearAllCollection(IJavascriptObject array)
 {
     _WebView.RunAsync(() =>
     {
         var length = array.GetArrayLength();
         array.Invoke("silentSplice", _WebView, _WebView.Factory.CreateInt(0), _WebView.Factory.CreateInt(length));
     });
 }
コード例 #6
0
        public void Reroot(string PropertyName, IJSCSGlue newValue)
        {
            _Attributes[PropertyName] = newValue;

            IJavascriptObject silenter = null;

            if (_Silenters.TryGetValue(PropertyName, out silenter))
            {
                silenter.InvokeAsync("silent", _CefV8Context, newValue.GetJSSessionValue());
            }
            else
            {
                _CefV8Context.RunAsync(() =>
                {
                    var jso = _MappedJSValue;
                    if (!_Silenters.TryGetValue(PropertyName, out silenter))
                    {
                        silenter = jso.GetValue(PropertyName);
                        _Silenters.Add(PropertyName, silenter);
                    }
                    silenter.Invoke("silent", _CefV8Context, newValue.GetJSSessionValue());
                });
            }
        }
コード例 #7
0
 protected int GetIntAttribute(IJavascriptObject value, string attibutename)
 {
     return(_WebView.Evaluate(() => value.Invoke(attibutename, _WebView).GetIntValue()));
 }
コード例 #8
0
 public Task <IJavascriptObject> GetAttributeAsync(IJavascriptObject value, string attributeName)
 {
     return(_WebView.EvaluateAsync(() => value.Invoke(attributeName, _WebView)));
 }
コード例 #9
0
 public bool GetBoolAttribute(IJavascriptObject value, string attibutename)
 {
     return(_WebView.Evaluate(() => value.Invoke(attibutename, _WebView).GetBoolValue()));
 }
コード例 #10
0
 public IJavascriptObject GetAttribute(IJavascriptObject value, string attibutename)
 {
     return(_WebView.Evaluate(() => value.Invoke(attibutename, _WebView)));
 }
コード例 #11
0
ファイル: TestBase.cs プロジェクト: m-khosravi/Neutronium
 protected IJavascriptObject CallWithRes(IJavascriptObject value, string functionname, params IJavascriptObject[] parameter)
 {
     return(_WebView.Evaluate(() => value.Invoke(functionname, _WebView, parameter)));
 }
コード例 #12
0
 public void SetAttribute(IJavascriptObject father, string attibutename, IJavascriptObject value)
 {
     _WebView.Evaluate(() => father.Invoke(attibutename, _WebView, value));
 }
コード例 #13
0
 public bool GetBoolAttribute(IJavascriptObject value, string attibutename)
 {
     return _WebView.Evaluate(() => value.Invoke(attibutename, _WebView).GetBoolValue());
 }
コード例 #14
0
 public double GetDoubleAttribute(IJavascriptObject value, string attibutename)
 {
     return _WebView.Evaluate(() => value.Invoke(attibutename, _WebView).GetDoubleValue());
 }
コード例 #15
0
 public IJavascriptObject GetAttribute(IJavascriptObject value, string attibutename)
 {
     return _WebView.Evaluate(() => value.Invoke(attibutename, _WebView));
 }
コード例 #16
0
 public Task SetAttributeAsync(IJavascriptObject father, string attributeName, IJavascriptObject value)
 {
     return(_WebView.EvaluateAsync(() => father.Invoke(attributeName, _WebView, value)));
 }
コード例 #17
0
 public string GetStringAttribute(IJavascriptObject value, string attributeName)
 {
     return(_WebView.Evaluate(() => value.Invoke(attributeName, _WebView).GetStringValue()));
 }
コード例 #18
0
 private void AddUnsafe(IJavascriptObject array, int index, int number, IJavascriptObject value)
 {
     array.Invoke("silentSplice", _WebView, _WebView.Factory.CreateInt(index), _WebView.Factory.CreateInt(number), value);
     InjectUnsafe(value);
 }
コード例 #19
0
ファイル: JSCommand.cs プロジェクト: yovannyr/MVVM.CEF.Glue
        private void CanExecuteCommand(IJavascriptObject[] e, IJSCBridgeCache mapper)
        {
            bool res = _Command.CanExecute(GetArguments(mapper, e));

            _MappedJSValue.Invoke("CanExecuteValue", _IWebView, _IWebView.Factory.CreateBool(res));
        }
コード例 #20
0
 private void Silent(IJavascriptObject silenter, IJavascriptObject value)
 {
     silenter.Invoke("silent", _WebView, value);
 }
コード例 #21
0
ファイル: TestBase.cs プロジェクト: m-khosravi/Neutronium
 protected void Call(IJavascriptObject value, string functionname, Func <IJavascriptObject> parameter)
 {
     _WebView.Run(() => value.Invoke(functionname, _WebView, parameter()));
 }
コード例 #22
0
 private void Silent(IJavascriptObject silenter, IJavascriptObject value)
 {
     silenter.Invoke("silent", _WebView, value);
 }
コード例 #23
0
 public double GetDoubleAttribute(IJavascriptObject value, string attibutename)
 {
     return(_WebView.Evaluate(() => value.Invoke(attibutename, _WebView).GetDoubleValue()));
 }
コード例 #24
0
        protected async Task CallAsync(IJavascriptObject value, string functionName, params IJavascriptObject[] parameter)
        {
            await _WebView.RunAsync(() => value.Invoke(functionName, _WebView, parameter));

            await WaitAnotherWebContextCycle();
        }
コード例 #25
0
 public void SetAttribute(IJavascriptObject father, string attibutename, IJavascriptObject value)
 {
     _WebView.Evaluate(() => father.Invoke(attibutename, _WebView, value));
 }
コード例 #26
0
        protected async Task <IJavascriptObject> CallWithResAsync(IJavascriptObject value, string functionName, params IJavascriptObject[] parameter)
        {
            await WaitAnotherWebContextCycle();

            return(await _WebView.EvaluateAsync(() => value.Invoke(functionName, _WebView, parameter)));
        }
コード例 #27
0
 private void AddUnsafe(IJavascriptObject array, int index, int number, IJavascriptObject value) 
 {
     array.Invoke("silentSplice", _WebView, _WebView.Factory.CreateInt(index), _WebView.Factory.CreateInt(number), value);
     InjectUnsafe(value);
 }
コード例 #28
0
 protected void Call(IJavascriptObject value, string functionName, params IJavascriptObject[] parameter)
 {
     _WebView.Run(() => value.Invoke(functionName, _WebView, parameter));
 }