mshtml: Added get_body implementation.
This commit is contained in:
parent
d7f881f715
commit
77bb544c51
|
@ -204,8 +204,47 @@ static HRESULT WINAPI HTMLDocument_get_all(IHTMLDocument2 *iface, IHTMLElementCo
|
|||
|
||||
static HRESULT WINAPI HTMLDocument_get_body(IHTMLDocument2 *iface, IHTMLElement **p)
|
||||
{
|
||||
FIXME("(%p)->(%p)\n", iface, p);
|
||||
return E_NOTIMPL;
|
||||
HTMLDocument *This = HTMLDOC_THIS(iface);
|
||||
nsIDOMDocument *nsdoc;
|
||||
nsIDOMHTMLDocument *nshtmldoc;
|
||||
nsIDOMHTMLElement *nsbody = NULL;
|
||||
HTMLDOMNode *node;
|
||||
nsresult nsres;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
*p = NULL;
|
||||
|
||||
if(!This->nscontainer)
|
||||
return S_OK;
|
||||
|
||||
nsres = nsIWebNavigation_GetDocument(This->nscontainer->navigation, &nsdoc);
|
||||
if(NS_FAILED(nsres)) {
|
||||
ERR("GetDocument failed: %08lx\n", nsres);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
if(NS_FAILED(nsres) || !nsdoc)
|
||||
return S_OK;
|
||||
|
||||
nsIDOMDocument_QueryInterface(nsdoc, &IID_nsIDOMHTMLDocument, (void**)&nshtmldoc);
|
||||
nsIDOMDocument_Release(nsdoc);
|
||||
|
||||
nsres = nsIDOMHTMLDocument_GetBody(nshtmldoc, &nsbody);
|
||||
nsIDOMHTMLDocument_Release(nshtmldoc);
|
||||
|
||||
if(NS_FAILED(nsres) || !nsbody) {
|
||||
TRACE("Could not get body: %08lx\n", nsres);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
node = get_node(This, (nsIDOMNode*)nsbody);
|
||||
nsIDOMHTMLElement_Release(nsbody);
|
||||
|
||||
IHTMLDOMNode_QueryInterface(HTMLDOMNODE(node), &IID_IHTMLElement, (void**)p);
|
||||
|
||||
TRACE("*p = %p\n", *p);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLDocument_get_activeElement(IHTMLDocument2 *iface, IHTMLElement **p)
|
||||
|
|
|
@ -107,6 +107,7 @@ typedef nsISupports nsIDOMProcessingInstruction;
|
|||
typedef nsISupports nsIDOMEntityReference;
|
||||
typedef nsISupports nsIDOMHTMLFormElement;
|
||||
typedef nsISupports nsIDOMHTMLOptionsCollection;
|
||||
typedef nsISupports nsIDOMHTMLCollection;
|
||||
|
||||
[
|
||||
object,
|
||||
|
@ -473,6 +474,33 @@ interface nsIDOMDocument : nsIDOMNode
|
|||
nsresult GetElementById(const nsAString *elementId, nsIDOMElement **_retval);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(a6cf9084-15b3-11d2-932e-00805f8add32)
|
||||
]
|
||||
interface nsIDOMHTMLDocument : nsIDOMDocument
|
||||
{
|
||||
nsresult GetTitle(nsAString *aTitle);
|
||||
nsresult SetTitle(const nsAString *aTitle);
|
||||
nsresult GetReferrer(nsAString *aReferrer);
|
||||
nsresult GetDomain(nsAString *aDomain);
|
||||
nsresult GetURL(nsAString *aURL);
|
||||
nsresult GetBody(nsIDOMHTMLElement **aBody);
|
||||
nsresult SetBody(nsIDOMHTMLElement *aBody);
|
||||
nsresult GetImages(nsIDOMHTMLCollection **aImages);
|
||||
nsresult GetApplets(nsIDOMHTMLCollection **aApplets);
|
||||
nsresult GetLinks(nsIDOMHTMLCollection **aLinks);
|
||||
nsresult GetForms(nsIDOMHTMLCollection **aForms);
|
||||
nsresult GetAnchors(nsIDOMHTMLCollection **aAnchors);
|
||||
nsresult GetCookie(nsAString *aCookie);
|
||||
nsresult SetCookie(const nsAString *aCookie);
|
||||
nsresult Open(void);
|
||||
nsresult Close(void);
|
||||
nsresult Write(const nsAString *text);
|
||||
nsresult Writeln(const nsAString *text);
|
||||
nsresult GetElementsByName(const nsAString *elementName, nsIDOMNodeList **_retval);
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(a6cf906b-15b3-11d2-932e-00805f8add32)
|
||||
|
|
Loading…
Reference in New Issue