public SeattleUVolunteerSource( IBrowserProvider browserProvider, IOptions <SeattleUVolunteerOptions> options) { _browserProvider = browserProvider; _options = options.Value; }
public PdfService( IBrowserProvider browserProvider, IOptions <PdfSettings> options, ILogger <PdfService> logger) { _browserProvider = browserProvider; _config = options.Value; _logger = logger; }
public BrowserElement(BrowserSelector selector) { InitializeComponent(); _browserProvider = selector.SelectedBrowser; DataContext = _browser = _browserProvider.CreateBrowser(); _browser?.Navigate(selector.DefaultUrl.Value); Application.Current.Exit += OnApplicationExit; }
public BrowserWrapper(string rpUri) { r_BrowserProviders = new List<IBrowserProvider>(); var rBrowserPath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "Browsers"); foreach (var rBrowser in Directory.EnumerateFiles(rBrowserPath, "*.dll")) { FileSystem.Unblock(rBrowser); var rAssembly = Assembly.LoadFile(rBrowser); var rTypes = rAssembly.GetTypes().Where(r => r.GetInterface(typeof(IBrowserProvider).FullName) != null); foreach (var rType in rTypes) { r_BrowserProviders.Add((IBrowserProvider)rAssembly.CreateInstance(rType.FullName)); } } BridgeReady = new ManualResetEventSlim(false); InitializeComponent(); r_Uri = rpUri; r_Zoom = 1.0; Bridge = new Bridge<IBrowserWrapper, IBrowserHost>(this, r_Uri + "Browser", "Browser"); Bridge.Connect(r_Uri + "BrowserHost"); BridgeReady.Set(); r_BrowserProvider = r_BrowserProviders.First(); Container.Content = Browser = r_BrowserProvider.GetBrowser(); var rParameters = new HwndSourceParameters(string.Format("Dentan.Browser({0})", r_BrowserProvider.BrowserName)) { WindowStyle = 0 }; r_HwndSource = new HwndSource(rParameters) { SizeToContent = SizeToContent.Manual }; r_HwndSource.CompositionTarget.BackgroundColor = Color.FromRgb(0x59, 0x59, 0x59); NativeMethods.User32.SetWindowLongPtr(r_HwndSource.Handle, NativeConstants.GetWindowLong.GWL_STYLE, (IntPtr)(NativeEnums.WindowStyle.WS_CHILD | NativeEnums.WindowStyle.WS_CLIPCHILDREN)); NativeMethods.User32.SetWindowPos(r_HwndSource.Handle, IntPtr.Zero, 0, 0, 0, 0, NativeEnums.SetWindowPosition.SWP_FRAMECHANGED | NativeEnums.SetWindowPosition.SWP_NOMOVE | NativeEnums.SetWindowPosition.SWP_NOSIZE | NativeEnums.SetWindowPosition.SWP_NOZORDER); r_HwndSource.RootVisual = this; Bridge.Proxy.Attach(r_HwndSource.Handle); Browser.FlashExtracted += UpdateSize; }
void LoadBrowser(string rpLayoutEngine) { if (!r_BrowsersDirectory.Exists) { throw new DirectoryNotFoundException(r_BrowsersDirectory.FullName); } foreach (var rFile in r_BrowsersDirectory.EnumerateFiles("*.dll", SearchOption.AllDirectories)) { FileSystem.Unblock(rFile.FullName); } var rInfos = r_BrowsersDirectory.EnumerateFiles("*.json").Select(r => { using (var rReader = new JsonTextReader(File.OpenText(r.FullName))) return(JObject.Load(rReader).ToObject <LayoutEngineInfo>()); }).ToArray(); var rInfo = rInfos.SingleOrDefault(r => r.Name == rpLayoutEngine); if (rInfo == null) { throw new Exception($"Assigned layout engine not found.{Environment.NewLine}Current layout engine: {rpLayoutEngine}{Environment.NewLine}Installed layout engine(s):{Environment.NewLine}{rInfos.Select(r => r.Name).Join(Environment.NewLine)}"); } if (rInfo.Dependencies != null) { r_LayoutEngineDependencies = rInfo.Dependencies.ToHybridDictionary(r => r.AssemblyName, r => r.Path); } var rAssembly = Assembly.LoadFile(Path.Combine(r_BrowsersDirectory.FullName, rInfo.EntryFile)); var rType = rAssembly.GetTypes().Where(r => r.GetInterface(typeof(IBrowserProvider).FullName) != null).FirstOrDefault(); if (rType == null) { throw new Exception($"IBrowserProvider not found in {rAssembly.FullName}."); } r_BrowserProvider = (IBrowserProvider)rAssembly.CreateInstance(rType.FullName); }
public BrowserElement(BrowserSelector selector, LayoutSetting layoutSetting) { InitializeComponent(); _browserProvider = selector.SelectedBrowser; ActualContent.Content = DataContext = _browser = _browserProvider?.CreateBrowser(); if (_browser is null) { Visibility = Visibility.Collapsed; } else { _browser.LockGame = true; _browser.Navigate(selector.Settings.DefaultUrl.Value); layoutSetting.LayoutScale.ValueChanged += _ => UpdateScale(); layoutSetting.BrowserScale.ValueChanged += _ => UpdateScale(); Loaded += (s, e) => UpdateScale(); this.layoutSetting = layoutSetting; } Application.Current.Exit += OnApplicationExit; }
public MassWASource(IBrowserProvider browserProvider) { _browserProvider = browserProvider; }
void LoadBrowser(string rpLayoutEngine) { if (!r_BrowsersDirectory.Exists) throw new DirectoryNotFoundException(r_BrowsersDirectory.FullName); foreach (var rFile in r_BrowsersDirectory.EnumerateFiles("*.dll", SearchOption.AllDirectories)) FileSystem.Unblock(rFile.FullName); var rInfos = r_BrowsersDirectory.EnumerateFiles("*.json").Select(r => { using (var rReader = new JsonTextReader(File.OpenText(r.FullName))) return JObject.Load(rReader).ToObject<LayoutEngineInfo>(); }).ToArray(); var rInfo = rInfos.SingleOrDefault(r => r.Name == rpLayoutEngine); if (rInfo == null) throw new Exception($"Assigned layout engine not found.{Environment.NewLine}Current layout engine: {rpLayoutEngine}{Environment.NewLine}Installed layout engine(s):{Environment.NewLine}{rInfos.Select(r => r.Name).Join(Environment.NewLine)}"); if (rInfo.Dependencies != null) r_LayoutEngineDependencies = rInfo.Dependencies.ToHybridDictionary(r => r.AssemblyName, r => r.Path); var rAssembly = Assembly.LoadFile(Path.Combine(r_BrowsersDirectory.FullName, rInfo.EntryFile)); var rType = rAssembly.GetTypes().Where(r => r.GetInterface(typeof(IBrowserProvider).FullName) != null).FirstOrDefault(); if (rType == null) throw new Exception($"IBrowserProvider not found in {rAssembly.FullName}."); r_BrowserProvider = (IBrowserProvider)rAssembly.CreateInstance(rType.FullName); }
void LoadBrowser(string rpLayoutEngine) { if (!r_BrowsersDirectory.Exists) throw new Exception(); foreach (var rFile in r_BrowsersDirectory.EnumerateFiles("*.dll", SearchOption.AllDirectories)) FileSystem.Unblock(rFile.FullName); var rInfo = r_BrowsersDirectory.EnumerateFiles("*.json").Select(r => { using (var rReader = new JsonTextReader(File.OpenText(r.FullName))) return JObject.Load(rReader).ToObject<LayoutEngineInfo>(); }).SingleOrDefault(r => r.Name == rpLayoutEngine); if (rInfo == null) throw new Exception(); if (rInfo.Dependencies != null) r_LayoutEngineDependencies = rInfo.Dependencies.ToDictionary(r => r.AssemblyName, r => r.Path); var rAssembly = Assembly.LoadFile(Path.Combine(r_BrowsersDirectory.FullName, rInfo.EntryFile)); var rType = rAssembly.GetTypes().Where(r => r.GetInterface(typeof(IBrowserProvider).FullName) != null).FirstOrDefault(); if (rType == null) throw new Exception(); r_BrowserProvider = (IBrowserProvider)rAssembly.CreateInstance(rType.FullName); }