diff --git a/dlls/mshtml/htmlstylesheet.c b/dlls/mshtml/htmlstylesheet.c index 321c1ae94a5..da9a1a0894a 100644 --- a/dlls/mshtml/htmlstylesheet.c +++ b/dlls/mshtml/htmlstylesheet.c @@ -1059,11 +1059,21 @@ static HRESULT WINAPI HTMLStyleSheet4_get_media(IHTMLStyleSheet4 *iface, VARIANT return E_NOTIMPL; } -static HRESULT WINAPI HTMLStyleSheet4_insertRule(IHTMLStyleSheet4 *iface, BSTR rule, LONG index, LONG *new_index) +static HRESULT WINAPI HTMLStyleSheet4_insertRule(IHTMLStyleSheet4 *iface, BSTR rule, LONG index, LONG *p) { HTMLStyleSheet *This = impl_from_IHTMLStyleSheet4(iface); - FIXME("(%p)->(%s %d %p)\n", This, debugstr_w(rule), index, new_index); - return E_NOTIMPL; + UINT32 new_index = 0; + nsAString nsstr; + nsresult nsres; + + TRACE("(%p)->(%s %d %p)\n", This, debugstr_w(rule), index, p); + + nsAString_InitDepend(&nsstr, rule); + nsres = nsIDOMCSSStyleSheet_InsertRule(This->nsstylesheet, &nsstr, index, &new_index); + if(NS_FAILED(nsres)) WARN("failed: %08x\n", nsres); + nsAString_Finish(&nsstr); + *p = new_index; + return map_nsresult(nsres); } static HRESULT WINAPI HTMLStyleSheet4_deleteRule(IHTMLStyleSheet4 *iface, LONG index)