2010-09-07 Kent Hansen <kent.hansen@nokia.com> qtwebkit-2.1-week36
authorkent.hansen <kent.hansen@nokia.com>
Tue, 7 Sep 2010 11:14:33 +0000 (11:14 +0000)
committerAdemar de Souza Reis Jr <ademar.reis@openbossa.org>
Thu, 9 Sep 2010 20:52:07 +0000 (17:52 -0300)
commita64f996864afde31b00d787522d47d1222a8f756
treee0fc0d7bccec8fe007d8c83913de04149dc5578d
parent20452c758fb66c9059d5ac540cd4aa0e3ecfab84
2010-09-07  Kent Hansen  <kent.hansen@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] tst_QWebFrame::connectAndDisconnect() fails on WebKit trunk because __qt_sender__ is never set
        https://bugs.webkit.org/show_bug.cgi?id=44697

        When the signal handler is a JS function, __qt_sender__ is stuffed into a temporary
        object that's pushed onto the function's scope before the function is invoked, and
        popped again afterwards.

        We were pushing this new scope object _after_ calling JSFunction::getCallData(),
        and relying on JSC::call() to use the fresh scope chain from the function object.
        However, this is no longer the case; JSC::call() uses the scope chain passed in
        the CallData argument. Hence, we need to set up the scope before the function's
        CallData is queried.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtConnectionObject::execute):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/bridge/qt/qt_runtime.cpp