/// <summary> /// The on register custom schemes. /// </summary> /// <param name="registrar"> /// The registrar. /// </param> protected override void OnRegisterCustomSchemes(CefSchemeRegistrar registrar) { var schemeHandlerObjs = IoC.GetAllInstances(typeof(ChromelySchemeHandler)); if (schemeHandlerObjs != null) { var schemeHandlers = schemeHandlerObjs.ToList(); foreach (var item in schemeHandlers) { if (item is ChromelySchemeHandler) { ChromelySchemeHandler handler = (ChromelySchemeHandler)item; if (handler.HandlerFactory is CefSchemeHandlerFactory) { bool isStandardScheme = UrlScheme.IsStandardScheme(handler.SchemeName); if (!isStandardScheme) { registrar.AddCustomScheme(handler.SchemeName, true, false, false, false, true, true); } } } } } }
private void RegisterSchemeHandlers() { // Register scheme handlers object[] schemeHandlerObjs = IoC.GetAllInstances(typeof(ChromelySchemeHandler)); if (schemeHandlerObjs != null) { var schemeHandlers = schemeHandlerObjs.ToList(); foreach (var item in schemeHandlers) { if (item is ChromelySchemeHandler) { ChromelySchemeHandler handler = (ChromelySchemeHandler)item; if (handler.HandlerFactory == null) { if (handler.UseDefaultResource) { CefRuntime.RegisterSchemeHandlerFactory(handler.SchemeName, handler.DomainName, new CefGlueResourceSchemeHandlerFactory()); } if (handler.UseDefaultHttp) { CefRuntime.RegisterSchemeHandlerFactory(handler.SchemeName, handler.DomainName, new CefGlueHttpSchemeHandlerFactory()); } } else if (handler.HandlerFactory is CefSchemeHandlerFactory) { CefRuntime.RegisterSchemeHandlerFactory(handler.SchemeName, handler.DomainName, (CefSchemeHandlerFactory)handler.HandlerFactory); } } } } }
private void RegisterSchemeHandlers(CefSharpGlobal.CefSettings settings) { // Register scheme handlers IEnumerable <object> schemeHandlerObjs = IoC.GetAllInstances(typeof(ChromelySchemeHandler)); if (schemeHandlerObjs != null) { var schemeHandlers = schemeHandlerObjs.ToList(); foreach (var item in schemeHandlers) { if (item is ChromelySchemeHandler) { ChromelySchemeHandler handler = (ChromelySchemeHandler)item; settings.RegisterScheme(new CefSharpGlobal.CefCustomScheme { SchemeName = handler.SchemeName, DomainName = handler.DomainName, IsSecure = handler.IsSecure, IsCorsEnabled = handler.IsCorsEnabled, SchemeHandlerFactory = (CefSharpGlobal.ISchemeHandlerFactory)handler.HandlerFactory }); } } } }
public void CustomSchemerTests() { if (Environment.OSVersion.Platform != PlatformID.Win32NT) { return; } GetBaseConfig() .RegisterSchemeHandler("http", "cefsharp1.com", new CustomSchemeHandlerFactory()); var schemeHandlerInstances = IoC.GetAllInstances(typeof(ChromelySchemeHandler)); Assert.NotNull(schemeHandlerInstances); var schemeHandlers = schemeHandlerInstances.ToList(); // use type names to see why that failed var schemeHandlerTypes = schemeHandlers.Select(h => h.GetType().Name); Assert.Equal(nameof(ChromelySchemeHandler), string.Join(";", schemeHandlerTypes)); Assert.True(schemeHandlers[0] is ChromelySchemeHandler); ChromelySchemeHandler customSchemeHandler1 = (ChromelySchemeHandler)schemeHandlers[0]; Assert.Equal("http", customSchemeHandler1.SchemeName); Assert.Equal("cefsharp1.com", customSchemeHandler1.DomainName); Assert.True(customSchemeHandler1.HandlerFactory is CustomSchemeHandlerFactory); }
public void RegisterSchemeHandlers() { // Register scheme handlers object[] schemeHandlerObjs = IoC.GetAllInstances(typeof(ChromelySchemeHandler)); if (schemeHandlerObjs != null) { var schemeHandlers = schemeHandlerObjs.ToList(); foreach (var item in schemeHandlers) { if (item is ChromelySchemeHandler) { ChromelySchemeHandler handler = (ChromelySchemeHandler)item; if (handler.HandlerFactory == null) { if (handler.UseDefaultResource) { m_settings.RegisterScheme(new CefCustomScheme { SchemeName = handler.SchemeName, DomainName = handler.DomainName, IsSecure = handler.IsSecure, IsCorsEnabled = handler.IsCorsEnabled, SchemeHandlerFactory = new CefSharpResourceSchemeHandlerFactory() }); } if (handler.UseDefaultHttp) { m_settings.RegisterScheme(new CefCustomScheme { SchemeName = handler.SchemeName, DomainName = handler.DomainName, IsSecure = handler.IsSecure, IsCorsEnabled = handler.IsCorsEnabled, SchemeHandlerFactory = new CefSharpHttpSchemeHandlerFactory() }); } } else if (handler.HandlerFactory is ISchemeHandlerFactory) { if (item is ChromelySchemeHandler) { m_settings.RegisterScheme(new CefCustomScheme { SchemeName = handler.SchemeName, DomainName = handler.DomainName, IsSecure = handler.IsSecure, IsCorsEnabled = handler.IsCorsEnabled, SchemeHandlerFactory = (ISchemeHandlerFactory)handler.HandlerFactory }); } } } } } }
protected override void OnRegisterCustomSchemes(CefSchemeRegistrar registrar) { object[] schemeHandlerObjs = IoC.GetAllInstances(typeof(ChromelySchemeHandler)); if (schemeHandlerObjs != null) { var schemeHandlers = schemeHandlerObjs.ToList(); foreach (var item in schemeHandlers) { if (item is ChromelySchemeHandler) { ChromelySchemeHandler handler = (ChromelySchemeHandler)item; registrar.AddCustomScheme(handler.SchemeName, false, false, false, false, true, true); } } } }
private void RegisterSchemeHandlers() { // Register scheme handlers IEnumerable <object> schemeHandlerObjs = IoC.GetAllInstances(typeof(ChromelySchemeHandler)); if (schemeHandlerObjs != null) { var schemeHandlers = schemeHandlerObjs.ToList(); foreach (var item in schemeHandlers) { if (item is ChromelySchemeHandler) { ChromelySchemeHandler handler = (ChromelySchemeHandler)item; if (handler.HandlerFactory is CefSchemeHandlerFactory) { CefRuntime.RegisterSchemeHandlerFactory(handler.SchemeName, handler.DomainName, (CefSchemeHandlerFactory)handler.HandlerFactory); } } } } }
public void CustomSchemerTests() { var config = this.GetBaseConfig() .RegisterSchemeHandler("http", "cefsharp1.com", new CustomSchemeHandlerFactory()); var schemeHandlerObjs = IoC.GetAllInstances(typeof(ChromelySchemeHandler)); Assert.NotNull(schemeHandlerObjs); var schemeHandlers = schemeHandlerObjs.ToList(); int count = schemeHandlers.Count; Assert.Equal(1, count); Assert.True(schemeHandlers[0] is ChromelySchemeHandler); ChromelySchemeHandler customSchemeHandler1 = (ChromelySchemeHandler)schemeHandlers[0]; Assert.Equal("http", customSchemeHandler1.SchemeName); Assert.Equal("cefsharp1.com", customSchemeHandler1.DomainName); Assert.True(customSchemeHandler1.HandlerFactory is CustomSchemeHandlerFactory); }