[Webkit-unassigned] [Bug 31626] [Qt] layoutTestController.notifyDone() not working when the frame was reloaded.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Nov 24 02:54:29 PST 2009


https://bugs.webkit.org/show_bug.cgi?id=31626





--- Comment #16 from Kenneth Rohde Christiansen <kenneth at webkit.org>  2009-11-24 02:54:27 PST ---
(In reply to comment #12)
> The root of the problem is that the QtInstance is destroyed before execution of
> main JS is finished.
> So, we should do something similar in bool FrameLoader::requestFrame what we
> did for bool FrameLoader::requestFrame.
> 
> -    if (!scriptURL.isEmpty())
> -        frame->script()->executeIfJavaScriptURL(scriptURL);
> +    if (!scriptURL.isEmpty()) {
> +        m_isExecutingJavaScriptFormAction = true;
> +        frame->script()->executeIfJavaScriptURL(scriptURL, false, false);
> +        m_isExecutingJavaScriptFormAction = false;
> +    }

Actually the problem is a bit bigger than this. Adding the

frame->script()->executeIfJavaScriptURL(scriptURL, false, false);

instead, will just make it not replace the frame at all, meaning that the test
would break. The right behaviour is to replace the frame, but the thing is that
since we are doing that from javascript, we loose the context from where we are
executing it, as I believe it is tied to the frame.

I guess the right fix would be to not destroy that context until we are
finished executing javascript, but how to find out that is probably a bit
complicated.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list