After r57638 the objectDeleted() test fails: FAIL! : tst_QWebFrame::objectDeleted() Compared values are not the same Actual (type): undefined Expected (sError): error Loc: [/home/shausman/src/webkit/trunk/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp(2056)] The test creates a QObject, accesses its properties, deletes it and tries to access it again. Accessing the properties of a deleted object should give an exception, just like in QtScript. The following hunk from r57638 caused a slight change in behaviour, triggering the regression: @@ -171,6 +171,8 @@ QtInstance* QtInstance::getInstance(JSObject* object) Class* QtInstance::getClass() const { + if (!m_object) + return 0; if (!m_class) m_class = QtClass::classForObject(m_object); return m_class; After that change even if m_class existed, null is returned. QtClass itself is protected to handle null objects, so a safe solution would be to return null only if we have never created the class wrapper in the first place.
Created attachment 54687 [details] Patch
Committed r58493: <http://trac.webkit.org/changeset/58493>
Revision r58493 cherry-picked into qtwebkit-2.0 with commit 1a40220a82197023c1b1ac6eff027be6dd3168d3