Esempio n. 1
0
        public static GeckoElement CreateDomElementWrapper(nsIDOMElement element)
        {
            if (element == null)
            {
                return(null);
            }

            var htmlElement = Xpcom.QueryInterface <nsIDOMHTMLElement>(element);

            if (htmlElement != null)
            {
                Marshal.ReleaseComObject(htmlElement);
                return(GeckoHtmlElement.Create((nsIDOMHTMLElement)element));
            }
            var svgElement = Xpcom.QueryInterface <nsIDOMSVGElement>(element);

            if (svgElement != null)
            {
                Marshal.ReleaseComObject(svgElement);
                return(DOM.Svg.SvgElement.CreateSvgElementWrapper((nsIDOMSVGElement)element));
            }
            var xulElement = Xpcom.QueryInterface <nsIDOMXULElement>(element);

            if (xulElement != null)
            {
                Marshal.ReleaseComObject(xulElement);
                return(DOM.Xul.XulElement.CreateXulElementWrapper((nsIDOMXULElement)element));
            }
            return(new GeckoElement(element));
        }
Esempio n. 2
0
        public static GeckoElement CreateDomElementWrapper(mozIDOMWindowProxy window, nsIDOMElement element)
        {
            if (element == null)
            {
                return(null);
            }

            var htmlElement = Xpcom.QueryInterface </* nsIDOMHTMLElement */ nsISupports>(element);

            if (htmlElement != null)
            {
                Marshal.ReleaseComObject(htmlElement);
                return(GeckoHtmlElement.Create(window, /* (nsIDOMHTMLElement) */ element));
            }
            var svgElement = Xpcom.QueryInterface </* nsIDOMSVGElement */ nsISupports>(element);

            if (svgElement != null)
            {
                Marshal.ReleaseComObject(svgElement);
                return(DOM.Svg.SvgElement.CreateSvgElementWrapper(window, /* nsIDOMSVGElement */ element));
            }
            var xulElement = Xpcom.QueryInterface <nsIDOMXULElement>(element);

            if (xulElement != null)
            {
                Marshal.ReleaseComObject(xulElement);
                return(DOM.Xul.XulElement.CreateXulElementWrapper(window, (nsIDOMXULElement)element));
            }
            return(new GeckoElement(window, element));
        }
        public override IEnumerator <GeckoHtmlElement> GetEnumerator()
        {
            int length = Length;

            for (int i = 0; i < length; i++)
            {
                yield return(GeckoHtmlElement.Create((nsIDOMHTMLElement)Collection.Item((uint)i)));
            }
        }
        /// <summary>
        /// Gets the value of the data-xxx attributes
        /// </summary>
        /// <param name="dataAttributeName">Microdata label in data-label attribute</param>
        /// <returns></returns>
        public static string GetData(this GeckoHtmlElement node, string dataAttributeName)
        {
            if (string.IsNullOrEmpty(dataAttributeName))
            {
                throw new ArgumentException("attributeName");
            }

            return(node.GetAttribute(string.Concat("data-", dataAttributeName)));
        }
        public GeckoHtmlElement CreateHtmlElement(string tagName)
        {
            if (string.IsNullOrEmpty(tagName))
            {
                throw new ArgumentException("tagName");
            }

            return(GeckoHtmlElement.Create(Window, Doc.Value.CreateElement(tagName)));
        }
Esempio n. 6
0
        public GeckoHtmlElement CreateHtmlElement(string tagName)
        {
            if (string.IsNullOrEmpty(tagName))
            {
                throw new ArgumentException("tagName");
            }

            var nativeElement = nsString.Pass <nsIDOMElement>(_domDocument.CreateElement, tagName);

            return(GeckoHtmlElement.Create((nsIDOMHTMLElement)nativeElement));
        }
Esempio n. 7
0
        /// <summary>
        /// Searches for and returns the Html element in the document with the given id.
        /// Will throw an invalid cast exception is element is not a HtmlElement.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public GeckoHtmlElement GetHtmlElementById(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(null);
            }

            var native = nsString.Pass <nsIDOMElement>(_domDocument.GetElementById, id);

            return(GeckoHtmlElement.Create(( nsIDOMHTMLElement )native));
        }
        public override GeckoHtmlElement this[int index]
        {
            get
            {
                if (index < 0 || index >= Length)
                {
                    throw new ArgumentOutOfRangeException("index");
                }

                return(GeckoHtmlElement.Create((nsIDOMHTMLElement)Collection.Item((uint)index)));
            }
        }
        public GeckoHtmlElement CreateElement(string namespaceUri, string qualifiedName)
        {
            if (string.IsNullOrEmpty(namespaceUri))
            {
                throw new ArgumentException(nameof(namespaceUri));
            }
            if (string.IsNullOrEmpty(qualifiedName))
            {
                throw new ArgumentException(nameof(qualifiedName));
            }

            return(GeckoHtmlElement.Create(Window, Doc.Value.CreateElementNS(namespaceUri, qualifiedName)));
        }
Esempio n. 10
0
        public GeckoHtmlElement CreateElement(string namespaceUri, string qualifiedName)
        {
            if (string.IsNullOrEmpty(namespaceUri))
            {
                throw new ArgumentException("namespaceUri");
            }
            if (string.IsNullOrEmpty(qualifiedName))
            {
                throw new ArgumentException("qualifiedName");
            }

            var native = nsString.Pass <nsIDOMElement>(_domDocument.CreateElementNS, namespaceUri, qualifiedName);

            return(GeckoHtmlElement.Create((nsIDOMHTMLElement)native));
        }
Esempio n. 11
0
 private void button4_Click(object sender, EventArgs e)
 {
     Gecko.GeckoHtmlElement button4 = (Gecko.GeckoHtmlElement)geckoWebBrowser1.DomDocument.GetElementById(changeside.Text);
     button4.Click();
 }
 /// <summary>
 /// Returns the element visible at the given point, relative to the upper-left-most visible point in the document.
 /// </summary>
 /// <param name="x"></param>
 /// <param name="y"></param>
 /// <returns></returns>
 public GeckoHtmlElement ElementFromPoint(int x, int y)
 {
     return(GeckoHtmlElement.Create((nsIDOMHTMLElement)_domDocument.ElementFromPoint(x, y)));
 }