mshtml: Added get_compatMode implementation.
This commit is contained in:
parent
9ba65105d5
commit
cb776f7d5b
|
@ -220,8 +220,34 @@ static HRESULT WINAPI HTMLDocument5_get_onbeforedeactivate(IHTMLDocument5 *iface
|
||||||
static HRESULT WINAPI HTMLDocument5_get_compatMode(IHTMLDocument5 *iface, BSTR *p)
|
static HRESULT WINAPI HTMLDocument5_get_compatMode(IHTMLDocument5 *iface, BSTR *p)
|
||||||
{
|
{
|
||||||
HTMLDocument *This = HTMLDOC5_THIS(iface);
|
HTMLDocument *This = HTMLDOC5_THIS(iface);
|
||||||
FIXME("(%p)->(%p)\n", This, p);
|
nsIDOMDocument *nsdoc;
|
||||||
return E_NOTIMPL;
|
nsIDOMNSHTMLDocument *nshtmldoc;
|
||||||
|
nsAString mode_str;
|
||||||
|
const PRUnichar *mode;
|
||||||
|
nsresult nsres;
|
||||||
|
|
||||||
|
TRACE("(%p)->(%p)\n", This, p);
|
||||||
|
|
||||||
|
nsres = nsIWebNavigation_GetDocument(This->nscontainer->navigation, &nsdoc);
|
||||||
|
if(NS_FAILED(nsres))
|
||||||
|
ERR("GetDocument failed: %08x\n", nsres);
|
||||||
|
|
||||||
|
nsres = nsIDOMDocument_QueryInterface(nsdoc, &IID_nsIDOMNSHTMLDocument, (void**)&nshtmldoc);
|
||||||
|
nsIDOMDocument_Release(nsdoc);
|
||||||
|
if(NS_FAILED(nsres)) {
|
||||||
|
ERR("Could not get nsIDOMNSHTMLDocument: %08x\n", nsres);
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
nsAString_Init(&mode_str, NULL);
|
||||||
|
nsIDOMNSHTMLDocument_GetCompatMode(nshtmldoc, &mode_str);
|
||||||
|
nsIDOMNSHTMLDocument_Release(nshtmldoc);
|
||||||
|
|
||||||
|
nsAString_GetData(&mode_str, &mode, NULL);
|
||||||
|
*p = SysAllocString(mode);
|
||||||
|
nsAString_Finish(&mode_str);
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef HTMLDOC5_THIS
|
#undef HTMLDOC5_THIS
|
||||||
|
|
|
@ -834,6 +834,50 @@ interface nsIDOMHTMLDocument : nsIDOMDocument
|
||||||
nsresult GetElementsByName(const nsAString *elementName, nsIDOMNodeList **_retval);
|
nsresult GetElementsByName(const nsAString *elementName, nsIDOMNodeList **_retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(79beb289-3644-4b54-9432-9fb993945629)
|
||||||
|
/* NOT_FROZEN */
|
||||||
|
]
|
||||||
|
interface nsIDOMNSHTMLDocument : nsISupports
|
||||||
|
{
|
||||||
|
nsresult GetWidth(PRInt32 *aWidth);
|
||||||
|
nsresult GetHeight(PRInt32 *aHeight);
|
||||||
|
nsresult GetAlinkColor(nsAString *aAlinkColor);
|
||||||
|
nsresult SetAlinkColor(const nsAString *aAlinkColor);
|
||||||
|
nsresult GetLinkColor(nsAString *aLinkColor);
|
||||||
|
nsresult SetLinkColor(const nsAString *aLinkColor);
|
||||||
|
nsresult GetVlinkColor(nsAString *aVlinkColor);
|
||||||
|
nsresult SetVlinkColor(const nsAString *aVlinkColor);
|
||||||
|
nsresult GetBgColor(nsAString *aBgColor);
|
||||||
|
nsresult SetBgColor(const nsAString *aBgColor);
|
||||||
|
nsresult GetFgColor(nsAString *aFgColor);
|
||||||
|
nsresult SetFgColor(const nsAString *aFgColor);
|
||||||
|
nsresult GetDomain(nsAString *aDomain);
|
||||||
|
nsresult SetDomain(const nsAString *aDomain);
|
||||||
|
nsresult GetEmbeds(nsIDOMHTMLCollection **aEmbeds);
|
||||||
|
nsresult GetSelection(nsAString *_retval);
|
||||||
|
nsresult Open(nsIDOMDocument **_retval);
|
||||||
|
nsresult Write();
|
||||||
|
nsresult Writeln();
|
||||||
|
nsresult Clear();
|
||||||
|
nsresult CaptureEvents(PRInt32 eventFlags);
|
||||||
|
nsresult ReleaseEvents(PRInt32 eventFlags);
|
||||||
|
nsresult RouteEvent(nsIDOMEvent *evt);
|
||||||
|
nsresult GetCompatMode(nsAString *aCompatMode);
|
||||||
|
nsresult GetPlugins(nsIDOMHTMLCollection **aPlugins);
|
||||||
|
nsresult GetDesignMode(nsAString *aDesignMode);
|
||||||
|
nsresult SetDesignMode(const nsAString *aDesignMode);
|
||||||
|
nsresult ExecCommand(const nsAString *commandID, PRBool doShowUI, const nsAString *value, PRBool *_retval);
|
||||||
|
nsresult ExecCommandShowHelp(const nsAString *commandID, PRBool *_retval);
|
||||||
|
nsresult QueryCommandEnabled(const nsAString *commandID, PRBool *_retval);
|
||||||
|
nsresult QueryCommandIndeterm(const nsAString *commandID, PRBool *_retval);
|
||||||
|
nsresult QueryCommandState(const nsAString *commandID, PRBool *_retval);
|
||||||
|
nsresult QueryCommandSupported(const nsAString *commandID, PRBool *_retval);
|
||||||
|
nsresult QueryCommandText(const nsAString *commandID, nsAString *_retval);
|
||||||
|
nsresult QueryCommandValue(const nsAString *commandID, nsAString *_retval);
|
||||||
|
}
|
||||||
|
|
||||||
[
|
[
|
||||||
object,
|
object,
|
||||||
uuid(3d9f4973-dd2e-48f5-b5f7-2634e09eadd9)
|
uuid(3d9f4973-dd2e-48f5-b5f7-2634e09eadd9)
|
||||||
|
|
|
@ -347,6 +347,24 @@ static void test_txtrange(IHTMLDocument2 *doc)
|
||||||
IHTMLTxtRange_Release(body_range);
|
IHTMLTxtRange_Release(body_range);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_compatmode(IHTMLDocument2 *doc)
|
||||||
|
{
|
||||||
|
IHTMLDocument5 *doc5;
|
||||||
|
BSTR mode;
|
||||||
|
HRESULT hres;
|
||||||
|
|
||||||
|
hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument5, (void**)&doc5);
|
||||||
|
ok(hres == S_OK, "Could not get IHTMLDocument5 interface: %08x\n", hres);
|
||||||
|
if(FAILED(hres))
|
||||||
|
return;
|
||||||
|
|
||||||
|
hres = IHTMLDocument5_get_compatMode(doc5, &mode);
|
||||||
|
IHTMLDocument5_Release(doc5);
|
||||||
|
ok(hres == S_OK, "get_compatMode failed: %08x\n", hres);
|
||||||
|
ok(!strcmp_wa(mode, "BackCompat"), "compatMode=%s\n", dbgstr_w(mode));
|
||||||
|
SysFreeString(mode);
|
||||||
|
}
|
||||||
|
|
||||||
static void test_default_style(IHTMLStyle *style)
|
static void test_default_style(IHTMLStyle *style)
|
||||||
{
|
{
|
||||||
VARIANT_BOOL b;
|
VARIANT_BOOL b;
|
||||||
|
@ -431,6 +449,7 @@ static void test_defaults(IHTMLDocument2 *doc)
|
||||||
ok(hres == S_OK, "get_style failed: %08x\n", hres);
|
ok(hres == S_OK, "get_style failed: %08x\n", hres);
|
||||||
|
|
||||||
test_default_style(style);
|
test_default_style(style);
|
||||||
|
test_compatmode(doc);
|
||||||
|
|
||||||
IHTMLStyle_Release(style);
|
IHTMLStyle_Release(style);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue