mshtml: Added [Get|Set]ParentContentListener implementation.
This commit is contained in:
parent
bc590e87a6
commit
90c5baf069
|
@ -124,6 +124,8 @@ struct NSContainer {
|
||||||
NSContainer *parent;
|
NSContainer *parent;
|
||||||
HTMLDocument *doc;
|
HTMLDocument *doc;
|
||||||
|
|
||||||
|
nsIURIContentListener *content_listener;
|
||||||
|
|
||||||
HWND hwnd;
|
HWND hwnd;
|
||||||
|
|
||||||
BSCallback *bscallback; /* hack */
|
BSCallback *bscallback; /* hack */
|
||||||
|
|
|
@ -800,7 +800,10 @@ static nsresult NSAPI nsURIContentListener_OnStartURIOpen(nsIURIContentListener
|
||||||
|
|
||||||
nsIWineURI_Release(wine_uri);
|
nsIWineURI_Release(wine_uri);
|
||||||
|
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
*_retval = FALSE;
|
||||||
|
return This->content_listener
|
||||||
|
? nsIURIContentListener_OnStartURIOpen(This->content_listener, aURI, _retval)
|
||||||
|
: NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static nsresult NSAPI nsURIContentListener_DoContent(nsIURIContentListener *iface,
|
static nsresult NSAPI nsURIContentListener_DoContent(nsIURIContentListener *iface,
|
||||||
|
@ -808,9 +811,14 @@ static nsresult NSAPI nsURIContentListener_DoContent(nsIURIContentListener *ifac
|
||||||
nsIStreamListener **aContentHandler, PRBool *_retval)
|
nsIStreamListener **aContentHandler, PRBool *_retval)
|
||||||
{
|
{
|
||||||
NSContainer *This = NSURICL_THIS(iface);
|
NSContainer *This = NSURICL_THIS(iface);
|
||||||
|
|
||||||
TRACE("(%p)->(%s %x %p %p %p)\n", This, debugstr_a(aContentType), aIsContentPreferred,
|
TRACE("(%p)->(%s %x %p %p %p)\n", This, debugstr_a(aContentType), aIsContentPreferred,
|
||||||
aRequest, aContentHandler, _retval);
|
aRequest, aContentHandler, _retval);
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
|
||||||
|
return This->content_listener
|
||||||
|
? nsIURIContentListener_DoContent(This->content_listener, aContentType,
|
||||||
|
aIsContentPreferred, aRequest, aContentHandler, _retval)
|
||||||
|
: NS_ERROR_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static nsresult NSAPI nsURIContentListener_IsPreferred(nsIURIContentListener *iface,
|
static nsresult NSAPI nsURIContentListener_IsPreferred(nsIURIContentListener *iface,
|
||||||
|
@ -822,7 +830,11 @@ static nsresult NSAPI nsURIContentListener_IsPreferred(nsIURIContentListener *if
|
||||||
|
|
||||||
/* FIXME: Should we do something here? */
|
/* FIXME: Should we do something here? */
|
||||||
*_retval = TRUE;
|
*_retval = TRUE;
|
||||||
return NS_OK;
|
|
||||||
|
return This->content_listener
|
||||||
|
? nsIURIContentListener_IsPreferred(This->content_listener, aContentType,
|
||||||
|
aDesiredContentType, _retval)
|
||||||
|
: NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static nsresult NSAPI nsURIContentListener_CanHandleContent(nsIURIContentListener *iface,
|
static nsresult NSAPI nsURIContentListener_CanHandleContent(nsIURIContentListener *iface,
|
||||||
|
@ -830,41 +842,72 @@ static nsresult NSAPI nsURIContentListener_CanHandleContent(nsIURIContentListene
|
||||||
PRBool *_retval)
|
PRBool *_retval)
|
||||||
{
|
{
|
||||||
NSContainer *This = NSURICL_THIS(iface);
|
NSContainer *This = NSURICL_THIS(iface);
|
||||||
|
|
||||||
TRACE("(%p)->(%s %x %p %p)\n", This, debugstr_a(aContentType), aIsContentPreferred,
|
TRACE("(%p)->(%s %x %p %p)\n", This, debugstr_a(aContentType), aIsContentPreferred,
|
||||||
aDesiredContentType, _retval);
|
aDesiredContentType, _retval);
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
|
||||||
|
return This->content_listener
|
||||||
|
? nsIURIContentListener_CanHandleContent(This->content_listener, aContentType,
|
||||||
|
aIsContentPreferred, aDesiredContentType, _retval)
|
||||||
|
: NS_ERROR_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static nsresult NSAPI nsURIContentListener_GetLoadCookie(nsIURIContentListener *iface,
|
static nsresult NSAPI nsURIContentListener_GetLoadCookie(nsIURIContentListener *iface,
|
||||||
nsISupports **aLoadCookie)
|
nsISupports **aLoadCookie)
|
||||||
{
|
{
|
||||||
NSContainer *This = NSURICL_THIS(iface);
|
NSContainer *This = NSURICL_THIS(iface);
|
||||||
|
|
||||||
WARN("(%p)->(%p)\n", This, aLoadCookie);
|
WARN("(%p)->(%p)\n", This, aLoadCookie);
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
|
||||||
|
return This->content_listener
|
||||||
|
? nsIURIContentListener_GetLoadCookie(This->content_listener, aLoadCookie)
|
||||||
|
: NS_ERROR_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static nsresult NSAPI nsURIContentListener_SetLoadCookie(nsIURIContentListener *iface,
|
static nsresult NSAPI nsURIContentListener_SetLoadCookie(nsIURIContentListener *iface,
|
||||||
nsISupports *aLoadCookie)
|
nsISupports *aLoadCookie)
|
||||||
{
|
{
|
||||||
NSContainer *This = NSURICL_THIS(iface);
|
NSContainer *This = NSURICL_THIS(iface);
|
||||||
|
|
||||||
WARN("(%p)->(%p)\n", This, aLoadCookie);
|
WARN("(%p)->(%p)\n", This, aLoadCookie);
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
|
||||||
|
return This->content_listener
|
||||||
|
? nsIURIContentListener_SetLoadCookie(This->content_listener, aLoadCookie)
|
||||||
|
: NS_ERROR_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static nsresult NSAPI nsURIContentListener_GetParentContentListener(nsIURIContentListener *iface,
|
static nsresult NSAPI nsURIContentListener_GetParentContentListener(nsIURIContentListener *iface,
|
||||||
nsIURIContentListener **aParentContentListener)
|
nsIURIContentListener **aParentContentListener)
|
||||||
{
|
{
|
||||||
NSContainer *This = NSURICL_THIS(iface);
|
NSContainer *This = NSURICL_THIS(iface);
|
||||||
WARN("(%p)->(%p)\n", This, aParentContentListener);
|
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
TRACE("(%p)->(%p)\n", This, aParentContentListener);
|
||||||
|
|
||||||
|
if(This->content_listener)
|
||||||
|
nsIURIContentListener_AddRef(This->content_listener);
|
||||||
|
|
||||||
|
*aParentContentListener = This->content_listener;
|
||||||
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static nsresult NSAPI nsURIContentListener_SetParentContentListener(nsIURIContentListener *iface,
|
static nsresult NSAPI nsURIContentListener_SetParentContentListener(nsIURIContentListener *iface,
|
||||||
nsIURIContentListener *aParentContentListener)
|
nsIURIContentListener *aParentContentListener)
|
||||||
{
|
{
|
||||||
NSContainer *This = NSURICL_THIS(iface);
|
NSContainer *This = NSURICL_THIS(iface);
|
||||||
WARN("(%p)->(%p)\n", This, aParentContentListener);
|
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
TRACE("(%p)->(%p)\n", This, aParentContentListener);
|
||||||
|
|
||||||
|
if(aParentContentListener == NSURICL(This))
|
||||||
|
return NS_OK;
|
||||||
|
|
||||||
|
if(This->content_listener)
|
||||||
|
nsIURIContentListener_Release(This->content_listener);
|
||||||
|
|
||||||
|
This->content_listener = aParentContentListener;
|
||||||
|
if(This->content_listener)
|
||||||
|
nsIURIContentListener_AddRef(This->content_listener);
|
||||||
|
|
||||||
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef NSURICL_THIS
|
#undef NSURICL_THIS
|
||||||
|
@ -1185,6 +1228,7 @@ NSContainer *NSContainer_Create(HTMLDocument *doc, NSContainer *parent)
|
||||||
ret->doc = doc;
|
ret->doc = doc;
|
||||||
ret->ref = 1;
|
ret->ref = 1;
|
||||||
ret->bscallback = NULL;
|
ret->bscallback = NULL;
|
||||||
|
ret->content_listener = NULL;
|
||||||
|
|
||||||
if(parent)
|
if(parent)
|
||||||
nsIWebBrowserChrome_AddRef(NSWBCHROME(parent));
|
nsIWebBrowserChrome_AddRef(NSWBCHROME(parent));
|
||||||
|
@ -1275,6 +1319,11 @@ void NSContainer_Release(NSContainer *This)
|
||||||
nsIWebBrowserFocus_Release(This->focus);
|
nsIWebBrowserFocus_Release(This->focus);
|
||||||
This->focus = NULL;
|
This->focus = NULL;
|
||||||
|
|
||||||
|
if(This->content_listener) {
|
||||||
|
nsIURIContentListener_Release(This->content_listener);
|
||||||
|
This->content_listener = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if(This->hwnd) {
|
if(This->hwnd) {
|
||||||
DestroyWindow(This->hwnd);
|
DestroyWindow(This->hwnd);
|
||||||
This->hwnd = NULL;
|
This->hwnd = NULL;
|
||||||
|
|
Loading…
Reference in New Issue