2009-11-23 Simon Hausmann <simon.hausmann@nokia.com>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Nov 2009 12:58:30 +0000 (12:58 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Nov 2009 12:58:30 +0000 (12:58 +0000)
commit75f74d3037df0f646b2b37d2c50fdc99cf2086aa
tree00b2e417f8f8e33c27bec92ea225f87f1ff97a2b
parentc4b390b819c0c98ba291d64edffd0854f1137c53
2009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
        the wrapped object died before the gc removed the instance.

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

        Before using a cached instance, verify that its wrapped QObject is
        still alive.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::getQtInstance):
        * bridge/qt/qt_instance.h:
        (JSC::Bindings::QtInstance::hashKey):
2009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
        the wrapped object died before the gc removed the instance.

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

        Added a unit-test to verify that wrapping a QObject with the
        same identity as a previously but now dead object works.

        * tests/qwebframe/tst_qwebframe.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@51306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/bridge/qt/qt_instance.cpp
WebCore/bridge/qt/qt_instance.h
WebKit/qt/ChangeLog
WebKit/qt/tests/qwebframe/tst_qwebframe.cpp