mirror of
https://github.com/reactos/wine.git
synced 2025-02-03 02:32:41 +00:00
mshtml: Added get_documentElement implementation.
This commit is contained in:
parent
874fd57841
commit
6ef5f95562
@ -112,11 +112,34 @@ static HRESULT WINAPI HTMLDocument3_createTextNode(IHTMLDocument3 *iface, BSTR t
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLDocument3_documentElement(IHTMLDocument3 *iface, IHTMLElement **p)
|
||||
static HRESULT WINAPI HTMLDocument3_get_documentElement(IHTMLDocument3 *iface, IHTMLElement **p)
|
||||
{
|
||||
HTMLDocument *This = HTMLDOC3_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
nsIDOMDocument *nsdoc;
|
||||
HTMLDOMNode *node;
|
||||
nsresult nsres;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
if(!This->nscontainer) {
|
||||
*p = NULL;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
nsres = nsIWebNavigation_GetDocument(This->nscontainer->navigation, &nsdoc);
|
||||
if(NS_FAILED(nsres))
|
||||
ERR("GetDocument failed: %08lx\n", nsres);
|
||||
|
||||
if(nsdoc) {
|
||||
node = get_node(This, (nsIDOMNode*)nsdoc);
|
||||
nsIDOMDocument_Release(nsdoc);
|
||||
|
||||
IHTMLDOMNode_QueryInterface(HTMLDOMNODE(node), &IID_IHTMLElement, (void**)p);
|
||||
}else {
|
||||
*p = NULL;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLDocument3_uniqueID(IHTMLDocument3 *iface, BSTR *p)
|
||||
@ -402,7 +425,7 @@ static const IHTMLDocument3Vtbl HTMLDocument3Vtbl = {
|
||||
HTMLDocument3_releaseCapture,
|
||||
HTMLDocument3_recalc,
|
||||
HTMLDocument3_createTextNode,
|
||||
HTMLDocument3_documentElement,
|
||||
HTMLDocument3_get_documentElement,
|
||||
HTMLDocument3_uniqueID,
|
||||
HTMLDocument3_attachEvent,
|
||||
HTMLDocument3_detachEvent,
|
||||
|
@ -55,6 +55,7 @@ typedef nsStringContainer nsAString;
|
||||
interface nsIWebBrowserChrome;
|
||||
interface nsILoadGroup;
|
||||
interface nsIDOMNode;
|
||||
interface nsIDOMDocument;
|
||||
|
||||
[
|
||||
object,
|
||||
@ -69,7 +70,6 @@ interface nsISupports
|
||||
|
||||
/* Currently we don't need a full declaration of these interfaces */
|
||||
typedef nsISupports nsIWeakReference;
|
||||
typedef nsISupports nsIDOMDocument;
|
||||
typedef nsISupports nsISHistory;
|
||||
typedef nsISupports nsISimpleEnumerator;
|
||||
typedef nsISupports nsIWidget;
|
||||
@ -86,6 +86,14 @@ typedef nsISupports nsIPrompt;
|
||||
typedef nsISupports nsIAuthPrompt;
|
||||
typedef nsISupports nsIDOMNamedNodeMap;
|
||||
typedef nsISupports nsIDOMAttr;
|
||||
typedef nsISupports nsIDOMDocumentType;
|
||||
typedef nsISupports nsIDOMDOMImplementation;
|
||||
typedef nsISupports nsIDOMDocumentFragment;
|
||||
typedef nsISupports nsIDOMText;
|
||||
typedef nsISupports nsIDOMComment;
|
||||
typedef nsISupports nsIDOMCDATASection;
|
||||
typedef nsISupports nsIDOMProcessingInstruction;
|
||||
typedef nsISupports nsIDOMEntityReference;
|
||||
|
||||
[
|
||||
object,
|
||||
@ -392,6 +400,35 @@ interface nsIDOMHTMLElement : nsIDOMElement
|
||||
nsresult SetClassName(const nsAString *aClassName);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(a6cf9075-15b3-11d2-932e-00805f8add32)
|
||||
]
|
||||
interface nsIDOMDocument : nsIDOMNode
|
||||
{
|
||||
nsresult GetDoctype(nsIDOMDocumentType **aDoctype);
|
||||
nsresult GetImplementation(nsIDOMDOMImplementation **aImplementation);
|
||||
nsresult GetDocumentElement(nsIDOMElement **aDocumentElement);
|
||||
nsresult CreateElement(const nsAString *tagName, nsIDOMElement **_retval);
|
||||
nsresult CreateDocumentFragment(nsIDOMDocumentFragment **_retval);
|
||||
nsresult CreateTextNode(const nsAString *data, nsIDOMText **_retval);
|
||||
nsresult CreateComment(const nsAString *data, nsIDOMComment **_retval);
|
||||
nsresult CreateCDATASection(const nsAString *data, nsIDOMCDATASection **_retval);
|
||||
nsresult CreateProcessingInstruction(const nsAString *target, const nsAString *data,
|
||||
nsIDOMProcessingInstruction **_retval);
|
||||
nsresult CreateAttribute(const nsAString *name, nsIDOMAttr **_retval);
|
||||
nsresult CreateEntityReference(const nsAString *name, nsIDOMEntityReference **_retval);
|
||||
nsresult GetElementsByTagName(const nsAString *tagname, nsIDOMNodeList **_retval);
|
||||
nsresult ImportNode(nsIDOMNode *importedNode, PRBool deep, nsIDOMNode **_retval);
|
||||
nsresult CreateElementNS(const nsAString *namespaceURI, const nsAString *qualifiedName,
|
||||
nsIDOMElement **_retval);
|
||||
nsresult CreateAttributeNS(const nsAString *namespaceURI, const nsAString *qualifiedName,
|
||||
nsIDOMAttr **_retval);
|
||||
nsresult GetElementsByTagNameNS(const nsAString *namespaceURI, const nsAString *localName,
|
||||
nsIDOMNodeList **_retval);
|
||||
nsresult GetElementById(const nsAString *elementId, nsIDOMElement **_retval);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(a6cf906b-15b3-11d2-932e-00805f8add32)
|
||||
|
Loading…
x
Reference in New Issue
Block a user