From 1171a8c82433ce361b82659bb7b8189ddaa7b363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Br=C3=BCning?= Date: Thu, 21 Mar 2013 12:07:03 +0100 Subject: Workaround for MSVC 2012 64 bit optimizer bug. Having optimization turned on for the VS 2012 build causes a crash in RenderTableSection::paintObject. The workaround for this is to turn optimization off for this method until a fix in the compiler has been provided. This is tracked in bug https://bugs.webkit.org/show_bug.cgi?id=112900 for the upstream version of WebKit. Please be aware that this is a work around for QtWebKit and did not go through the WebKit review process and is therefore not part of WebKit trunk as of now. Task-number: QTBUG-30117 Change-Id: I76139eaa4c0f07de2d90d197c0b07ef4a576e585 Reviewed-by: Jocelyn Turcotte --- Source/WebCore/rendering/RenderTableSection.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/WebCore/rendering/RenderTableSection.cpp b/Source/WebCore/rendering/RenderTableSection.cpp index c8452a47c..4bc186874 100644 --- a/Source/WebCore/rendering/RenderTableSection.cpp +++ b/Source/WebCore/rendering/RenderTableSection.cpp @@ -1081,7 +1081,9 @@ CellSpan RenderTableSection::spannedColumns(const LayoutRect& flippedRect) const return CellSpan(startColumn, endColumn); } - +#if defined(_MSC_VER) && _MSC_VER == 1700 +#pragma optimize("", off) +#endif void RenderTableSection::paintObject(PaintInfo& paintInfo, const LayoutPoint& paintOffset) { PaintPhase paintPhase = paintInfo.phase; @@ -1182,6 +1184,9 @@ void RenderTableSection::paintObject(PaintInfo& paintInfo, const LayoutPoint& pa } } } +#if defined(_MSC_VER) && _MSC_VER == 1700 +#pragma optimize("", on) +#endif void RenderTableSection::imageChanged(WrappedImagePtr, const IntRect*) { -- cgit v1.2.1 From 3b5bc047e2dcdef835026a71f72c0f80bd5559ba Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Mon, 4 Mar 2013 16:29:19 +0100 Subject: [Qt] Flash objects won't load until scrolling page https://bugs.webkit.org/show_bug.cgi?id=110149 Reviewed by Simon Hausmann. Revert r134222. The issue from bug 101836 is no longer reproducable, and the fix was causing flash objects to not load properly. * plugins/PluginPackage.cpp: (WebCore::PluginPackage::determineQuirks): Change-Id: If204d409a6d425022a4f7d21135803bb6f4c309d git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144191 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte --- Source/WebCore/plugins/PluginPackage.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Source/WebCore/plugins/PluginPackage.cpp b/Source/WebCore/plugins/PluginPackage.cpp index 05b3eb6d7..592771914 100644 --- a/Source/WebCore/plugins/PluginPackage.cpp +++ b/Source/WebCore/plugins/PluginPackage.cpp @@ -205,9 +205,7 @@ void PluginPackage::determineQuirks(const String& mimeType) } #if PLATFORM(QT) - // Flash will crash on repeated calls to SetWindow in windowed mode. - // Defer the setWindow, so we don't set it to the wrong size too early. - m_quirks.add(PluginQuirkDeferFirstSetWindowCall); + // Flash will crash on repeated calls to SetWindow in windowed mode m_quirks.add(PluginQuirkDontCallSetWindowMoreThanOnce); #endif -- cgit v1.2.1 From 9594f0b29a6e36f14997e347fa0642c4ea969d44 Mon Sep 17 00:00:00 2001 From: Andras Becsi Date: Tue, 26 Mar 2013 19:18:13 +0100 Subject: QML WebView asserts when double clicking a link https://bugs.webkit.org/show_bug.cgi?id=113329 Remove an erroneous assert which is no longer valid if mouse gestures are enabled. Task-number: QTBUG-30288 Change-Id: I3c5dc65d55790b1e97924fe674d26e9587557d92 Reviewed-by: Jocelyn Turcotte --- Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp b/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp index b80613438..93f759f60 100644 --- a/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp +++ b/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp @@ -506,7 +506,6 @@ void QtWebPageEventHandler::handleInputEvent(const QInputEvent* event) m_isMouseButtonPressed = false; break; case QEvent::MouseButtonDblClick: - ASSERT_NOT_REACHED(); return; default: break; -- cgit v1.2.1 From 8d01ff3bac8724285bda5abf2c6f96e1cbdd042f Mon Sep 17 00:00:00 2001 From: Andras Becsi Date: Tue, 26 Mar 2013 19:24:09 +0100 Subject: Fails to start QtWebProcess.exe if installed in a path containing spaces https://bugs.webkit.org/show_bug.cgi?id=113328 We use QProcess::start() with a commandline string to start the web process and the string is treated by QProcess as a whitespace delimeted list of the command and the arguments, thus we have to escape the path to the web process binary so that if the path contains spaces we still run the appropriate command. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: (WebKit::ProcessLauncher::launchProcess): Task-number: QTBUG-30249 Change-Id: Ic72cc58d57201381e0b269ff26edf97fea998bbe Reviewed-by: Jocelyn Turcotte --- Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp b/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp index 0b6ee1bd5..75a7aa725 100644 --- a/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp +++ b/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp @@ -109,7 +109,7 @@ void QtWebProcess::setupChildProcess() void ProcessLauncher::launchProcess() { - QString commandLine = QLatin1String("%1 %2 %3"); + QString commandLine = QLatin1String("%1 \"%2\" %3"); if (m_launchOptions.processType == WebProcess) { QByteArray webProcessPrefix = qgetenv("QT_WEBKIT2_WP_CMD_PREFIX"); commandLine = commandLine.arg(QLatin1String(webProcessPrefix.constData())).arg(QString(executablePathOfWebProcess())); -- cgit v1.2.1 From 0d0b7ae573962c7777116e32644f3a66cff7c92b Mon Sep 17 00:00:00 2001 From: Michael Saboff Date: Wed, 27 Mar 2013 10:19:03 +0100 Subject: Crash at JSC::call when loading www.gap.com with JSVALUE32_64 Enabled https://bugs.webkit.org/show_bug.cgi?id=108991 Reviewed by Oliver Hunt. Changed the restoration from calleeGPR to nonArgGPR0 because the restoration of the return location may step on calleeGPR is it happen to be nonArgGPR2. * dfg/DFGRepatch.cpp: (JSC::DFG::dfgLinkClosureCall): Change-Id: I2d27a111ae1edbfea9335f3a06c5cc53e065a673 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141951 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte --- Source/JavaScriptCore/dfg/DFGRepatch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/JavaScriptCore/dfg/DFGRepatch.cpp b/Source/JavaScriptCore/dfg/DFGRepatch.cpp index 07a509061..13653a647 100644 --- a/Source/JavaScriptCore/dfg/DFGRepatch.cpp +++ b/Source/JavaScriptCore/dfg/DFGRepatch.cpp @@ -1214,12 +1214,12 @@ void dfgLinkClosureCall(ExecState* exec, CallLinkInfo& callLinkInfo, CodeBlock* JITCompiler::Jump done = stubJit.jump(); slowPath.link(&stubJit); - stubJit.move(CCallHelpers::TrustedImmPtr(callLinkInfo.callReturnLocation.executableAddress()), GPRInfo::nonArgGPR2); - stubJit.restoreReturnAddressBeforeReturn(GPRInfo::nonArgGPR2); stubJit.move(calleeGPR, GPRInfo::nonArgGPR0); #if USE(JSVALUE32_64) stubJit.move(CCallHelpers::TrustedImm32(JSValue::CellTag), GPRInfo::nonArgGPR1); #endif + stubJit.move(CCallHelpers::TrustedImmPtr(callLinkInfo.callReturnLocation.executableAddress()), GPRInfo::nonArgGPR2); + stubJit.restoreReturnAddressBeforeReturn(GPRInfo::nonArgGPR2); JITCompiler::Jump slow = stubJit.jump(); LinkBuffer patchBuffer(*globalData, &stubJit, callerCodeBlock); -- cgit v1.2.1 From aca7ee6efbdd8a149ce6135df54cc93fbe362922 Mon Sep 17 00:00:00 2001 From: Simon Fraser Date: Thu, 28 Mar 2013 22:47:20 +1100 Subject: ASSERTION FAILED: m_repaintRect == renderer()->clippedOverflowRectForRepaint(renderer()->containerForRepaint()) after r135816 https://bugs.webkit.org/show_bug.cgi?id=103432 Remove optimization added in r99752 that attempted to avoid clip rect updates for table cells. As the assertions show, this optimization is not always correct, so remove it. Bug 108272 tracks adding it back in. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Remove m_canSkipRepaintRectsUpdateOnScroll check when updating clip rects. * rendering/RenderLayer.h: Remove the m_canSkipRepaintRectsUpdateOnScroll bit. Task-number: QTBUG-29214 Change-Id: I453ad4db59218631e236e938c2392a444840df64 Reviewed-by: Jocelyn Turcotte Reviewed-by: Jonathan Liu --- Source/WebCore/rendering/RenderLayer.cpp | 3 +-- Source/WebCore/rendering/RenderLayer.h | 4 ---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp index 3c7cf6e56..c8437895f 100644 --- a/Source/WebCore/rendering/RenderLayer.cpp +++ b/Source/WebCore/rendering/RenderLayer.cpp @@ -166,7 +166,6 @@ RenderLayer::RenderLayer(RenderLayerModelObject* renderer) #if !ASSERT_DISABLED , m_layerListMutationAllowed(true) #endif - , m_canSkipRepaintRectsUpdateOnScroll(renderer->isTableCell()) #if ENABLE(CSS_FILTERS) , m_hasFilterInfo(false) #endif @@ -546,7 +545,7 @@ void RenderLayer::updateLayerPositionsAfterScroll(RenderGeometryMap* geometryMap flags |= HasSeenAncestorWithOverflowClip; if (flags & HasSeenViewportConstrainedAncestor - || (flags & IsOverflowScroll && flags & HasSeenAncestorWithOverflowClip && !m_canSkipRepaintRectsUpdateOnScroll)) { + || (flags & IsOverflowScroll && flags & HasSeenAncestorWithOverflowClip)) { // FIXME: We could track the repaint container as we walk down the tree. computeRepaintRects(renderer()->containerForRepaint(), geometryMap); } else { diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h index 65f1070ab..c5e652411 100644 --- a/Source/WebCore/rendering/RenderLayer.h +++ b/Source/WebCore/rendering/RenderLayer.h @@ -996,10 +996,6 @@ protected: #if !ASSERT_DISABLED bool m_layerListMutationAllowed : 1; #endif - // This is an optimization added for . - // Currently cells do not need to update their repaint rectangles when scrolling. This also - // saves a lot of time when scrolling on a table. - const bool m_canSkipRepaintRectsUpdateOnScroll : 1; #if ENABLE(CSS_FILTERS) bool m_hasFilterInfo : 1; -- cgit v1.2.1