summaryrefslogtreecommitdiff
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* substitute fixed version numbers in qdocconf files with variablesOswald Buddenhagen2013-02-061-2/+2
| | | | | Change-Id: I132cd94b9507ee55c8421b7297c4a38fb3b7fd04 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge branch 'release' into stableSergio Ahumada2013-01-313-3/+18
|\ | | | | | | | | | | | | | | Conflicts: Source/WebCore/ChangeLog Source/WebKit/qt/ChangeLog Change-Id: Id01082a2a19811f59b08068331a658afe9eefbdb
| * [Qt] Crash in gmail on enabling desktop notificationsv5.0.1Allan Sandfeld Jensen2013-01-281-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106699 Patch by David Rosca. Reviewed by Jocelyn Turcotte. Protect against callback that may be null. This also matches WebKit2 behaviour. * WebCoreSupport/NotificationPresenterClientQt.cpp: (WebCore::NotificationPresenterClientQt::allowNotificationForFrame): Change-Id: Ic8e421c4c6948b6dc5578355b41e754b5beca723 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
| * [Qt] Horizontal scrollbars events are offseted making them difficult to useMichael Brüning2013-01-286-1/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=105014 Reviewed by Allan Sandfeld Jensen. Patch co-authored by Simon Hausmann. Only copy the layout direction from the facade options if the current option is Qt::LayoutDirectionAuto in order to prevent misinterpretations as different layout direction when hit testing. Tests added to tst_qwebview and tst_qgraphicswebview to verify that the view actually is scrolled in the right direction. * WidgetSupport/QStyleFacadeImp.cpp: (WebKit::initGenericStyleOption): * tests/qgraphicswebview/resources/scrolltest_page.html: Added. * tests/qgraphicswebview/tst_qgraphicswebview.cpp: (tst_QGraphicsWebView): (tst_QGraphicsWebView::horizontalScrollbarTest): * tests/qgraphicswebview/tst_qgraphicswebview.qrc: * tests/qwebview/resources/scrolltest_page.html: Added. * tests/qwebview/tst_qwebview.cpp: (tst_QWebView): (tst_QWebView::horizontalScrollbarTest): * tests/qwebview/tst_qwebview.qrc: [Qt] Apply correct patch for the scrolling issue from bug 105014 https://bugs.webkit.org/show_bug.cgi?id=106219 Correct the if condition when overwriting the layout direction option with the values from the facade options to only overwrite if the facade direction is not equal to LayoutDirectionAuto. Reviewed by Allan Sandfeld Jensen. * WidgetSupport/QStyleFacadeImp.cpp: (WebKit::initGenericStyleOption): Change-Id: I8a8c8d483beabf304cb2cdf63276cba61600138d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
| * [Qt] Fix a crash when the QQuickWebPage is destroyed between the scene graph ↵Jocelyn Turcotte2013-01-283-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sync and render. https://bugs.webkit.org/show_bug.cgi?id=106018 Reviewed by Simon Hausmann. The main and rendering threads are only guaranteed to be synchronised in the updatePaintNode call. In every other cases, QQuickItems cannot be safely accessed from the rendering thread. Do as the first patch version in https://bugs.webkit.org/show_bug.cgi?id=104574 was doing and copy the ratio value directly to fix the issue. Also add a note about the threading issue in QQuickWebPage::updatePaintNode. * UIProcess/API/qt/qquickwebpage.cpp: (QQuickWebPage::updatePaintNode): * UIProcess/qt/QtWebPageSGNode.cpp: (WebKit::QtWebPageSGNode::QtWebPageSGNode): * UIProcess/qt/QtWebPageSGNode.h: (QtWebPageSGNode): (WebKit::QtWebPageSGNode::devicePixelRatio): (WebKit::QtWebPageSGNode::setDevicePixelRatio): Change-Id: I2ef35f357c56c251033573d4435ddd7768a4422f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
| * [Qt] Webkit debug build links against release binaries of ANGLE libEGL, ↵michael.bruning@digia.com2013-01-242-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libGLESv2 https://bugs.webkit.org/show_bug.cgi?id=106217 Patch by Kai Koehne <kai.koehne@digia.com> on 2013-01-24 Reviewed by Jocelyn Turcotte. Use libEGLd, libEGLSv2d if qtbase was compiled with ANGLE. * WebCore.pri: Mirror logic of qtbase\mkspecs\features\win32\opengl.prf Change-Id: Iad260dbc0bd85ba45c4cd8ccfd5e12f5bef52998 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140675 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
| * Bump Qt version to 5.0.1Sergio Ahumada2013-01-121-2/+2
| | | | | | | | | | Change-Id: Iaef944ee139760ca62c5fc3b0f056d0caa596a53 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * Merge branch 'stable' into releaseSergio Ahumada2013-01-099-55/+127
| |\ | | | | | | | | | Change-Id: Ifdbfff78833ca658ad6d10dd829289fc0a430e6d
| * | point dependencies to 'release' branchesSergio Ahumada2012-12-181-3/+3
| | | | | | | | | | | | | | | Change-Id: I669ec01576ca5f0f5e21ec1cefbda4a259764cd3 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Early out from FontCache::releaseFontData if cached font data not found.Allan Sandfeld Jensen2013-01-232-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106104 Patch by John Mellor <johnme@chromium.org> on 2013-01-04 Reviewed by Abhishek Arya. No tests, as no change in behavior. * platform/graphics/FontCache.cpp: (WebCore::FontCache::releaseFontData): Early out in release builds if cached font data not found. Change-Id: Iabf218a7fd001588831b331afb49e2de3a314a2a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Crash in WebCore::Element::cloneElementWithoutChildrenAllan Sandfeld Jensen2013-01-233-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=105949 Reviewed by Ryosuke Niwa. RefPtr |ancestors| vector since its elements can be destroyed from mutation events fired in CompositeEditCommand::appendNode. No new tests. The testcase relies on recursive DOM mutations and does not minimize. * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock): (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock): (WebCore::InsertParagraphSeparatorCommand::doApply): * editing/InsertParagraphSeparatorCommand.h: (InsertParagraphSeparatorCommand): Change-Id: I8792007dd6b3d397c7885943400eb5193a701edd Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Heap-use-after-free in WebCore::XMLDocumentParser::doEndAllan Sandfeld Jensen2013-01-235-3/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=100152 Reviewed by Adam Barth. XMLDocumentParser can be blown away inside document()->styleResolverChanged() call. Protect it with a local RefPtr in Document::explitClose. No new tests. The site specific dependencies are hard to minimize. * dom/Document.cpp: (WebCore::Document::explicitClose): RefPtr m_parser into a local, since it can be detached and nulled out in DocumentWriter::end(). * xml/parser/XMLDocumentParser.cpp: (WebCore::XMLDocumentParser::end): Bail out when we are detached. * xml/parser/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::doEnd): Bail out when we are detached. * xml/parser/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::doEnd): Bail out when we are detached. Change-Id: If7ff9142c561391e7c30632a9b8fb9cbb284fb2c Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Heap-use-after-free in DocumentLoader::stopLoadingAllan Sandfeld Jensen2013-01-233-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=103656 Reviewed by Eric Seidel. Source/WebCore: Test: fast/dom/ready-state-change-crash.html * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::prepareToStopParsing): Bail out if the parser is detached due to mutation event. * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::stopLoading): Move the protectors for frame and document loader to the start of the function. Call to m_frame->loader()->stopLoading() can change document ready state and fire mutation event which might blow the document loader from underneath. Change-Id: Ib51a1eb062e552eb0cfa7e4ac647e59a4c6b433d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Make custom filter render in Wk1 modeAllan Sandfeld Jensen2013-01-233-8/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=101532 Fix CSS shaders so they work in QGraphicsWebView at least when used in an OpenGL context. Change-Id: I64e7269cd1347079f02faa3153e262520bc6ad5c Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | | Fixing memory read after free in CanvasRenderingContext2D::accessFontAllan Sandfeld Jensen2013-01-232-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106244 Reviewed by Abhishek Arya. Using a temporary String object to hold ref count on string that is passed by reference in CanvasRenderingContext2D::accessFont. Test: fast/canvas/canvas-measureText.html * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::accessFont): Change-Id: Icfab9c7b7e870af9ca9ba05a1b803b51a9a329ad Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | | [Qt] Crash in gmail on enabling desktop notificationsAllan Sandfeld Jensen2013-01-222-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106699 Patch by David Rosca. Reviewed by Jocelyn Turcotte. Protect against callback that may be null. This also matches WebKit2 behaviour. * WebCoreSupport/NotificationPresenterClientQt.cpp: (WebCore::NotificationPresenterClientQt::allowNotificationForFrame): Reviewed-by: jocelyn.turcotte@digia.com Change-Id: Icac8f0202c378d129895b47224bfabc9b2a53b3d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | [Qt] Update the documentation about the storage of inspector settingsjocelyn.turcotte@digia.com2013-01-212-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106777 Reviewed by Allan Sandfeld Jensen. Since r76770, QSettings isn't queried anymore to persist inspector settings like whether or not the debugger is enabled by default. It still seems to be used for the default attach height. Update the documentation accordingly. * WidgetApi/qwebinspector.cpp: Change-Id: I0f1bacdd628c56771cf74338b5ef8060154993ef git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140326 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | 32-bit build for Qt5 on Mac OS fails ↵Andras Becsi2013-01-186-3/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=107094 We need to define NS_BUILD_32_LIKE_64 for 32-bit build for Mac OS. Fixed 32-bit build detection for support Qt5. http://trac.webkit.org/changeset/140029 Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17 Reviewed by Benjamin Poulain. Change-Id: I2748db966a6dff76add422b791717bce87517e84 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Poul Sysolyatin <psytonx@gmail.com>
* | | [Qt] Use the shared HistoryItem serialization for QWebHistoryjocelyn.turcotte@digia.com2013-01-176-126/+369
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106671 Reviewed by Allan Sandfeld Jensen. Source/WebCore: This allows a few things missing from the previous serialization code to function while using commonly maintained code: - The itemSequenceNumber and documentSequenceNumber that were needed to properly restore same-document navigations - The form data - The navigation hierarchy mapping the frame tree * history/HistoryItem.h: (HistoryItem): * history/qt/HistoryItemQt.cpp: (QDataStreamCoder): (WebCore): (WebCore::QDataStreamCoder::QDataStreamCoder): (WebCore::QDataStreamCoder::encodeBytes): (WebCore::QDataStreamCoder::encodeBool): (WebCore::QDataStreamCoder::encodeUInt32): (WebCore::QDataStreamCoder::encodeUInt64): (WebCore::QDataStreamCoder::encodeInt32): (WebCore::QDataStreamCoder::encodeInt64): (WebCore::QDataStreamCoder::encodeFloat): (WebCore::QDataStreamCoder::encodeDouble): (WebCore::QDataStreamCoder::encodeString): (WebCore::QDataStreamCoder::decodeBytes): (WebCore::QDataStreamCoder::decodeBool): (WebCore::QDataStreamCoder::decodeUInt32): (WebCore::QDataStreamCoder::decodeUInt64): (WebCore::QDataStreamCoder::decodeInt32): (WebCore::QDataStreamCoder::decodeInt64): (WebCore::QDataStreamCoder::decodeFloat): (WebCore::QDataStreamCoder::decodeDouble): (WebCore::QDataStreamCoder::decodeString): (WebCore::HistoryItem::restoreState): (WebCore::WebCore::HistoryItem::saveState): Source/WebKit/qt: Bump the serialization version and change the code to abort the restore of a previous stream version rather than trying to keep the support of restoring previous versions. This is mainly to simplify things given that HistoryItem itself aborts in that case. * Api/qwebhistory.cpp: (operator<<): (operator>>): * tests/qwebhistory/tst_qwebhistory.cpp: (tst_QWebHistory::serialize_2): Modify the test to cover same-document navigations. (tst_QWebHistory::restoreIncompatibleVersion1): Add a previous version hard-coded stream to verify that the deserialization doesn't hang or crash. Change-Id: Ic3944179b7f1cb490722c38adbcfef88e8aa1c08 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139878 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | [Qt] Crash in WebCore::CachedFrame::destroyjocelyn.turcotte@digia.com2013-01-175-5/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=104525 Reviewed by Adam Barth. Source/WebCore: Add an assert to increase the chances of catching this crash early on in the future. * dom/Document.cpp: (WebCore::Document::takeDOMWindowFrom): Source/WebKit/qt: Remove the call to HistoryController::setCurrentItem which is ultimately causing the initial empty document of a page to be added to the page cache. This re-introduce the bug that was fixed by this line, which will be properly fixed in a follow-up patch. * Api/qwebhistory.cpp: (operator>>): * tests/qwebhistory/tst_qwebhistory.cpp: (tst_QWebHistory::saveAndRestore_crash_4): Cover the crash. Change-Id: Ia96ba570231557f8b53bc586410d50875880e1d1 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139876 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | CSS Animation fails on large layersAllan Sandfeld Jensen2013-01-169-21/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=104538 Accelerated compositing was in some cases causing pixmaps to be allocated that were larger than allowed. This patch changes the non GL Texture Mapper to also using tiles, to ensure we don't try to allocate invalid pixmaps. Change-Id: I4e0681ec77a2868b2f61efecbf74aa1e1db8f652 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | [Qt] Apply correct patch for the scrolling issue from bug 105014michael.bruning2013-01-162-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106219 Correct the if condition when overwriting the layout direction option with the values from the facade options to only overwrite if the facade direction is not equal to LayoutDirectionAuto. Reviewed by Allan Sandfeld Jensen. * WidgetSupport/QStyleFacadeImp.cpp: (WebKit::initGenericStyleOption): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138946 268f45cc-cd09-0410-ab3c-d52691b4dbfc Change-Id: I95c3e73766ae9351ae24be0270054d318c1775f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | [Qt] Horizontal scrollbars events are offseted making them difficult to usemichael.bruning2013-01-168-1/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=105014 Reviewed by Allan Sandfeld Jensen. Patch co-authored by Simon Hausmann. Only copy the layout direction from the facade options if the current option is Qt::LayoutDirectionAuto in order to prevent misinterpretations as different layout direction when hit testing. Tests added to tst_qwebview and tst_qgraphicswebview to verify that the view actually is scrolled in the right direction. * WidgetSupport/QStyleFacadeImp.cpp: (WebKit::initGenericStyleOption): * tests/qgraphicswebview/resources/scrolltest_page.html: Added. * tests/qgraphicswebview/tst_qgraphicswebview.cpp: (tst_QGraphicsWebView): (tst_QGraphicsWebView::horizontalScrollbarTest): * tests/qgraphicswebview/tst_qgraphicswebview.qrc: * tests/qwebview/resources/scrolltest_page.html: Added. * tests/qwebview/tst_qwebview.cpp: (tst_QWebView): (tst_QWebView::horizontalScrollbarTest): * tests/qwebview/tst_qwebview.qrc: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138933 268f45cc-cd09-0410-ab3c-d52691b4dbfc Change-Id: I3c8190858f4a0fcd0bf394056771f775677ba30e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | [Qt] Fix a crash when the QQuickWebPage is destroyed between the scene graph ↵jocelyn.turcotte2013-01-164-14/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sync and render. https://bugs.webkit.org/show_bug.cgi?id=106018 Reviewed by Simon Hausmann. The main and rendering threads are only guaranteed to be synchronised in the updatePaintNode call. In every other cases, QQuickItems cannot be safely accessed from the rendering thread. Do as the first patch version in https://bugs.webkit.org/show_bug.cgi?id=104574 was doing and copy the ratio value directly to fix the issue. Also add a note about the threading issue in QQuickWebPage::updatePaintNode. * UIProcess/API/qt/qquickwebpage.cpp: (QQuickWebPage::updatePaintNode): * UIProcess/qt/QtWebPageSGNode.cpp: (WebKit::QtWebPageSGNode::QtWebPageSGNode): * UIProcess/qt/QtWebPageSGNode.h: (QtWebPageSGNode): (WebKit::QtWebPageSGNode::devicePixelRatio): (WebKit::QtWebPageSGNode::setDevicePixelRatio): Change-Id: Ie849f0f23ae9e017fcdce6326fb2126f3ad66248 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138715 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | | [Qt][EFL][WK2] Remove redundant device pixel ratio adjustment from ↵Andras Becsi2013-01-166-37/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PageViewportController https://bugs.webkit.org/show_bug.cgi?id=106355 Reviewed by Kenneth Rohde Christiansen. This is a backport of http://trac.webkit.org/changeset/139189. Since r137597 Qt uses the device pixel ratio of the underlying platform window as the device pixel ratio in WebCore. The tiles are rendered with the effective scale (scale adjusted with the device scale factor) and the projection matrix is also adjusted with the device pixel ratio when painting. As a result we can follow the same approach as QtQuick and all the coordinates in PageViewportController need to be in device independent pixels (UI pixels) thus we do no longer need to adjust with the device pixel ratio when calculating the viewport attributes. This simplifies the logic significantly and increases robustness, but does not allow to set a custom device pixel ratio different from the factor of the underlying platform (eg. for testing purposes). This patch is conceptually a follow-up of r137597 and fixes layout and canvas size on retina display. Change-Id: I2485ef0a4aa18726238bacddaa5176cf5869659e Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | | [Qt][Mac] Fix libxslt and libxml2 config tests ↵Andras Becsi2013-01-142-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=104164 Reviewed by Simon Hausmann. http://trac.webkit.org/changeset/136837 Source/WebCore: Avoid using pkg-config on Mac, instead use direct include paths and add needed libraries to the linker. No new tests needed. WebCore.pri: Tools: We should not use pkg-config on Mac instead use direct include paths and add needed libraries to the linker options to detect libxslt and libxml2 provided by the system. Previously we would always fall back to qtxmlpatterns. qmake/config.tests/libxml2/libxml2.pro: qmake/config.tests/libxslt/libxslt.pro: Change-Id: I2020c7cdce1f6c6217320b06b4571705eb8af769 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | | [EFL][Qt][WK2] Going back to 47-amazing-css3-animation-demos shows nothing ↵Andras Becsi2013-01-142-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | or wrong position https://bugs.webkit.org/show_bug.cgi?id=104414 Reviewed by Simon Hausmann. When contents size changes, make sure to apply any pending position change if possible. This is a cherry-pick of http://trac.webkit.org/changeset/138149 that fixes a frequent positioning issue during navigation. Change-Id: Ib535f8470b2b8994565d750af06ee535e4153c3c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | | ASSERT_NOT_REACHED in StylePropertySet::fontValue when accessing font style ↵alexis2013-01-103-22/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | property through JS after setting style font size. https://bugs.webkit.org/show_bug.cgi?id=88866 Reviewed by Alexander Pavlov. Source/WebCore: StylePropertySet::fontValue always assumed that it was called using style.font after a subsequent call which set the shorthand font. The ASSERT_NOT_REACHED assumed that all longhands of the font shorthand not set by the shorthand itself were set to initial. While it's true when we set the font shorthand (i.e all longhands are set to implicit initial) it is not true when you set the longhands individually. For example setting font-size will not set other font properties to initial. It is the behavior of all other shorthands in WebKit. When reconstructing the shorthand other properties tests whether the value of each longhands is initial or not (if not then we omit the value, as we should always construct the shortest shorthand possible) or if the value is set or not (if set then we include it in the shorthand if not then we omit it). The comment removed was also talking about invalid font property potentially built by fontValue(). So far appendFontLonghandValueIfExplicit will always construct a valid value as it takes care of adding ' ' or '/' when needed, so the return value is parsable and correct. Test: fast/css/font-shorthand-from-longhands.html * css/StylePropertySet.cpp: (WebCore::StylePropertySet::appendFontLonghandValueIfExplicit): (WebCore::StylePropertySet::fontValue): * css/StylePropertySet.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139313 268f45cc-cd09-0410-ab3c-d52691b4dbfc Change-Id: I46a4b1d023f3cb8f4e7b4c0b7f176b5b9f850870 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Only enable MinGW-w64 pow() workaround if neededcommit-queue@webkit.org2013-01-102-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106099 Patch by Jonathan Liu <net147@gmail.com> on 2013-01-05 Reviewed by Filip Pizlo. The pow() workaround is no longer needed in the latest version of MinGW-w64. * wtf/MathExtras.h: Change-Id: I0b52577a61734f130ab39d70d99e8cac9b58d9ba git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138903 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Fix compilation of MathExtras.h with MinGW-w64commit-queue@webkit.org2013-01-102-22/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=106105 Patch by Jonathan Liu <net147@gmail.com> on 2013-01-05 Reviewed by Simon Hausmann. The isfinite and isinf functions are required by wtf_pow but not defined until after wtf_pow. Move wtf_pow to after "using std::isfinite" and "using std::isinf" to fix compilation. * wtf/MathExtras.h: (wtf_pow): Change-Id: I40122dfe90460b5281da7a9fe628417805330e0d git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138894 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | [MinGW-w64] Centralize workaround for pow() implementationhausmann@webkit.org2013-01-104-16/+48
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=105925 Reviewed by Sam Weinig. As suggested by Sam, move the MinGW-w64 workaround into MathExtras.h away from the JSC usage. Source/JavaScriptCore: * runtime/MathObject.cpp: (JSC::mathPow): Source/WTF: * wtf/MathExtras.h: (wtf_pow): Change-Id: I49b2365baae6fdd9700667d1ef53c78bd70f6de3 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138705 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | JS bridge does not transmit QVariants anymore in Qt5 ↵Simon Hausmann2012-12-202-4/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=104540 Patch by Simon Hausmann <simon.hausmann@digia.com>, Jedrzej Nowacki <jedrzej.nowacki@digia.com> on 2012-12-19 Reviewed by Kenneth Rohde Christiansen. A data corruption exists in the QObject bridge when calling slots that take a QVariant. The calling convention for slots is that the void* parameter array must contain pointers to the actually required destination argument type. If a function takes an int for example, the corresponding entry in the void* parameter array must be a pointer to an int that the moc generated code then can "safely" cast to an int* and dereference. Similarly if the function takes a QVariant it must be a pointer to a QVariant. We implement this calling convention by constructing QVariants of the requested parameter types and passing the value of data() into the void* parameter array. This works fine for all types except if the requested type is a QVariant. In that case data() will _not_ return a pointer that can later be safely casted to a QVariant pointer and dereferenced. Instead we must use the address of our variant to ensure a working cast. Our auto tests cover this case, but they worked by accident because the provided pointer when casted to a QVariant happens to have the correct type id that doesn't produce the warning seen in the test case of the provided example and the unit test just copies the QVariant and thus pointer. * bridge/qt/qt_runtime.cpp: (JSC::Bindings::QtMethodMatchType::typeId): Replace string based meta type id determination of QVariant with a quicker table lookup. (JSC::Bindings::findMethodIndex): Remember the chosen (requested) types and pass the pointer to the QVariant instead of its data() pointer if requested. (JSC::Bindings::QtRuntimeMethod::call): Fixed determination of whether we need to convert a return value or not solely based on the return type _specified_ in the meta method instead of the variant value returned. The latter is not sufficient because a slot can return an invalid variant, which is not the same as returning void. This was triggered by an unit test that accidentally passed due to this memory corruption in the first place. Change-Id: Ie8ed983a7b7f530c038956c9f32eef3738a3cc9d git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138247 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Fix a documentation oversightPierre Rossi2012-12-171-2/+2
| | | | | | | | | | | | | | We had forgotten a few substitutions in the process it would seem. Change-Id: I8f3cbe54ecdfb572614d9bbb0368189b7162d20c Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix undefined reference to JSC::JSCell::classInfo with MinGW-w64Jonathan Liu2012-12-172-37/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JSC::JSCell::classInfo is defined inline in JSDestructibleObject.h but not all the classes that that inherit directly from JSCell include JSDestructibleObject.h. Move JSC::JSCell::classInfo from JSDestructibleObject.h into JSObject.h to resolve the undefined reference errors when compiling with MinGW-w64. JSDestructibleObject.h is already removed upstream in SVN r128851 but the commit has a lot of other changes which don't apply cleanly. Task-number: QTBUG-27764 Change-Id: I75b13c93dd13a346e672ca76fd7b23a616653a79 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Alexey Pavlov <alexey.pawlow@gmail.com>
* | Revert r136231 to fix overlay size due to incorrect visible rectAndras Becsi2012-12-172-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This issue is visible when loading the full-sized image in the flickrview example by clicking on a thumbnail. Because of css device adaptation the code already changed in trunk somewhat but the issue is also visible there, both on retina and non-retina displays. The problem here is that the visible rect that is set in WebPage::sendViewportAttributesChanged() is incorrect because it includes a rounding error if dpr != 1.0 since the stored viewport size has integer precision, additionally there is also a dependency problem since the constructed visible rect does not include the UI-side scale that might be applied later in page viewport controller due to the changed attributes. This is especially visible on Flickr since the full size images are shown in an overlay and an invalid visible rect results in wrong overlay size. In trunk this codepath is also used by css device adaptation thus we might need a more comprehensive fix there, but since we currently do not support css device adaptation we can revert http://trac.webkit.org/changeset/136231 in this branch. The issue is tracked upstream on: https://bugs.webkit.org/show_bug.cgi?id=104906 Change-Id: Ia451ee610795700b0d3d6455413b97b607e6fb32 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix Math.pow implementation with MinGW-w64Jonathan Liu2012-12-172-0/+36
|/ | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=105087 Patch by Jonathan Liu <net147@gmail.com> on 2012-12-17 Reviewed by Simon Hausmann. The MinGW-w64 runtime has different behaviour for pow() compared to other C runtimes. This results in the following test262 tests failing with the latest MinGW-w64 runtime: - S15.8.2.13_A14 - S15.8.2.13_A16 - S15.8.2.13_A20 - S15.8.2.13_A22 Handle the special cases that are different with MinGW-w64. * runtime/MathObject.cpp: (JSC::mathPow): Change-Id: Ifad1aa24ac36f2d452e9166a4298525793597da3 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137895 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* rely on automatic output directory setupv5.0.0Oswald Buddenhagen2012-12-172-2/+2
| | | | | | | | now being a proper qt module (by virtue of having load(qt_build_config) in .qmake.conf), webkit gets the path setup goodies for free. Change-Id: Ief00d234b0b21a136f5736e7f18440d63b1a8857 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* remove some unnecessary CONFIG additionsOswald Buddenhagen2012-12-174-4/+4
| | | | | | | | qt is already added by spec_pre.prf, warn_on and depend_includepath by default_pre.prf. Change-Id: I4f02ef09f19cf0e4c7093f3fe30d5ca34daa194f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* [Qt][WK2] Fix painting on Mac with retina displayAndras Becsi2012-12-1310-134/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=104574 Reviewed by Kenneth Rohde Christiansen. Since HiDPI support has been added and enabled in Qt we ended up painting incorrectly scaled content on high-resolution screens. Because the intrinsic device pixel ratio is always taken into account by Qt when painting to high-resolution screens we should automatically obtain the scale ratio from the window in which the item is rendered instead of setting it in QML. Qt does not make it possible to override the device pixel ratio of the native window, therefore our experimental QML API for setting a custom value is of no use any more and should be removed. This patch fixes the scaling issue on Mac retina display by querying the underlying window for the device scale factor and applying it to the backing store and the scene-graph rendering of the content node. Additionally removes the experimental API and related API tests. Change-Id: I04f23059147773ca279a89ae8976ccd3d9bef292 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137597 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Doc: Fixing Qt WebKit reference documentation.Jerome Pasion2012-12-133-43/+67
| | | | | | | | | | | | | | Fixes: -added \module for C++ classes and \qmlmodule for QML types -added links to the Qt WebKit Examples pages -fixed the qhp settings for Qt Creator Task-number: QTBUG-28583 Task-number: QTBUG-28418 Task-number: QTBUG-27646 Change-Id: I883139f51f457bd6dc7bfe72bb53eb26771d2ccb Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix missing doc dependency to exampleshausmann@webkit.org2012-12-131-1/+1
| | | | | | | | | | | Patch by Jerome Pasion <Jerome.Pasion@digia.com> on 2012-12-13 Reviewed by Simon Hausmann. * Source/qtwebkit.qdocconf: Change-Id: Ib441452feac169791857792b33d02a30240fa215 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137579 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Unreviewed typo fix after r137446.v5.0.0-rc2Csaba Osztrogonác2012-12-122-1/+7
| | | | | | | | * WebCore.pri: Change-Id: I0671767aa4a167ef4c29b0cf80c49dd11b9ce714 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137452 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix GC3Dintptr and GC3Dsizeiptr typedefs for Win64Jonathan Liu2012-12-122-2/+16
| | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=104426 Patch by Jonathan Liu <net147@gmail.com> on 2012-12-10 Reviewed by Simon Hausmann. The GC3Dintptr and GC3Dsizeiptr typedefs are incorrect for Win64 as LLP64 is used there. This would result in compile error due to narrowing conversion of 64-bit pointer to signed long int which is 32-bit. * platform/graphics/GraphicsTypes3D.h: Change-Id: I7da108634cebbfdb1c1b4aed485d10990c3ecaa9 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137129 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* [Qt] Fix the inspector not showing up on Windowsjocelyn.turcotte2012-12-123-9/+20
| | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.webkit.org/show_bug.cgi?id=104677 Reviewed by Simon Hausmann. .: Resources aren't transfered properly from a static WebCore to the final DLL with MSVC since the linker only pick from the static lib symbols that are referenced in the final binary. Move the resource files directly to Qt5WebKit.dll to make sure that they are available. * Source/api.pri: Source/WebCore: * Target.pri: Change-Id: I7cf1a830ee4482fc36a6e6c4115325c6c3b947b5 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137436 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix build on Machausmann@webkit.org2012-12-122-1/+15
| | | | | | | | | | | | | | | | | | Reviewed by Csaba Osztrogonác. On Mac OS X we have sqlite as a system library available. Source/WebCore: * WebCore.pri: Tools: * qmake/mkspecs/features/features.prf: Change-Id: I05cc38b0a80a3533b00b46ef5f830e6e5597cd49 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137446 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix linkage against SQLite https://bugs.webkit.org/show_bug.cgi?id=104781hausmann@webkit.org2012-12-123-12/+30
| | | | | | | | | | | | | | | | | | | | | | | | | Reviewed by Csaba Osztrogonác. Detect SQLite either through pkg-config, from the SQLITE3SRCDIR environment variable or from qtbase via a qt5.git build. Bail out early with an error message if neither option applies. This removes the usage of $$QT.core.sources and the dependency on Qt's system-sqlite configure setting. We should always favour a system library over a copy in Qt. Source/WebCore: * Target.pri: * WebCore.pri: Tools: * qmake/mkspecs/features/features.prf: Change-Id: Ibd1149749ab3354d6cf8dd9ee22f264257f8f59c git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137444 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Add unit tests for the CMake config files.Stephen Kelly2012-12-124-0/+36
| | | | | Change-Id: Icd9338cf5e0737e01eb283337443e368b378f289 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Revert "Use non transient scrollbars on Mac"Eike Ziller2012-12-121-22/+0
| | | | | | | | | | | The patch made all checks for m_style->inherits("QMacStyle") in the StyleFacadeImp fail. This reverts commit 08d610737197b47bdfc7f78b0f712c337cc87286. Change-Id: Ie3f4d1cadcf32a71935e87075fbaf48c66c82f5f Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* make qtbase source requirement explicitOswald Buddenhagen2012-12-111-1/+3
| | | | | | | | getting rid of QT.<module>.sources references, as they don't go well with real modularization. Change-Id: Id13b53eaeb794287020985f12be58f2435ad2463 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* move SQLITE3SRCDIR assignment to only use siteOswald Buddenhagen2012-12-111-0/+4
| | | | | | | | Target.pri includes WebCore.pri the almost first thing, so that is covered as well. Change-Id: Ia150c1486f89094821498e87dfc18003c9424af5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>