public Attribute (WebBrowser control, nsIDOMAttr domAttribute) : base (control, domAttribute as nsIDOMNode) { if (control.platform != control.enginePlatform) this.attribute = nsDOMAttr.GetProxy (control, domAttribute); else this.attribute = domAttribute; }
protected override void Dispose (bool disposing) { if (!disposed) { if (disposing) { this.attribute = null; } } base.Dispose (disposing); }
protected override void Dispose(bool disposing) { if (!disposed) { if (disposing) { this.attribute = null; } } base.Dispose(disposing); }
/// <summary> /// Creates wrapper for nsIDOMNode object /// </summary> /// <param name="domObject"></param> /// <returns></returns> internal static GeckoNode CreateDomNodeWrapper(mozIDOMWindowProxy window, nsIDOMNode domObject) { // if null -> return null if (domObject == null) { return(null); } var nodeType = (NodeType) new WebIDL.Node((mozIDOMWindowProxy)window, (nsISupports)domObject).NodeType; // by nodeType we can find proper wrapper faster, than perform QueryInterface switch (nodeType) { case NodeType.Element: /* /* nsIDOMHTMLElement*/ nsIDOMElement htmlElement = Xpcom.QueryInterface </* /* nsIDOMHTMLElement*/ nsIDOMElement>(domObject); if (htmlElement != null) { return(GeckoHtmlElement.Create(window, htmlElement)); } nsIDOMElement element = Xpcom.QueryInterface <nsIDOMElement>(domObject); if (element != null) { return(GeckoElement.CreateDomElementWrapper(window, element)); } break; case NodeType.Attribute: #if PORTFF60 nsIDOMAttr attr = Xpcom.QueryInterface <nsIDOMAttr>(domObject); if (attr != null) { return(GeckoAttribute.CreateAttributeWrapper(attr)); } #endif break; case NodeType.Comment: nsIDOMComment comment = Xpcom.QueryInterface <nsIDOMComment>(domObject); if (comment != null) { return(GeckoComment.CreateCommentWrapper(window, comment)); } break; case NodeType.DocumentFragment: nsIDOMDocumentFragment fragment = Xpcom.QueryInterface <nsIDOMDocumentFragment>(domObject); if (fragment != null) { return(DOM.DocumentFragment.CreateDocumentFragmentWrapper(window, fragment)); } break; } // if we don't handle this type - just create GeckoNode return(new GeckoNode(window, domObject)); }
public Attribute(WebBrowser control, nsIDOMAttr domAttribute) : base(control, domAttribute as nsIDOMNode) { if (control.platform != control.enginePlatform) { this.attribute = nsDOMAttr.GetProxy(control, domAttribute); } else { this.attribute = domAttribute; } }
/// <summary> /// Creates wrapper for nsIDOMNode object /// </summary> /// <param name="domObject"></param> /// <returns></returns> internal static GeckoNode CreateDomNodeWrapper(nsIDOMNode domObject) { // if null -> return null if (domObject == null) { return(null); } var nodeType = (NodeType)domObject.GetNodeTypeAttribute(); // by nodeType we can find proper wrapper faster, than perform QueryInterface switch (nodeType) { case NodeType.Element: nsIDOMHTMLElement htmlElement = Xpcom.QueryInterface <nsIDOMHTMLElement>(domObject); if (htmlElement != null) { return(GeckoHtmlElement.Create(htmlElement)); } nsIDOMElement element = Xpcom.QueryInterface <nsIDOMElement>(domObject); if (element != null) { return(GeckoElement.CreateDomElementWrapper(element)); } break; case NodeType.Attribute: nsIDOMAttr attr = Xpcom.QueryInterface <nsIDOMAttr>(domObject); if (attr != null) { return(GeckoAttribute.CreateAttributeWrapper(attr)); } break; case NodeType.Comment: nsIDOMComment comment = Xpcom.QueryInterface <nsIDOMComment>(domObject); if (comment != null) { return(GeckoComment.CreateCommentWrapper(comment)); } break; case NodeType.DocumentFragment: nsIDOMDocumentFragment fragment = Xpcom.QueryInterface <nsIDOMDocumentFragment>(domObject); if (fragment != null) { return(DOM.DocumentFragment.CreateDocumentFragmentWrapper(fragment)); } break; } // if we don't handle this type - just create GeckoNode return(new GeckoNode(domObject)); }
internal static GeckoNode CreateNodeWrapper(nsIDOMNode domObject) { // if null -> return null if (domObject == null) { return(null); } var nodeType = ( NodeType )domObject.GetNodeTypeAttribute(); // by nodeType we can find proper wrapper faster, than perform QueryInterface switch (nodeType) { case NodeType.Element: nsIDOMHTMLElement element = Xpcom.QueryInterface <nsIDOMHTMLElement>(domObject); if (element != null) { return(GeckoElement.Create(element)); } break; case NodeType.Attribute: nsIDOMAttr attr = Xpcom.QueryInterface <nsIDOMAttr>(domObject); if (attr != null) { return(GeckoAttribute.CreateAttributeWrapper(attr)); } break; case NodeType.Comment: nsIDOMComment comment = Xpcom.QueryInterface <nsIDOMComment>(domObject); if (comment != null) { return(GeckoComment.CreateCommentWrapper(comment)); } break; case NodeType.DocumentFragment: nsIDOMDocumentFragment fragment = Xpcom.QueryInterface <nsIDOMDocumentFragment>(domObject); if (fragment != null) { return(DOM.DocumentFragment.CreateDocumentFragmentWrapper(fragment)); } break; } // if fast method is unsuccessful try old method :) return(OldCreateWrapper(domObject)); }
internal static GeckoNode Create(nsIDOMNode domObject) { if (domObject == null) { return(null); } nsIDOMHTMLElement element = Xpcom.QueryInterface <nsIDOMHTMLElement>(domObject); if (element != null) { return(GeckoElement.Create(element)); } nsIDOMAttr attr = Xpcom.QueryInterface <nsIDOMAttr>(domObject); if (attr != null) { return(GeckoAttribute.Create(attr)); } return(new GeckoNode(domObject)); }
internal static GeckoAttribute Create(nsIDOMAttr attr) { return((attr == null) ? null : new GeckoAttribute(attr)); }
internal GeckoAttribute(nsIDOMAttr attr) : base(attr) { this.DomAttr = attr; }
public static nsIDOMAttr GetProxy (Mono.WebBrowser.IWebBrowser control, nsIDOMAttr obj) { object o = Base.GetProxyForObject (control, typeof(nsIDOMAttr).GUID, obj); return o as nsIDOMAttr; }
internal static GeckoAttribute CreateAttributeWrapper(nsIDOMAttr attr) { return (attr == null) ? null : new GeckoAttribute(attr); }
private DomAttribute(nsIDOMAttr domAttribute) : base(domAttribute) { Debug.Assert(domAttribute != null); m_DomAttribute = domAttribute; }
internal static DomAttribute Create(nsIDOMAttr domAttribute) { return domAttribute != null ? new DomAttribute(domAttribute) : null; }
public static nsIDOMAttr GetProxy(Mono.WebBrowser.IWebBrowser control, nsIDOMAttr obj) { object o = Base.GetProxyForObject(control, typeof(nsIDOMAttr).GUID, obj); return(o as nsIDOMAttr); }