diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 0d02f26e593..6cb41bdde3d 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -348,6 +348,7 @@ typedef struct { nsIInputStream *post_data_stream; nsILoadGroup *load_group; nsIInterfaceRequestor *notif_callback; + nsISupports *owner; nsLoadFlags load_flags; nsIURI *original_uri; char *content_type; diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index 0669463d685..1dca2a49eb1 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -417,8 +417,11 @@ static nsresult NSAPI nsChannel_GetOwner(nsIHttpChannel *iface, nsISupports **aO if(This->channel) return nsIChannel_GetOwner(This->channel, aOwner); - FIXME("default action not implemented\n"); - return NS_ERROR_NOT_IMPLEMENTED; + if(This->owner) + nsISupports_AddRef(This->owner); + *aOwner = This->owner; + + return NS_OK; } static nsresult NSAPI nsChannel_SetOwner(nsIHttpChannel *iface, nsISupports *aOwner) @@ -430,8 +433,13 @@ static nsresult NSAPI nsChannel_SetOwner(nsIHttpChannel *iface, nsISupports *aOw if(This->channel) return nsIChannel_SetOwner(This->channel, aOwner); - FIXME("default action not implemented\n"); - return NS_ERROR_NOT_IMPLEMENTED; + if(aOwner) + nsISupports_AddRef(aOwner); + if(This->owner) + nsISupports_Release(This->owner); + This->owner = aOwner; + + return NS_OK; } static nsresult NSAPI nsChannel_GetNotificationCallbacks(nsIHttpChannel *iface,