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) { SharpTab tab2 = (SharpTab)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; SharpTab newTab = AddNewBrowser(newStrip, url); newTab.RefererURL = refererUrl; if (focusNewTab) { timer1.Enabled = true; } return newTab.Browser; })); }
public SharpTab GetTabByBrowser(IWebBrowser browser) { foreach (FATabStripItem tab2 in TabPages.Items) { SharpTab tab = (SharpTab)(tab2.Tag); if (tab != null && tab.Browser == browser) { return(tab); } } return(null); }
private SharpTab AddNewBrowser(FATabStripItem tabStrip, String url) { if (url == "") { url = NewTabURL; } ChromiumWebBrowser browser = new ChromiumWebBrowser(url); var requestContextSettings = new RequestContextSettings { CachePath = GetAppDir("Cache/tmp_" + TabPages.Items.Count + "cache") }; browser.RequestContext = new RequestContext(requestContextSettings); // 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 SharpTab tab = new SharpTab { IsOpen = true, Browser = browser, Tab = tabStrip, PrevURL = null, OrigURL = url, CurURL = url, Title = "New Tab", DateCreated = DateTime.Now }; // save tab obj in tabstrip tabStrip.Tag = tab; /*if (url.StartsWith(InternalURL + ":")) { * browser.JavascriptObjectRepository.Register("host", host, true, BindingOptions.DefaultBinder); * }*/ return(tab); }
private SharpTab 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; browser.DisplayHandler = Dsphandler; // new tab obj SharpTab tab = new SharpTab { 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("sharpbrowser:")) { browser.RegisterAsyncJsObject("host", host, null); } return(tab); }
private SharpTab 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 SharpTab tab = new SharpTab { 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(InternalURL + ":")) { // https://github.com/cefsharp/CefSharp/issues/2990 :: browser.RegisterAsyncJsObject("host", host); CefSharpSettings.LegacyJavascriptBindingEnabled = true; browser.JavascriptObjectRepository.Register("host", host, isAsync: true, options: BindingOptions.DefaultBinder); } return(tab); }