mshtml: Added IHTMLObjectElement::put_width implementation.
This commit is contained in:
parent
31201da6fa
commit
d98225fff9
@ -246,8 +246,33 @@ static HRESULT WINAPI HTMLObjectElement_get_form(IHTMLObjectElement *iface, IHTM
|
|||||||
static HRESULT WINAPI HTMLObjectElement_put_width(IHTMLObjectElement *iface, VARIANT v)
|
static HRESULT WINAPI HTMLObjectElement_put_width(IHTMLObjectElement *iface, VARIANT v)
|
||||||
{
|
{
|
||||||
HTMLObjectElement *This = impl_from_IHTMLObjectElement(iface);
|
HTMLObjectElement *This = impl_from_IHTMLObjectElement(iface);
|
||||||
FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
|
nsAString width_str;
|
||||||
|
PRUnichar buf[12];
|
||||||
|
nsresult nsres;
|
||||||
|
|
||||||
|
TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
|
||||||
|
|
||||||
|
switch(V_VT(&v)) {
|
||||||
|
case VT_I4: {
|
||||||
|
static const WCHAR formatW[] = {'%','d',0};
|
||||||
|
sprintfW(buf, formatW, V_I4(&v));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
FIXME("unimplemented for arg %s\n", debugstr_variant(&v));
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
nsAString_InitDepend(&width_str, buf);
|
||||||
|
nsres = nsIDOMHTMLObjectElement_SetWidth(This->nsobject, &width_str);
|
||||||
|
nsAString_Finish(&width_str);
|
||||||
|
if(NS_FAILED(nsres)) {
|
||||||
|
FIXME("SetWidth failed: %08x\n", nsres);
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
notif_container_change(&This->plugin_container, DISPID_UNKNOWN);
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI HTMLObjectElement_get_width(IHTMLObjectElement *iface, VARIANT *p)
|
static HRESULT WINAPI HTMLObjectElement_get_width(IHTMLObjectElement *iface, VARIANT *p)
|
||||||
|
@ -352,6 +352,23 @@ static void notif_enabled(PluginHost *plugin_host)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void notif_container_change(HTMLPluginContainer *plugin_container, DISPID dispid)
|
||||||
|
{
|
||||||
|
IOleControl *ole_control;
|
||||||
|
HRESULT hres;
|
||||||
|
|
||||||
|
if(!plugin_container->plugin_host || !plugin_container->plugin_host->plugin_unk)
|
||||||
|
return;
|
||||||
|
|
||||||
|
notif_enabled(plugin_container->plugin_host);
|
||||||
|
|
||||||
|
hres = IUnknown_QueryInterface(plugin_container->plugin_host->plugin_unk, &IID_IOleControl, (void**)&ole_control);
|
||||||
|
if(SUCCEEDED(hres)) {
|
||||||
|
IOleControl_OnAmbientPropertyChange(ole_control, dispid);
|
||||||
|
IOleControl_Release(ole_control);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
HRESULT get_plugin_disp(HTMLPluginContainer *plugin_container, IDispatch **ret)
|
HRESULT get_plugin_disp(HTMLPluginContainer *plugin_container, IDispatch **ret)
|
||||||
{
|
{
|
||||||
PluginHost *host;
|
PluginHost *host;
|
||||||
|
@ -70,3 +70,4 @@ HRESULT create_ip_frame(IOleInPlaceFrame**) DECLSPEC_HIDDEN;
|
|||||||
HRESULT get_plugin_disp(HTMLPluginContainer*,IDispatch**) DECLSPEC_HIDDEN;
|
HRESULT get_plugin_disp(HTMLPluginContainer*,IDispatch**) DECLSPEC_HIDDEN;
|
||||||
HRESULT get_plugin_dispid(HTMLPluginContainer*,WCHAR*,DISPID*) DECLSPEC_HIDDEN;
|
HRESULT get_plugin_dispid(HTMLPluginContainer*,WCHAR*,DISPID*) DECLSPEC_HIDDEN;
|
||||||
HRESULT invoke_plugin_prop(HTMLPluginContainer*,DISPID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*) DECLSPEC_HIDDEN;
|
HRESULT invoke_plugin_prop(HTMLPluginContainer*,DISPID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*) DECLSPEC_HIDDEN;
|
||||||
|
void notif_container_change(HTMLPluginContainer*,DISPID);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user