コード例 #1
0
ファイル: CefGlueApp.cs プロジェクト: times21/Chromely
        /// <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);
                            }
                        }
                    }
                }
            }
        }
コード例 #2
0
ファイル: HostBase.cs プロジェクト: won21kr/Chromely
        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);
                        }
                    }
                }
            }
        }
コード例 #3
0
        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
                        });
                    }
                }
            }
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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
                                });
                            }
                        }
                    }
                }
            }
        }
コード例 #6
0
        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);
                    }
                }
            }
        }
コード例 #7
0
        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);
                        }
                    }
                }
            }
        }
コード例 #8
0
        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);
        }