mshtml: Added support for IHTMLFrameBase::put_src call on detached element.

This commit is contained in:
Jacek Caban 2014-11-18 15:00:58 +01:00 committed by Alexandre Julliard
parent 90017fb3d8
commit 49c7277505
2 changed files with 30 additions and 2 deletions

View File

@ -134,8 +134,21 @@ static HRESULT WINAPI HTMLFrameBase_put_src(IHTMLFrameBase *iface, BSTR v)
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
if(!This->content_window || !This->element.node.doc || !This->element.node.doc->basedoc.window) {
FIXME("detached element\n");
return E_FAIL;
nsAString nsstr;
nsresult nsres;
nsAString_InitDepend(&nsstr, v);
if(This->nsframe)
nsres = nsIDOMHTMLFrameElement_SetSrc(This->nsframe, &nsstr);
else
nsres = nsIDOMHTMLIFrameElement_SetSrc(This->nsiframe, &nsstr);
nsAString_Finish(&nsstr);
if(NS_FAILED(nsres)) {
ERR("SetSrc failed: %08x\n", nsres);
return E_FAIL;
}
return S_OK;
}
return navigate_url(This->content_window, v, This->element.node.doc->basedoc.window->uri, BINDING_NAVIGATED);

View File

@ -43,9 +43,24 @@ function window_navigate_test() {
iframe.contentWindow.navigate("about:blank");
}
function detached_src_test() {
var iframe = document.createElement("iframe");
var onload_called = false;
iframe.onload = function() {
onload_called = true;
next_test();
}
iframe.src = "blank.html";
document.body.appendChild(iframe);
ok(onload_called === false, "called onload too early?");
}
var tests = [
nav_back_test,
window_navigate_test,
detached_src_test,
function() { external.reportSuccess(); }
];