diff options
| author | Simon Hausmann <simon.hausmann@nokia.com> | 2009-07-23 14:14:01 (GMT) | 
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@nokia.com> | 2009-07-23 14:14:01 (GMT) | 
| commit | fdaed851ce71fc474a7959d8fc30b50465a98d0d (patch) | |
| tree | e6fc5f217c43d0e18e9e1baa65aed3e152ec56c3 /doc/src/snippets/code/src_script_qscriptclass.cpp | |
| parent | c29d1cc49998ef895df9dcbccafe1b6d6d8e7efc (diff) | |
| download | Qt-fdaed851ce71fc474a7959d8fc30b50465a98d0d.zip Qt-fdaed851ce71fc474a7959d8fc30b50465a98d0d.tar.gz Qt-fdaed851ce71fc474a7959d8fc30b50465a98d0d.tar.bz2  | |
Updated WebKit from /home/shausman/src/webkit/trunk to origin/qtwebkit-4.5 ( 1535d41a668e5f74f44ff3aa1313a84d5718d2d7 )
Changes in WebKit since the last update:
++ b/WebCore/ChangeLog
2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
        Reviewed by Holger Freyther.
        Fix crashes with the QObject bindings after garbage collection.
        There is one QtInstance per wrapped QObject, and that QtInstance keeps
        references to cached JSObjects for slots. When those objects get
        deleted due to GC, then they becoming dangling pointers.
        When a cached member dies, it is now removed from the QtInstance's
        cache.
        As we cannot track the lifetime of the children, we have to remove
        them from QtInstance alltogether. They are not cached and were
        only used for mark(), but we _want_ them to be subject to gc.
        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
        use qDeleteAll().
        (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
        clean m_methods and m_defaultMethod.
        (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
        (JSC::Bindings::QtField::valueFromInstance): Don't save children for
        marking.
        * bridge/qt/qt_instance.h: Declare removeCachedMethod.
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
        with this on the instance.
2009-05-04  Jakub Wieczorek  <faw217@gmail.com>
        Reviewed by Simon Hausmann.
        As Qtish implementation of MIMETypeRegistry::getMIMETypeForExtension()
        returns the application/octet-stream mimetype when it can't associate
        extension with any mimetype, it can happen that the application/octet-stream
        mimetype will hit the list of supported image formats. For instance,
        it is possible when QImageReader or QImageWriter support an extension
        that is not in the extensions map.
        Make sure that this mimetype is not treated as displayable image type.
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
++ b/WebKit/qt/ChangeLog
2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
        Reviewed by Holger Freyther.
        Added a testcase to verify that cached methods in the QOBject bindings
        remain alife even after garbage collection.
        * tests/qwebpage/tst_qwebpage.cpp:
        (tst_QWebPage::protectBindingsRuntimeObjectsFromCollector):
Diffstat (limited to 'doc/src/snippets/code/src_script_qscriptclass.cpp')
0 files changed, 0 insertions, 0 deletions
