A Gecko-based web browser.
Inheritance: System.Windows.Forms.Control, nsIWebBrowserChrome, nsIContextMenuListener2, nsIWebProgressListener, nsIInterfaceRequestor, nsIEmbeddingSiteWindow2, nsISupportsWeakReference, nsIWeakReference, nsIDOMEventListener, nsISHistoryListener, nsITooltipListener
 public void BeforeEachTestSetup()
 {
     Xpcom.Initialize(XpComTests.XulRunnerLocation);
     browser = new GeckoWebBrowser();
     var unused = browser.Handle;
     Assert.IsNotNull(browser);
 }
 public void BeforeEachTestSetup()
 {
     Xpcom.Initialize(XpComTests.XulRunnerLocation);
     _browser = new GeckoWebBrowser();
     var doingThisIsRequired = _browser.Handle;
     _tempPath = Path.GetTempFileName();
 }
Esempio n. 3
0
        protected void AddTab()
        {
            var tabPage = new TabPage();
            tabPage.Text = "blank";
            var browser = new GeckoWebBrowser();
            browser.Dock = DockStyle.Fill;

            tabPage.DockPadding.Top = 25;
            tabPage.Dock = DockStyle.Fill;

            // add a handler showing how to view the DOM
            //			browser.DocumentCompleted += (s, e) => 	TestQueryingOfDom(browser);

            // add a handler showing how to modify the DOM.
            //			browser.DocumentCompleted += (s, e) => TestModifyingDom(browser);

            AddToolbarAndBrowserToTab(tabPage, browser);

            m_tabControl.TabPages.Add(tabPage);
            tabPage.Show();
            m_tabControl.SelectedTab = tabPage;

            // Uncomment this to stop links from navigating.
            // browser.DomClick += StopLinksNavigating;
        }
Esempio n. 4
0
        public ImageCreator(GeckoWebBrowser browser)
        {
            if (Xpcom.IsLinux)
                throw new NotImplementedException();

            m_browser = browser;
        }
Esempio n. 5
0
 protected void TestModifyingDom(GeckoWebBrowser browser)
 {
     GeckoElement g = browser.Document.DocumentElement;
     ModifyElements(g, "BODY", e =>
                     {
                         for (int i = 1; i < 4; ++i)
                         {
                             var newElement = g.OwnerDocument.CreateElement(String.Format("h{0}", i));
                             newElement.TextContent = "Geckofx added this text.";
                             g.InsertBefore(newElement, e);
                         }
                     });
 }
