diff options
Diffstat (limited to 'Software/Visual_Studio/PPC/Modules/Tango.PPC.Browser/Helpers/BoundObjectsHelper.cs')
| -rw-r--r-- | Software/Visual_Studio/PPC/Modules/Tango.PPC.Browser/Helpers/BoundObjectsHelper.cs | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Browser/Helpers/BoundObjectsHelper.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Browser/Helpers/BoundObjectsHelper.cs deleted file mode 100644 index fe68ee848..000000000 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Browser/Helpers/BoundObjectsHelper.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Reflection; -using Tango.PPC.Browser.Attributes; -using CefSharp; -using CefSharp.Wpf; -using Tango.Core.Helpers; -using System.Windows.Threading; - -namespace Tango.PPC.Browser.Helpers -{ - public static class BoundObjectsHelper - { - private static DispatcherTimer _timer; - private static Dispatcher _dispatcher; - private static ChromiumWebBrowser _browser; - - private static List<String> _scripts = new List<string>(); - - public static void RegisterAllBoundObjects(ChromiumWebBrowser browser, Dispatcher dispatcher) - { - _dispatcher = dispatcher; - _browser = browser; - - _timer = new DispatcherTimer(DispatcherPriority.Background, dispatcher); - _timer.Tick += _timer_Tick; - _timer.Interval = TimeSpan.FromSeconds(2); - _timer.Stop(); - - foreach (var type in typeof(BoundObjectsHelper).Assembly.GetTypes().Where(x => x.GetCustomAttribute<BoundObjectAttribute>() != null)) - { - var att = type.GetCustomAttribute<BoundObjectAttribute>(); - - var script = EmbeddedResourceHelper.GetEmbeddedResourceText($"Tango.PPC.Browser.Scripts.{att.ScriptFile}"); - _scripts.Add(script); - - browser.JavascriptObjectRepository.Register(att.Name, Activator.CreateInstance(type), true); - - browser.FrameLoadEnd += Browser_FrameLoadEnd; - } - } - - private static void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e) - { - _timer.Stop(); - _timer.Start(); - } - - private static void _timer_Tick(object sender, EventArgs e) - { - try - { - _timer.Stop(); - - _dispatcher.BeginInvoke(new Action(() => - { - foreach (var script in _scripts) - { - _browser.GetMainFrame().ExecuteJavaScriptAsync(script); - } - })); - } - catch - { - _timer.Start(); - } - } - } -} |
