From 8cdeb07b385f9c479cf28df0f43d5fab84d22819 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Sun, 16 May 2010 10:25:37 +0200 Subject: Updated WebKit to 4696beb87359fe9236d23e0791526eb38dab341d Integrated changes: || || [Qt] GraphicsLayer caches directly composited images || || || [Qt] JSValue QtClass::fallbackObject can be optimized || || || [Qt] Target(WebCore,jsc,...) must depends on static library of JavaScriptCore || --- src/3rdparty/webkit/.tag | 2 +- src/3rdparty/webkit/JavaScriptCore/ChangeLog | 16 ++++++++++++ .../webkit/JavaScriptCore/JavaScriptCore.pri | 6 ++++- src/3rdparty/webkit/VERSION | 2 +- src/3rdparty/webkit/WebCore/ChangeLog | 29 ++++++++++++++++++++++ src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp | 8 +++--- .../platform/graphics/qt/GraphicsLayerQt.cpp | 6 +++-- 7 files changed, 61 insertions(+), 8 deletions(-) diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag index 2fc5867..b1b56f6 100644 --- a/src/3rdparty/webkit/.tag +++ b/src/3rdparty/webkit/.tag @@ -1 +1 @@ -4696beb87359fe9236d23e0791526eb38dab341d +cacbdf18fc917122834042d77a9164a490aafde4 diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog index af5ef5c..016e0dd 100644 --- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog +++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog @@ -1,3 +1,19 @@ +2010-04-20 Csaba Osztrogonác + + [Qt] Unreviewed speculative buildfix for WinCE after r57882 + https://bugs.webkit.org/show_bug.cgi?id=37701 + + * JavaScriptCore.pri: missing wince* case added. + +2010-04-20 Csaba Osztrogonác + + Reviewed by Simon Hausmann. + + [Qt] Target(WebCore,jsc,...) must depends on static library of JavaScriptCore + https://bugs.webkit.org/show_bug.cgi?id=37701 + + * JavaScriptCore.pri: dependency added. + 2010-05-10 Jocelyn Turcotte Reviewed by Alexey Proskuryakov. diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri index b3f74a9..cc4a1b3 100644 --- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri +++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri @@ -75,19 +75,22 @@ defineTest(addJavaScriptCoreLib) { # Argument is the relative path to JavaScriptCore.pro's qmake output pathToJavaScriptCoreOutput = $$ARGS/$$JAVASCRIPTCORE_DESTDIR - win32-msvc* { + win32-msvc*|wince* { LIBS += -L$$pathToJavaScriptCoreOutput LIBS += -l$$JAVASCRIPTCORE_TARGET + POST_TARGETDEPS += $${pathToJavaScriptCoreOutput}$${QMAKE_DIR_SEP}$${JAVASCRIPTCORE_TARGET}.lib } else:symbian { LIBS += -l$${JAVASCRIPTCORE_TARGET}.lib # The default symbian build system does not use library paths at all. However when building with # qmake's symbian makespec that uses Makefiles QMAKE_LIBDIR += $$pathToJavaScriptCoreOutput + POST_TARGETDEPS += $${pathToJavaScriptCoreOutput}$${QMAKE_DIR_SEP}$${JAVASCRIPTCORE_TARGET}.lib } else { # Make sure jscore will be early in the list of libraries to workaround a bug in MinGW # that can't resolve symbols from QtCore if libjscore comes after. QMAKE_LIBDIR = $$pathToJavaScriptCoreOutput $$QMAKE_LIBDIR LIBS += -l$$JAVASCRIPTCORE_TARGET + POST_TARGETDEPS += $${pathToJavaScriptCoreOutput}$${QMAKE_DIR_SEP}lib$${JAVASCRIPTCORE_TARGET}.a } win32-* { @@ -101,6 +104,7 @@ defineTest(addJavaScriptCoreLib) { export(QMAKE_LIBDIR) export(LIBS) + export(POST_TARGETDEPS) export(CONFIG) return(true) diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index 5cda8f8..629883a 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from and has the sha1 checksum - 3d774b9df1f963452b1cfe34f9fafad0d399372a + 4696beb87359fe9236d23e0791526eb38dab341d diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index a8c4c76..ac5c388 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,32 @@ +2010-05-14 Noam Rosenthal + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] GraphicsLayer caches directly composited images + https://bugs.webkit.org/show_bug.cgi?id=38444 + + Directly-composited images and solid fills shouldn't be cached, as that cache + is never used (see GraphicsLayerQtImpl::paint). Cache is only relevant for HTML content, + but we were missing that test. + The fix makes sure we only cache HTML content. + + No new tests: this is a minor optimization. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::flushChanges): + +2010-05-15 Anders Bakken + + Reviewed by Kenneth Rohde Christiansen. + + Don't unnecessarily copy data when searching for methods in QtClass. + + [Qt] JSValue QtClass::fallbackObject can be optimized + https://bugs.webkit.org/show_bug.cgi?id=37684 + + * bridge/qt/qt_class.cpp: + (JSC::Bindings::QtClass::fallbackObject): + 2010-05-06 Luiz Agostini Rubber-stamped by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp index cfd74d9..5bbc99f 100644 --- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp +++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp @@ -98,10 +98,12 @@ JSValue QtClass::fallbackObject(ExecState* exec, Instance* inst, const Identifie if (m.access() == QMetaMethod::Private) continue; - QByteArray signature = m.signature(); - signature.truncate(signature.indexOf('(')); + int index = 0; + const char* signature = m.signature(); + while (signature[index] && signature[index] != '(') + ++index; - if (normal == signature) { + if (normal == QByteArray::fromRawData(signature, index)) { QtRuntimeMetaMethod* val = new (exec) QtRuntimeMetaMethod(exec, identifier, static_cast(inst), index, normal, false); qtinst->m_methods.insert(name, val); return val; diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp index d9394e1..969e00a 100644 --- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp +++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp @@ -599,8 +599,10 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform if (m_maskEffect) m_maskEffect.data()->update(); else if (m_changeMask & DisplayChange) { - // Recache now: all the content is ready and we don't want to wait until the paint event. - recache(m_pendingContent.regionToUpdate); + // Recache now: all the content is ready and we don't want to wait until the paint event. We only need to do this for HTML content, + // there's no point in caching directly composited content like images or solid rectangles. + if (m_pendingContent.contentType == HTMLContentType) + recache(m_pendingContent.regionToUpdate); update(m_pendingContent.regionToUpdate.boundingRect()); m_pendingContent.regionToUpdate = QRegion(); } -- cgit v0.12