Esempio n. 6
0
        public void checkForFirefoxInstallation()
        {
            /*    O2Thread.mtaThread(
                    () =>
                        {
                            Processes.Sleep(1000);*/
            if (false == allOkWithFirefoxControl)
                scGeckoBrowserAndTabControl.invokeOnThread(
                    () =>
                        {
                            try
                            {


                                if (FirefoxXul.is64BitOs())
                                {
                                    scGeckoBrowserAndTabControl.Panel2Collapsed = true;
                                    scGeckoBrowserAndTabControl.Panel1.Controls.Add(new ascx_x64 {Dock = DockStyle.Fill});
                                }
                                else if (false == FirefoxXul.isFirefoxInstalled())
                                {
                                    scGeckoBrowserAndTabControl.Panel2Collapsed = true;
                                    scGeckoBrowserAndTabControl.Panel1.Controls.Add(
                                        new ascx_InstallFirefox(checkForFirefoxInstallation) {Dock = DockStyle.Fill});
                                }
                                else
                                {
                                    scGeckoBrowserAndTabControl.Panel2Collapsed = false;
                                    webBrowser = FirefoxXul.createGeckoWebBrowser();
                                    if (webBrowser != null)
                                    {
                                        scGeckoBrowserAndTabControl.Panel1.Controls.Clear();
                                        var toString = webBrowser.ToString();
                                        scGeckoBrowserAndTabControl.Panel1.Controls.Add(webBrowser);
                                        btOpenRequestInWebBrowser_Click(null, null);
                                        webBrowser.DocumentCompleted +=
                                            (sender, e) => analyzeLoadedUrlHtmlObjects();
                                        allOkWithFirefoxControl = true;
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                DI.log.error("in checkForFirefoxInstallation: {0}", ex.Message);

                            }
                        });
            /*
                    });        */
        }
Esempio n. 7
0
        public Form1()
        {
            InitializeComponent();

            Xpcom.Initialize(@"C:\xulrunner");

            browser = new GeckoWebBrowser();
            browser.Top = 50;
            browser.Left = 20;
            browser.Width = 600;
            browser.Height = 600;
            this.Controls.Add(browser);

            browser.DocumentCompleted += browser_DocumentCompleted;
        }
 /// <summary>
 /// Opens a new window which contains the source code for the specified page.
 /// </summary>
 /// <param name="url"></param>
 public void ViewSource(string url)
 {
     //#if GECKO_1_9
     //OpenDialog("chrome://global/content/viewSource.xul", "all,dialog=no", "a", "b", "c");
     //#elif GECKO_1_8
     Form form = new Form();
     form.Text = "View Source";
     GeckoWebBrowser browser = new GeckoWebBrowser();
     browser.Dock = DockStyle.Fill;
     form.Controls.Add(browser);
     form.Load += delegate { browser.Navigate("view-source:" + url); };
     form.Icon = FindForm().Icon;
     form.ClientSize = this.ClientSize;
     form.StartPosition = FormStartPosition.CenterParent;
     form.Show();
     //#endif
 }
Esempio n. 9
0
 /// <summary>
 /// Opens a new window which contains the source code for the specified page.
 /// </summary>
 /// <param name="url"></param>
 public void ViewSource(string url)
 {
     Form form = new Form();
     form.Text = "View Source";
     GeckoWebBrowser browser = new GeckoWebBrowser();
     browser.Dock = DockStyle.Fill;
     form.Controls.Add(browser);
     form.Load += (sender, e) => browser.Navigate(String.Format("view-source:{0}", url));
     form.Icon = FindForm().Icon;
     form.ClientSize = this.ClientSize;
     form.StartPosition = FormStartPosition.CenterParent;
     form.Show();
 }
Esempio n. 10
0
 protected void TestQueryingOfDom(GeckoWebBrowser browser)
 {
     GeckoElement g = browser.Document.DocumentElement;
     DisplayElements(g);
 }
Esempio n. 11
0
        protected void AddToolbarAndBrowserToTab(TabPage tabPage, GeckoWebBrowser browser)
        {
            TextBox urlbox = new TextBox();
            urlbox.Top = 0;
            urlbox.Width = 200;

            Button nav = new Button();
            nav.Text = "Go";
            nav.Left = 200;

            Button newTab = new Button();
            newTab.Text = "NewTab";
            newTab.Left = 200 + nav.Width;

            Button closeTab = new Button();
            closeTab.Text = "Close";
            closeTab.Left = 200 + nav.Width + newTab.Width;

            Button scrollDown = new Button { Text = "Down", Left = closeTab.Left + 250 };
            Button scrollUp = new Button { Text = "Up", Left = closeTab.Left + 330 };

            scrollDown.Click += (s, e) => { browser.Window.ScrollByPages(1); };
            scrollUp.Click += (s, e) => { browser.Window.ScrollByPages(-1); };

            nav.Click += delegate
            {
                // use javascript to warn if url box is empty.
                if (string.IsNullOrEmpty(urlbox.Text.Trim()))
                    browser.Navigate("javascript:alert('hey try typing a url!');");

                browser.Navigate(urlbox.Text);
                tabPage.Text = urlbox.Text;
            };

            newTab.Click += delegate { AddTab(); };

            closeTab.Click += delegate
            {
                m_tabControl.Controls.Remove(tabPage);
                browser.Dispose();
            };

            tabPage.Controls.Add(urlbox);
            tabPage.Controls.Add(nav);
            tabPage.Controls.Add(newTab);
            tabPage.Controls.Add(closeTab);
            tabPage.Controls.Add(browser);
            tabPage.Controls.Add(scrollDown);
            tabPage.Controls.Add(scrollUp);
        }
Esempio n. 12
0
        public GUIMain()
        {
            InitializeComponent();
            // Load version.
            this.versionLabel.Text = PROGRAM_TITLE + " V " + VERSION_NUM;
            m_highColor = Color.FromArgb(0, 192, 0);
            m_lowColor = Color.Red;
            m_eventLog = new List<EventLog>();
            m_weapons = new Dictionary<string, Weapon>();
            m_sessionWeapons = new Dictionary<string, Weapon>();
            m_sesStartWeapons = new Dictionary<string, Weapon>();
            m_browser = new GeckoWebBrowser();
            m_currentEvent = new EventLog();
            m_sessionStarted = false;
            m_lastEventFound = false;
            m_initialized = false;
            m_pageLoaded = false;
            m_weaponsUpdated = false;
            m_dragging = false;
            m_resizing = false;
            m_totalHS = 0;
            m_totalKills = 0.0f;
            m_totalDeaths = 0.0f;
            m_totalDeathsWithRevives = 0.0f;
            m_activeSeconds = 0;
            m_timeout = 0;
            m_sessionStartHSR = 0.0f;
            m_sessionStartKDR = 0.0f;
            m_username = "";
            m_userID = "";
            m_userFaction = "";

            // Prevent X images showing up.
            ((DataGridViewImageColumn)this.eventLogGridView.Columns[2]).DefaultCellStyle.NullValue = null;

            // Handle mouse movement and resizing on borderless window.
            this.resizePanelLR.MouseDown += OnMouseDownResize;
            this.resizePanelLR.MouseMove += OnMouseMove;
            this.resizePanelLR.MouseUp += OnMouseUp;

            MouseMove += OnMouseMove;
            MouseDown += OnMouseDown;
            MouseUp += OnMouseUp;
            foreach (Control ctrl in this.Controls)
            {
                if (ctrl.GetType() == typeof(Label))
                {
                    ctrl.MouseMove += OnMouseMove;
                    ctrl.MouseDown += OnMouseDown;
                    ctrl.MouseUp += OnMouseUp;
                }
            }

            this.menuStrip1.MouseMove += OnMouseMove;
            this.menuStrip1.MouseDown += OnMouseDown;
            this.menuStrip1.MouseUp += OnMouseUp;

            this.panel1.MouseMove += OnMouseMove;
            this.panel1.MouseDown += OnMouseDown;
            this.panel1.MouseUp += OnMouseUp;

            foreach (Control ctrl in this.panel1.Controls)
            {
                if (ctrl.GetType() == typeof(Label))
                {
                    ctrl.MouseMove += OnMouseMove;
                    ctrl.MouseDown += OnMouseDown;
                    ctrl.MouseUp += OnMouseUp;
                }
            }
            this.panel2.MouseMove += OnMouseMove;
            this.panel2.MouseDown += OnMouseDown;
            this.panel2.MouseUp += OnMouseUp;

            foreach (Control ctrl in this.panel2.Controls)
            {
                if (ctrl.GetType() == typeof(Label))
                {
                    ctrl.MouseMove += OnMouseMove;
                    ctrl.MouseDown += OnMouseDown;
                    ctrl.MouseUp += OnMouseUp;
                }
            }

            m_currentEvent.Initialize();
            this.Controls.Add(m_browser);
            // Handler for when page load completes.
            m_browser.DocumentCompleted += new EventHandler(browser_DocumentCompleted);
        }
Esempio n. 13
0
 internal JSErrorHandler(GeckoWebBrowser browser)
 {
     m_browser = browser;
 }
Esempio n. 14
0
 public ConsoleListener(GeckoWebBrowser browser)
 {
     m_browser = browser;
 }
 public NavigateFinishedNotifier(GeckoWebBrowser browser)
 {
     m_browser = browser;
     m_browser.Navigating += (sender, e) => EmitNavigateFinishedWhenDone();
 }