public ChromiumWebBrowser AddNewBrowserTab(string url, bool focusNewTab = true, string refererUrl = null) { return((ChromiumWebBrowser)this.Invoke((Func <ChromiumWebBrowser>) delegate { // check if already exists foreach (FATabStripItem tab in TabPages.Items) { WebBrowserTab tab2 = (WebBrowserTab)tab.Tag; if (tab2 != null && (tab2.CurURL == url)) { TabPages.SelectedItem = tab; return tab2.Browser; } } FATabStripItem tabStrip = new FATabStripItem(); tabStrip.Title = "New Tab"; TabPages.Items.Insert(TabPages.Items.Count - 1, tabStrip); newStrip = tabStrip; WebBrowserTab newTab = AddNewBrowser(newStrip, url); newTab.RefererURL = refererUrl; if (focusNewTab) { timer1.Enabled = true; } return newTab.Browser; })); }
public WebBrowserTab GetTabByBrowser(IWebBrowser browser) { foreach (FATabStripItem tab2 in TabPages.Items) { WebBrowserTab tab = (WebBrowserTab)(tab2.Tag); if (tab != null && tab.Browser == browser) { return(tab); } } return(null); }
private WebBrowserTab AddNewBrowser(FATabStripItem tabStrip, String url) { if (url == "") { url = NewTabURL; } ChromiumWebBrowser browser = new ChromiumWebBrowser(url); // set config ConfigureBrowser(browser); // set layout browser.Dock = DockStyle.Fill; tabStrip.Controls.Add(browser); browser.BringToFront(); // add events browser.StatusMessage += Browser_StatusMessage; browser.LoadingStateChanged += Browser_LoadingStateChanged; browser.TitleChanged += Browser_TitleChanged; browser.LoadError += Browser_LoadError; browser.AddressChanged += Browser_URLChanged; browser.DownloadHandler = dHandler; browser.MenuHandler = mHandler; browser.LifeSpanHandler = lHandler; browser.KeyboardHandler = kHandler; browser.RequestHandler = rHandler; // new tab obj WebBrowserTab tab = new WebBrowserTab { IsOpen = true, Browser = browser, Tab = tabStrip, OrigURL = url, CurURL = url, Title = "New Tab", DateCreated = DateTime.Now }; // save tab obj in tabstrip tabStrip.Tag = tab; if (url.StartsWith("WebBrowserDemo:")) { CefSharpSettings.LegacyJavascriptBindingEnabled = true; CefSharp.BindingOptions option = new CefSharp.BindingOptions(); browser.RegisterAsyncJsObject("host", host, option); } return(tab); }