5 years agoReduce memory footprint when linking v5.2.1
Allan Sandfeld Jensen [Tue, 26 Nov 2013 09:11:27 +0000 (10:11 +0100)]
Reduce memory footprint when linking

Linking QtWebKit on Linux x64 with debug symbols can use up to 11Gbyte
of memory. This can make it impossible to link on many systems.

This patch forces GCC 4.8+ to fully use DWARF-4 debug-types sections
to eleminate duplicate symbols and makes earlier GCC versions STABS
which also uses much less memory.

Task-number: QTBUG-36131

Change-Id: Ib1ba3e073b5984ead3a0badb935e7b89c01b962b
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoCheck also for mingw-g++-xxx specs
Kai Koehne [Wed, 8 Jan 2014 07:43:11 +0000 (08:43 +0100)]
Check also for mingw-g++-xxx specs

Some packagers/distributions have individual mingw-g++ mkspecs, e.g. for

Change-Id: I5deb2d543934b16c4df63cd8ec240e6ec9b64d9b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoReapply mouse event handling in QQuickWebViewFlickablePrivate.
Michael Brüning [Tue, 7 Jan 2014 17:07:43 +0000 (18:07 +0100)]
Reapply mouse event handling in QQuickWebViewFlickablePrivate.

This reapplies commit 0b789c6a785d5ef45c3f6f2fc0f8694772b3d392,
which had been in Qt 5.0.x and 5.1.x, but was not upstreamed
and hence overwritten when importing the new snapshot.

This basically reverts http://trac.webkit.org/changeset/136119.

Task-number: QTBUG-35097
Change-Id: I3e02c3feeb5193c0c06b7525469e208de1d6cafc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years ago[Qt] Re-enable plugins on Mac.
Jocelyn Turcotte [Mon, 3 Jun 2013 13:13:26 +0000 (13:13 +0000)]
[Qt] Re-enable plugins on Mac.

Reviewed by Tor Arne Vestbø.


* platform/FileSystem.h:
* platform/qt/FileSystemQt.cpp:
  - Q_WS_* aren't defined since Qt5, use Q_OS_MACX instead.
* plugins/mac/PluginPackageMac.cpp:
  - createCFString now does the adoption itself.
* plugins/mac/PluginViewMac.mm:
  - Add missing include.


* WebCoreSupport/ChromeClientQt.cpp:
  - Add missing parenthese.


Plugins on Mac were only enabled if !embedded but the later was set if
QPA is enabled, which is the default since Qt 5.0.

Remove references to 'embedded' and fix various build issues,
PluginViewMac.mm and PluginPackageMac.cpp haven't been compiled since a few

* DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
* qmake/mkspecs/features/features.prf:
* qmake/mkspecs/features/unix/default_pre.prf:

Task-number: QTBUG-35899
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change-Id: I49692a234a66c205099c5dde8eb24ffb6eadba0f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoUse pkg-config to build against ICU
Allan Sandfeld Jensen [Thu, 2 Jan 2014 11:49:43 +0000 (12:49 +0100)]
Use pkg-config to build against ICU

To get the correct combination of ICU includes and libraries we should
use the system information available in pkg-config. Without this we might
get build errors on some Linux distributions.

Change-Id: I0e803e914467312c8ae586d41e08d1fda2b510b6
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoRemove dependency v8-private
Allan Sandfeld Jensen [Thu, 2 Jan 2014 11:57:29 +0000 (12:57 +0100)]
Remove dependency v8-private

When building the WebKit2 tests we still try to link against v8-private,
which no longer exists.

Change-Id: I4848cb62ce696e941947930fb099d23a7ce0b27e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoExtend disabling of whole-program-optimizations to MSVC 2013
Allan Sandfeld Jensen [Thu, 2 Jan 2014 13:19:22 +0000 (14:19 +0100)]
Extend disabling of whole-program-optimizations to MSVC 2013

Building with whole-program-optimizations remains a problem with MSVC
2013, so we must continue to disable it.

Task-number: QTBUG-35835
Change-Id: Ic3131495ce0ce323ad041e51332969cc01b741c5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoASSERTION FAILED: m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer...
simon.fraser@apple.com [Wed, 13 Nov 2013 20:03:53 +0000 (20:03 +0000)]
ASSERTION FAILED: m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) after r135816


Reviewed by Dave Hyatt.

RenderLayer caches repaint rects in m_repaintRect, and on updating layer
positions after scrolling, asserts that the cached rect is correct. However,
this assertion would sometimes fail if we were scrolling as a result of
doing adjustViewSize() in the middle of layout, because we haven't updated
layer positions post-layout yet.

Fix by having the poorly named FrameView::repaintFixedElementsAfterScrolling()
skip the layer updating if this FrameView is inside of adjusetViewSize() in

In order to know if we're inside view size adjusting, add a LayoutPhase
member to FrameView, replacing two existing bools that track laying out state.

Investigative work showed that there are many, many ways to re-enter FrameView::layout(),
which makes it hard (but desirable) to more assertions about state changes, but
indicated that saving and restoring the state (via TemporaryChange<LayoutPhase>)
was a good idea.

* page/FrameView.cpp:
* page/FrameView.h:

Change-Id: If79914ee00b9250831c935bca8e7dcccf485ecf8
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Bartosz Brachaczek <b.brachaczek@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoOS X Mavericks/Xcode5: Find libxslt and libxml2 headers
Eike Ziller [Fri, 6 Dec 2013 11:40:56 +0000 (12:40 +0100)]
OS X Mavericks/Xcode5: Find libxslt and libxml2 headers

The development headers are no longer installed in a system location,
but only in the sysroot.

Change-Id: Ie9b85ff638c435e7e4d0a538f6e72d2cdbae88c8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoDo not accept all touch events
Allan Sandfeld Jensen [Fri, 15 Nov 2013 16:08:26 +0000 (17:08 +0100)]
Do not accept all touch events

QtWebKit currently accepts all touch events to prevent the lack of accept
on a TouchBegin from preventing receiving TouchUpdate and TouchEnd.

This behavior prevents QGuiApplication from converting touch events to
mouse events, and makes the WebView widget impossible to interact with
by touch.

This patch modifies the behavior slighly so that QtWebKit only accepts
touch events if they are needed for the active document.

Task-number: QTBUG-31938
Change-Id: Iba80ebfaf31c93f82356e3f0622039120921172a
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years ago[texmap] Borders on rotating images are hidden/wrongly rendered with edge distance...
José Dapena Paz [Tue, 17 Dec 2013 11:19:41 +0000 (12:19 +0100)]
[texmap] Borders on rotating images are hidden/wrongly rendered with edge distance antialiasing


Reviewed by Noam Rosenthal.

Texture mapper edge distance antialiasing texture sampling was causing
borders to be shaded (and made them almost disappear in some cases).
This was because calculation of sampling happened on vertex shader, so
the border of the texture would go to the border of the inflation area.

What algorithm should do is sampling the border pixel for all the
inflation area (it is the closest pixel to all the samples in
inflation area), and then use the standard sampling for the other
parts of the texture.

No new test because this is already covered by test

* platform/graphics/texmap/TextureMapperShaderProgram.cpp: fix edge
distance antialiasing texture sampling.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Task-number: QTBUG-34975
Change-Id: I77654e806d6b198680cb2e6c0dbc1a6adb295222
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoFix QtWebKit build on ARM softfp
Allan Sandfeld Jensen [Tue, 17 Dec 2013 11:26:58 +0000 (12:26 +0100)]
Fix QtWebKit build on ARM softfp

The low level interpreter depends on hardfp, so we need to disable it
when builing on ARM targets with softfp.

Task-number: QTBUG-35681
Change-Id: I8aaef546b92182a87cc7116ac452d8725de6a7db
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoDo not completely erase LIBS variable
Jürgen Hunold [Sat, 7 Dec 2013 12:34:20 +0000 (13:34 +0100)]
Do not completely erase LIBS variable

Using an empty LIBS variable prevents usage of custom library paths
and libraries via configure -L <path> -l <extra_lib>.
This is needed for linking with an alternative stdlib implementation.

Change-Id: Ie1009bfd435436bf584b2963066535ee90f4d5d0
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoDo not try to build QtWebKit as a static library
Allan Sandfeld Jensen [Wed, 4 Dec 2013 11:16:49 +0000 (12:16 +0100)]
Do not try to build QtWebKit as a static library

QtWebKit is too large to be linked as a static library on most platforms,
since static libraries are typically limited to 4Gbyte even on 64bit
tool chains (http://sourceware.org/bugzilla/show_bug.cgi?id=14625).
The GNU ar thin archives do not have that limitation however.

Task-number: QTBUG-32309
Change-Id: Ia290ecb6f54fc0a0482f17c6d9dc2ad0c810b3b3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoMerge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging...
Frederik Gladhorn [Thu, 12 Dec 2013 17:04:35 +0000 (18:04 +0100)]
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable

5 years agoMerge remote-tracking branch 'origin/release' into stable
Frederik Gladhorn [Thu, 12 Dec 2013 17:04:03 +0000 (18:04 +0100)]
Merge remote-tracking branch 'origin/release' into stable

Change-Id: Ia8a8683d649f27498c77f5b1932dcf1aef46bb04

5 years agoRevert "[EFL][WK2] Never create WebCore scrollbars for EFL/WK2"
Allan Sandfeld Jensen [Tue, 26 Nov 2013 12:45:55 +0000 (13:45 +0100)]
Revert "[EFL][WK2] Never create WebCore scrollbars for EFL/WK2"

This reverts commit 373d3d52252ea44fdd5d17635459d18d3d4b3e94.

Allow FrameViews to have hidden Scrollbars. This fixes key event scrolling
in fixed layout mode.

Task-number: QTBUG-34203
Change-Id: Idf157d51e01ba4d831e62d1e24f7283030c8e177
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoFix scroll-bar behavior in RTL layout
Allan Sandfeld Jensen [Thu, 12 Dec 2013 11:48:29 +0000 (12:48 +0100)]
Fix scroll-bar behavior in RTL layout

Default to application layout direction when no widget is given,
and reverse meaning of position for horizontal RTL scrollbars.

Task-numer: QTBUG-28256
Change-Id: I09c49f5d104fd0b9a6b4b1cda5c754712fc26087
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
5 years agoApply size constraints for direct compositing also to background images.
Michael Brüning [Wed, 11 Dec 2013 16:34:14 +0000 (17:34 +0100)]
Apply size constraints for direct compositing also to background images.

The fact that this was not done before led to a failed WebKit assertion
in the UIProcess which caused any WebView application loading pages
with large background images (e.g. flickr.com) to crash on Windows.

Task-number: QTBUG-35208
Change-Id: Ieae76e19fc08483cbd038a7c14e06b4bd12dd681
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoHandle PlatformPageClient not being set in Windows PluginView.
Michael Brüning [Tue, 10 Dec 2013 16:18:28 +0000 (17:18 +0100)]
Handle PlatformPageClient not being set in Windows PluginView.

The helper contentsToNativeWindow assumed that the PlatformPageClient
would always be set, which caused problems with plugin content in head-
less client applications such as CutyCapt.

Task-number: QTBUG-35224
Change-Id: Iadce5fb62bd45dd0d1b15e0d7918cfbbff1b3fae
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoDoc: Update WebView code sample on Qt WebKit landing page
Topi Reinio [Wed, 27 Nov 2013 14:32:53 +0000 (15:32 +0100)]
Doc: Update WebView code sample on Qt WebKit landing page

Replace obsolete 'Page' QML type used in the sample code
with 'ScrollView' from Qt Quick Controls.

Task-number: QTBUG-35154
Change-Id: I0a16a6158be028bf8a7975240411841c4e8200ef
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoDo not force SSE2 instructions on i386 builds v5.2.0
Allan Sandfeld Jensen [Tue, 26 Nov 2013 09:17:44 +0000 (10:17 +0100)]
Do not force SSE2 instructions on i386 builds

To have consistent rendering between x86 and x64 builds QtWebKit enables
SSE2 math on x86. This however raises the minimum requirements of the x86
binaries and should be disabled in Qt builds.

Change-Id: If57ff0a3c9cd0a91a508ba02fda8b596381262a8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoRemove superfluous assert from WebKitQmlPlugin::initializeEngine
Michael Brüning [Mon, 2 Dec 2013 11:07:58 +0000 (12:07 +0100)]
Remove superfluous assert from WebKitQmlPlugin::initializeEngine

The uri parameter is unused in this method and the ones called by it,
so it should not be asserted on.

Task-number: QTBUG-34066
Change-Id: I184fbad3e6e3d4786b4cc4e9f768f1c006309295
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoFix crash on exit of Google Maps
Allan Sandfeld Jensen [Wed, 27 Nov 2013 17:44:08 +0000 (18:44 +0100)]
Fix crash on exit of Google Maps

QtWebKit may crash when exiting the new WebGL version of Google maps.

The problem is that under some circumstances the PlatformLayer is destroyed
before the GraphicsLayer that reference it, causing the GraphicsLayer to
access it during destruction.

Change-Id: Ia3d0f337dcb9b8b38e9e23f53bea669bd868f713
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoFix bad if test in QQuickWebViewPrivate::didFailLoad.
Michael Brüning [Tue, 26 Nov 2013 14:28:58 +0000 (15:28 +0100)]
Fix bad if test in QQuickWebViewPrivate::didFailLoad.

It was using and for two different error codes as David
Binderman pointed out.

Task-number: QTBUG-39425
Change-Id: I85348d8ba07757eb33eceb447adb34cc2e4e1842
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoMerge remote-tracking branch 'origin/release' into stable
Frederik Gladhorn [Tue, 26 Nov 2013 09:54:43 +0000 (10:54 +0100)]
Merge remote-tracking branch 'origin/release' into stable

Change-Id: I9088052f76de19e584cd16fd039502de6b22bec2

5 years agoBump MODULE_VERSION to 5.2.1
Sergio Ahumada [Mon, 25 Nov 2013 11:50:36 +0000 (12:50 +0100)]
Bump MODULE_VERSION to 5.2.1

Change-Id: Ie398288908d0c2dcabe8aaf8916c8b10c73a70e1
Reviewed-by: Matti Paaso <matti.paaso@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
5 years agoAccount for when the QGraphicsView is a top level widget v5.2.0-rc1
Andy Shaw [Mon, 25 Nov 2013 10:31:51 +0000 (11:31 +0100)]
Account for when the QGraphicsView is a top level widget

When the QGraphicsView was a top level widget then it would not account
for the transformations as it did not translate the point from the scene
to the view.

[ChangeLog][QtWebKitWidgets][QGraphicsWebView] Make sure that mouse
events for QGraphicsWebView items in a top level QGraphicsView.
Task-number: QTBUG-32179

Change-Id: I2c26580a7e7e5eaec08d71768298e961d3e9d13b
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoWebKitQML examples does not work on Mac
Allan Sandfeld Jensen [Fri, 22 Nov 2013 17:18:10 +0000 (18:18 +0100)]
WebKitQML examples does not work on Mac

A combination of a flawed GCC 4.2 implementation and a compiler
misdetection that meant it was also used for clang caused WebKitQML
to crash on startup.

Task-number: QTBUG-35040
Change-Id: I77534c0e9974a79e7487d5211b1374b250219d49
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoMake qtwebkit disable itself if the gui module isn't present.
Michael Brüning [Mon, 25 Nov 2013 08:37:24 +0000 (09:37 +0100)]
Make qtwebkit disable itself if the gui module isn't present.

Building qtwebkit will fail if the qtgui modules is not present and
hence the qt build will fail.

Task-number: QTBUG-33108
Change-Id: Iab56781bf194e100daf3e509a5ed7e274ee201e4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoDoc: Fix issues in Qt WebKit documentation config file
Topi Reinio [Wed, 20 Nov 2013 14:20:16 +0000 (15:20 +0100)]
Doc: Fix issues in Qt WebKit documentation config file

This change addresses following issues:
    - Replace hard-coded version strings with QT_VERSION et al.
    - Use the word 'Reference' in description for consistency
    - Add a url variable
    - Add a filter for Qt WebKit (usable in Qt Creator Help)
    - Use the correct selector for listing QML types

Task-number: QTBUG-34966
Change-Id: Ic8f404720b02e022da964eadd50cbd140482809c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
5 years agoDetach image data when returning an ImageFrame as a native image.
Michael Brüning [Thu, 21 Nov 2013 16:22:21 +0000 (17:22 +0100)]
Detach image data when returning an ImageFrame as a native image.

With error analysis and fixing guidance by Allan Sandfeld Jensen.

This caused crashes when a gif was being loaded and the data in the
backing store for image frame was prematurely freed.

Task-number: QTBUG-31936
Change-Id: I7f4454db00cbbcf53f18060aa986a843c7522d57
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years ago[sh4] Fix revertJumpReplacementToBranchPtrWithPatch in MacroAssembler.
commit-queue@webkit.org [Mon, 18 Nov 2013 07:51:26 +0000 (07:51 +0000)]
[sh4] Fix revertJumpReplacementToBranchPtrWithPatch in MacroAssembler.


Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-17
Reviewed by Michael Saboff.

Current implementation of revertJumpReplacementToBranchPtrWithPatch is wrong in
the sh4 MacroAssembler part, leading to random instabilities. This patch fixes it
and also renames the bad-named revertJumpToMove to revertJumpReplacementToBranchPtrWithPatch
in the SH4Assembler.

* assembler/MacroAssemblerSH4.h:
* assembler/SH4Assembler.h:

Change-Id: Ifbc6851f506a1303c85cff3a47c23e932fad033c
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years ago[sh4] Protect repatchCompact from flushConstantPool.
commit-queue@webkit.org [Wed, 13 Nov 2013 17:39:43 +0000 (17:39 +0000)]
[sh4] Protect repatchCompact from flushConstantPool.


Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-13
Reviewed by Michael Saboff.

Random crashes may occur with sh4 architecture, when a flushConstantPool occurs in
movlMemRegCompact. As in this case a branch opcode and the constant pool are put
before the movlMemRegCompact, the branch itself is patched when calling repatchCompact
instead of the mov instruction, which is really bad.

* assembler/SH4Assembler.h:
(JSC::SH4Assembler::repatchCompact): Handle this specific case and add an ASSERT.

Change-Id: I9c0e78cade4d20d0d83d683ffe6a499cee63bdbb
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years ago[sh4] Fix load32WithUnalignedHalfWords function in baseline JIT.
commit-queue@webkit.org [Tue, 12 Nov 2013 23:09:39 +0000 (23:09 +0000)]
[sh4] Fix load32WithUnalignedHalfWords function in baseline JIT.


Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-12
Reviewed by Michael Saboff.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::load32WithUnalignedHalfWords): Do not claim scratch register too early.
Test already covered by fast/regex/pcre-test-1.

Change-Id: Ib783d70723754e80d961ade9463d7dc85ccb83f0
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years ago[sh4] Refactor jumps in baseline JIT to return label after the jump.
commit-queue@webkit.org [Mon, 4 Nov 2013 18:21:37 +0000 (18:21 +0000)]
[sh4] Refactor jumps in baseline JIT to return label after the jump.


Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-04
Reviewed by Michael Saboff.

Current implementation of jumps in sh4 baseline JIT returns a label on the jump itself
and not after it. This is not correct and leads to issues like infinite loop the DFG
(https://bugs.webkit.org/show_bug.cgi?id=122597 for instance). This refactor fixes this
and also simplifies the link and relink procedures for sh4 jumps.

* assembler/MacroAssemblerSH4.h:
* assembler/SH4Assembler.h:

Change-Id: Ia31b326a1f3c41e9c913e513563ff1e6b8f8e55e
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoFix performance regression in HTML5 canvas stroke()
Allan Sandfeld Jensen [Tue, 19 Nov 2013 13:21:16 +0000 (14:21 +0100)]
Fix performance regression in HTML5 canvas stroke()

To solve corner case of stroking intersecting path with a transparent
color we switched the strokePath implementation to using QPainterPathStroker
in Qt 5. Unfortunately this appears to be 100-1000x slower than using

This patch partially reverts the change and now only use QPainterPathStroker
when stroking a transparent outline.

Task-number: QTBUG-34855
Change-Id: I9f5c593b9093a8eb94a76081bbc2e7565c306afd
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoFix compilation on ARM
Samuli Piippo [Mon, 18 Nov 2013 11:51:46 +0000 (13:51 +0200)]
Fix compilation on ARM

Android fix broke ARM compilation on non-Android Linux platforms.
Now correcly define Elf32_auxv_t only on Android/Qt and otherwise
include asm/hwcap.h

Same fix was previously applied to QtScript, which had the exact
same android problem (QTBUG-30978).

Task-number: QTBUG-34917
Change-Id: I29d570731754c6291f8dc0c379e6fdc8ec72b897
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoMerge remote-tracking branch 'origin/release' into stable
Frederik Gladhorn [Mon, 18 Nov 2013 11:29:03 +0000 (12:29 +0100)]
Merge remote-tracking branch 'origin/release' into stable

Change-Id: I66176b416e672de84bf9df7e96346c3bea0c4dca

5 years agoFix left-over reference to qtlocation
Allan Sandfeld Jensen [Wed, 13 Nov 2013 14:30:52 +0000 (15:30 +0100)]
Fix left-over reference to qtlocation

QtWebKitWidgets were still incorrectly looking for the qtlocation module
instead of the qtpositioning module.

Change-Id: I3945a6d73e8438dadde05055c082ee3f4f39cdc6
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoFix crash when converting QObjectList
Allan Sandfeld Jensen [Tue, 12 Nov 2013 15:26:32 +0000 (16:26 +0100)]
Fix crash when converting QObjectList

We were passing on a PassRefPtr to multiple lower calls, since any
conversion from a PassRefPtr to a RefPtr will reset the PassRefPtr to
null, it should not be used for multiple calls.

Task-number: QTBUG-34278
Change-Id: I8d4bf28e25eb6e66baef38e0352c40a08f504538
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoFix MSVC2013 compilation
Yuchen Deng [Tue, 12 Nov 2013 13:51:34 +0000 (21:51 +0800)]
Fix MSVC2013 compilation

Starting with MSVC 2013, more functions are provided.

Task-number: QTBUG-34705

Change-Id: I90bf939ad4503a00d31e81c148c6b4ef8af6caff
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoAdd padding objects for classes with netscape plugin api conditionals.
Michael Brüning [Thu, 14 Nov 2013 17:49:17 +0000 (18:49 +0100)]
Add padding objects for classes with netscape plugin api conditionals.

When building with the Visual Studio Compiler on windows, we are facing
some problems because objects that are shared between WebKit1 and
WebKit2 have different memory maps for inlined accessors because the
Netscape Plugin API had to be disabled for the WebKit2 API on Windows
in the new snapshot for Qt 5.2.

This caused plugins not to be loaded because the wrong values for the
mime types and urls are returned and might lead to all kinds of bugs and

This patch adds dummy pointers / data structures for the parts of the
build that do not have the Netscape Plugin API enabled.

Task-number: QTBUG-34280
Change-Id: Iaa2cd2b19d07eff71981f392d913ae5218495266
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
5 years agoTrigger layout after resizing the FrameView.
Michael Brüning [Wed, 13 Nov 2013 17:13:36 +0000 (18:13 +0100)]
Trigger layout after resizing the FrameView.

There are problems with QGLWidget based web plugins due to the fact
that WebKit forces us to relayout during paint events, which in turn
might resize widgets, causing the shared backing store's QImages to
be corrupted and hence causing crashed.

This patch triggers a layout upon resizing the FrameView, which reduces
the likely hood of resizing plugins during a subsequent paintEvent.

Task-number: QTBUG-34277
Change-Id: Id35c72a3cc68ac6633a74fba0669c2d8fbfabc88
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years ago[GStreamer] cannot play live streams
Andre Moreira Magalhaes [Tue, 12 Nov 2013 13:18:20 +0000 (14:18 +0100)]
[GStreamer] cannot play live streams


Reviewed by Philippe Normand.


Fix issues with rtsp streams embedded on <video> not loading.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
Do not reset pipeline to READY state on STATE_CHANGE_ASYNC when entering PAUSED state for
live streams, otherwise we enter an endless loop of READY->PAUSED->READY->PAUSED when
starting playback.

Change-Id: Iec00e0f41ca6b55994524c9864336f765c0d56d3
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoDo no check seek offset against internal size on gstreamer source element
Andre Moreira Magalhaes [Tue, 12 Nov 2013 13:17:13 +0000 (14:17 +0100)]
Do no check seek offset against internal size on gstreamer source element


Reviewed by Philippe Normand.

The internal size on gstreamer source element may be wrong in case the received size in
didReceiveResponse is not accurate. Lets just try to seek and let it fail if necessary.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

Change-Id: Iacdd4e3f615528ba8bff2f1d6510855d45f9e1af
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153787 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoFix fullscreen support with GStreamer
Allan Sandfeld Jensen [Mon, 4 Nov 2013 14:43:23 +0000 (15:43 +0100)]
Fix fullscreen support with GStreamer

Fullscreen support has not been working with GStreamer since Qt 4.8,
the issue was the native fullscreen window was not fully ported, and
was affected by some bitrot.

This patch fixes the native fullscreen window for GStreamer, ensures the
fullscreen options are available on WebKit1, and adds a context menu and
web action to toggle fullscreen mode.

Change-Id: I9c6c5a1e36fbbc8e1d1fae371bdf9abc1aee7775
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoFix compilation of GraphicsSurfaceMac on OS X 10.9 Mavericks
Eike Ziller [Mon, 4 Nov 2013 16:17:40 +0000 (17:17 +0100)]
Fix compilation of GraphicsSurfaceMac on OS X 10.9 Mavericks

Change-Id: I5c0685b79e653d06073bf3df3e08e1feb3826948
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoDisable QtWebkit for QNX
Andreas Holzammer [Thu, 31 Oct 2013 16:33:37 +0000 (17:33 +0100)]
Disable QtWebkit for QNX

BlackBerry/QNX has the torch webkit.

Change-Id: I3defb065b18fc7e00d6b3bdcfeb79a05fb51e629
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoFix ABI violation in QWebSettings::CSSCompositingEnabled
Allan Sandfeld Jensen [Thu, 31 Oct 2013 12:36:07 +0000 (13:36 +0100)]
Fix ABI violation in QWebSettings::CSSCompositingEnabled

QWebSettings::CSSCompositingEnabled was added in the middle of the enum
instead of being put at the end.

Since it controlled a RuntimeEnabledFeatures which are global and does
not work per page like QWebSettings should. The setting has been removed
but kept enabled by default.

Change-Id: I5dc35eee78c3846c8482e044c6dd5cd34410969c
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoRemove unused runtime enabled features
Allan Sandfeld Jensen [Wed, 30 Oct 2013 15:53:18 +0000 (16:53 +0100)]
Remove unused runtime enabled features

Reverts the addition of CanvasPathEnabled setting. It had no effect since
it only changed the unused RuntimeEnabledFeatures.

WebKit ChangeLog:

Some of the runtime enabled features were only ever used by the V8 bindings
and can be removed as no WebKit code sets or reads them.

* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:

Change-Id: Ie15d05d6e27e5edb62cc5ce00fd59258df8ec2d7
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158269 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoProspective build fix for builds with video disabled
Simon Hausmann [Wed, 30 Oct 2013 08:08:05 +0000 (09:08 +0100)]
Prospective build fix for builds with video disabled

Change-Id: I65f8b063cdac252941d2e4dd91bd2a367b101cbc
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoSupport HTML5 media context menu items
Allan Sandfeld Jensen [Tue, 15 Oct 2013 17:00:43 +0000 (19:00 +0200)]
Support HTML5 media context menu items

Support most of the items WebCore populates the context menu with when
the user right clicks an HTML5 audio or video element.

Change-Id: I331a3271f68075fe70d914e2675620f617d53b42
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoLoad libudev at run-time
Allan Sandfeld Jensen [Fri, 25 Oct 2013 10:49:25 +0000 (12:49 +0200)]
Load libudev at run-time

Changes the usage of libudev from linking at compile time to loading at

Task-number: QTBUG-34176
Change-Id: I7feb91ed3ee1c21dbb3ab508cb7ad6d69c73cc01
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoRedisable debug-info on MinGW64
Allan Sandfeld Jensen [Thu, 24 Oct 2013 12:05:21 +0000 (14:05 +0200)]
Redisable debug-info on MinGW64

Change f6069ba2adac13eee941a300595aa3c0a445fc1a disabled the stripping
of debug information from linux x64 builds, but accidentally also
disabled it for MinGW64 builds.

This patch ensures we again strip the deeper WebKit debug information
from all win32-g++ builds

Change-Id: I06e2a85f71cb159205a0e9acae01806ecf4e6b0f
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoOnly use 64bit atomics when supported
Allan Sandfeld Jensen [Wed, 23 Oct 2013 12:24:27 +0000 (14:24 +0200)]
Only use 64bit atomics when supported

To support Windows XP we must avoid using the 64bit variants of the
atomicIncrement/atomicDecrement operations which are only supported from
Windows 2003 and up.

This patch rolls back the minimum Win32 API version to WinNT 5.1 (32bit WinXP),
and adds a new flag to indicate the support of 64bit atomics.

The new flag is now also used to support MIPS and other architectures
without 64bit intrinsics, instead of hacking in poor support.

This also extends the atomic operations to sparc64 which was previously
skipped because it did not work with __exchange_and_add.

Task-number: QTBUG-34271
Change-Id: I21b09df3cafb7f0987a2f44c89036ff34ed34aa0
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
5 years agoASSERTION FAILED: !node || node->isShadowRoot() in WebCore::EventRetargeter::eventTar...
Ryosuke Niwa [Tue, 22 Oct 2013 13:35:15 +0000 (15:35 +0200)]
ASSERTION FAILED: !node || node->isShadowRoot() in WebCore::EventRetargeter::eventTargetRespectingTargetRules


Reviewed by Andy Estes.

Merge https://chromium.googlesource.com/chromium/blink/+/4ce9bfbf54410179cd0f18b3d1a912045fc0ec3d

* dom/EventRetargeter.h:

Change-Id: I56a3429e72689e58e744895b2f85cbcea20e7f54
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoFix NULL de-refernce in HTMLAnchorElement::sendPings when settings doesn't exist
Ryosuke Niwa [Tue, 22 Oct 2013 13:34:25 +0000 (15:34 +0200)]
Fix NULL de-refernce in HTMLAnchorElement::sendPings when settings doesn't exist


Reviewed by Darin Adler.

Merge https://chromium.googlesource.com/chromium/blink/+/d5783da353ab783e9994b8fbecd91880be5192a1

No new tests since the test in the Blink change doesn't reproduce crash on WebKit.

* html/HTMLAnchorElement.cpp:

Change-Id: I3776e3d96013e9f71adfa9942c941040326c6b73
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoFix build for boot2qt eAndroid
Allan Sandfeld Jensen [Fri, 18 Oct 2013 16:14:17 +0000 (18:14 +0200)]
Fix build for boot2qt eAndroid

Reverts the removal of Android support in WTF, and brings the support
up to date.

Merged change to MacroAssemblerARM.cpp from QtScript.

Replaces use of statvfs with statfs in one place.

Replaces shm-based shared memory with ashmem-based in WebKit2.

Change-Id: I440b1fbd94bb4148f7ba764d77de65230d13ed90
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoUse global Qt configuration for libudev v5.2.0-beta1
Allan Sandfeld Jensen [Mon, 21 Oct 2013 11:36:02 +0000 (13:36 +0200)]
Use global Qt configuration for libudev

Only build WebKit with libudev dependency if Qt was configured with libudev.

Task-number: QTBUG-34176
Change-Id: Iaabb2401e2dc4a91d46a5e4f759546e0de278a08
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoUpdate configure warnings
Allan Sandfeld Jensen [Mon, 21 Oct 2013 10:28:08 +0000 (12:28 +0200)]
Update configure warnings

The configure warnings issued by Qt WebKit are slightly outdated. This
updates then to be more accurate to what caused the failure and where
it can be fixes.

Change-Id: Iec41c20c86787dd95c8cb209604747587e7931bc
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoBuild improvements
Allan Sandfeld Jensen [Mon, 21 Oct 2013 09:31:15 +0000 (11:31 +0200)]
Build improvements

Do not try to compile headers files, this fails on some systems.

Disable C++11 compat warnings on non-linux unix based systems.

Change-Id: I02457db61a61068261d2717eee74f58bdf496f58
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years ago[sh4] Jump over maxJumpReplacementSize in revertJumpToMove.
Julien Brianceau [Wed, 16 Oct 2013 14:07:42 +0000 (16:07 +0200)]
[sh4] Jump over maxJumpReplacementSize in revertJumpToMove.


Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-07
Reviewed by Oliver Hunt.

Jump over maxJumpReplacementSize in revertJumpToMove, even if there is no constant
value within the area. This patch fixes debug ASSERTs failures for sh4 architecture.

* assembler/SH4Assembler.h:

Change-Id: Ice297393b167eace620ace8d8957014f0b3945c8
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years ago[arm] Inverted src and dest FP registers in DFG speculative JIT when using hardfp.
Julien Brianceau [Wed, 16 Oct 2013 14:04:05 +0000 (16:04 +0200)]
[arm] Inverted src and dest FP registers in DFG speculative JIT when using hardfp.


Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-09
Reviewed by Michael Saboff.

* dfg/DFGSpeculativeJIT.h:

Change-Id: Ib633513948031702efd5ca0d4b89920e99979755
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoSVG stroke-dasharray not working
Allan Sandfeld Jensen [Thu, 17 Oct 2013 13:51:24 +0000 (15:51 +0200)]
SVG stroke-dasharray not working

When creating the QPainterPathStroker we forget to also copy the dashPattern property.

Task-number: QTBUG-34063
Change-Id: Idb4d124447e2727c418c8ca5e1de694245f6ba22
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoRevert r152209
Allan Sandfeld Jensen [Thu, 17 Oct 2013 12:00:45 +0000 (14:00 +0200)]
Revert r152209

Revert another fixup patch for one of the commits we reverted in our branch.

Change-Id: I423969481d398df7f334ba4fbf2f2e466ff418fb
Reviewed-by: Julien Brianceau <jbriance@cisco.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years ago32-bit code gen for TypeOf doesn't properly update the AbstractInterpreter state
Mark Hahnenberg [Wed, 16 Oct 2013 14:01:27 +0000 (16:01 +0200)]
32-bit code gen for TypeOf doesn't properly update the AbstractInterpreter state


Reviewed by Geoffrey Garen.

It uses a speculationCheck where it should be using a DFG_TYPE_CHECK like the 64-bit backend does.
This was causing crashes on maps.google.com in 32-bit debug builds.

* dfg/DFGSpeculativeJIT32_64.cpp:

Change-Id: Icdcfe0719d22df7db6dc7ffcee309b75b63914df
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoFix undefined reference linker errors with MinGW
Kai Koehne [Tue, 15 Oct 2013 14:48:14 +0000 (16:48 +0200)]
Fix undefined reference linker errors with MinGW

Make sure the inline methods are defined whereever referenced. This fixes
'undefined reference' errors when linking with MinGW-builds 4.8.2 32 bit
posix dwarf rev2.

Task-number: QTBUG-34083
Change-Id: Iadc7300634780741be9d97bc889290cd113181e1
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoMissing QWebSettings
Allan Sandfeld Jensen [Tue, 15 Oct 2013 09:17:50 +0000 (11:17 +0200)]
Missing QWebSettings

We have enabled the Canvas Path Object as compile-time feature, but
being disabled by default we give the user no way of using it.

CSS Grid layout is also disabled by default, but is already exposed but
not documented.

Change-Id: Ie7a7ac4c2ad24978ed83996ac37327acb2870fe0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoDefine use_glib in features.prf
Allan Sandfeld Jensen [Mon, 14 Oct 2013 13:37:21 +0000 (15:37 +0200)]
Define use_glib in features.prf

When we use GStreamer we need to define USE(GLIB), we currently do this
separately in WTF and WebCore. This should instead be done centrally to
make the it consistent.

Change-Id: I079dbeaf99b091ea2ecd093bfef1428d963f8300
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoREGRESSION (r149928): CanvasStyle::operator= leaks everything
Alexey Proskuryakov [Mon, 14 Oct 2013 10:11:23 +0000 (12:11 +0200)]
REGRESSION (r149928): CanvasStyle::operator= leaks everything


Reviewed by Andreas Kling.

* html/canvas/CanvasStyle.cpp: (WebCore::CanvasStyle::operator=): Don't leak.

Change-Id: I422e07ff97b04c3cd57fdfc437ae12b56ddfedf7
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoFix build with GStreamer on non-linux X11 platforms
Allan Sandfeld Jensen [Mon, 14 Oct 2013 10:28:21 +0000 (12:28 +0200)]
Fix build with GStreamer on non-linux X11 platforms

We detect GStreamer based on pkgconfig, this means it is not limited
to linux only, and we need to enable the same features everywhere it
is enabled.

Change-Id: I1b863c663e24f157c3f2d88548dc8c674dd63867
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
5 years agoImprove backtraces on linux 64bit
Allan Sandfeld Jensen [Mon, 14 Oct 2013 10:21:08 +0000 (12:21 +0200)]
Improve backtraces on linux 64bit

On linux builds we force most debug symbols off in the WTF, JavaScriptCore
and WebCore submodules of QtWebKit. We do this to make linking possible
on 32bit but results in very poor backtraces from our users.

Since this is only needed on 32bit, we should disable it on 64bit.

Change-Id: I5009bb254471dc2213569b0cd011f283d6edfb95
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoEnable more AllInOne files
Allan Sandfeld Jensen [Fri, 11 Oct 2013 16:26:59 +0000 (18:26 +0200)]
Enable more AllInOne files

Fix MediaAllInOne and JSBindingsAllInOne by removing the sources from
them that breaks the rest of the sources.

This should further reduce memory consumption when linking on Windows.

Change-Id: I44e8f134c70b7610947d59b1b51b84ad53241d94
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoRemove unused WebKit2QML library
Allan Sandfeld Jensen [Fri, 11 Oct 2013 15:04:41 +0000 (17:04 +0200)]
Remove unused WebKit2QML library

This library was introduced after Qt 5.1 as a transition to only using
WebKit2's C API. The transition was never completed and the WebKit2QML
library currently only contains one file and serves no purpose.

Change-Id: Iaa2cc0db5504c957065952b693fc68c8fcb84176
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years ago[Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange
Renata Hodovan [Fri, 11 Oct 2013 15:10:20 +0000 (17:10 +0200)]
[Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange


Non-steppable input types must not rendered as slider even if its webkit-apperance style
property is set to slider-vertical/horizontal.

Test: platform/qt/fast/forms/range/slider-crash-on-input.html

* platform/qt/RenderThemeQStyle.cpp:

Change-Id: I8428f62d4b0ec92f8cec0ecd0304feda5c1dc13a
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoEnable more AllInOne files
Allan Sandfeld Jensen [Fri, 11 Oct 2013 12:21:55 +0000 (14:21 +0200)]
Enable more AllInOne files

Modified DOMAllInOne to work on Windows (without libXML2) and enabled
CSSAllInOne which already worked.

This should lower memory pressure when linking on Windows x86.

Change-Id: I621814f44cc8e0aad4cf822d5f0d52c53a6557e2
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoWarning on starting WebProcess
Allan Sandfeld Jensen [Thu, 10 Oct 2013 15:13:08 +0000 (17:13 +0200)]
Warning on starting WebProcess

The localStorageDirectory is set right after the WebContext is created,
but during creation the path is empty and will cause a warning in QDir.

Task-number: QTBUG-33866
Change-Id: I940e08c217ee2401e326bf60910bc628add2f30b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoRevert "Fix debug builds for Windows32 x86 bots."
Zeno Albisser [Wed, 9 Oct 2013 12:22:52 +0000 (14:22 +0200)]
Revert "Fix debug builds for Windows32 x86 bots."

This reverts commit 7d9d4f0dfe7fe6cab21c4dd45d2e86e7c49ed20a.

While this fixes the issue of running out of memory for linking
32bit debug builds on windows, it seems to introduce various problems
due to mixing debug and non-debug flags within the same binary.

Change-Id: I8836ffe4b4be61b652aae1bc3ce87246aef6e581
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
5 years agoFix linux-clang with clang 3.4
Allan Sandfeld Jensen [Fri, 4 Oct 2013 14:09:39 +0000 (16:09 +0200)]
Fix linux-clang with clang 3.4

Cherry-picked upstream r153965 to fix linux build with clang 3.4

Change-Id: Ib3eeb5c424c4f0ef00c228ad02b61ef87dd9b3b6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoCrash on GeoLocation demo
Allan Sandfeld Jensen [Wed, 2 Oct 2013 15:51:06 +0000 (17:51 +0200)]
Crash on GeoLocation demo

Apply missing QtLocation -> QtPositioning renaming.
This was causing GeoLocationController to never be set.

Change-Id: Id6b110ee2df3047b11e1c13ff5a1d2eb9d8b4c40
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoFix debug builds for Windows32 x86 bots.
Michael Brüning [Fri, 27 Sep 2013 12:19:15 +0000 (14:19 +0200)]
Fix debug builds for Windows32 x86 bots.

Reviewed by Allan Sandfeld Jensen.

There was an out of memory problem when linking the debug builds
that had been solved on Linux and MinGW32 already by stripping
debug info from production builds.

This patch applies the same for MSVC builds on x86 hosts and enable the
debug symbols again for builds running on x86_64 hosts.

Change-Id: Id9ead480f243d8e48494f350a7a96b2bd2570c95
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years ago[sh4] Missing instruction in nativeCallTrampoline LLINT function.
Julien Brianceau [Fri, 4 Oct 2013 10:11:32 +0000 (12:11 +0200)]
[sh4] Missing instruction in nativeCallTrampoline LLINT function.

"move t0, a0" is missing in sh4 implementation of nativeCallTrampoline.
Reuse MIPS implementation to avoid code duplication.
Fixed in changeset 153371 of WebKit trunk.

Change-Id: Ifcc729006bcb426a797762aab093cd300401633c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years ago[Texmap] CSS filter not working on software composited layers
Allan Sandfeld Jensen [Tue, 1 Oct 2013 15:10:19 +0000 (17:10 +0200)]
[Texmap] CSS filter not working on software composited layers


Reviewed by Noam Rosenthal.

Tell the rendering layer we do not support CSS filters when we do not. This
will make RenderLayer fall back to using its own software implementation.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:

Change-Id: I89b033c30ea507a79861443afc96d56374c6fea5
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoSupport kerning with SVG web fonts
Allan Sandfeld Jensen [Fri, 27 Sep 2013 12:45:02 +0000 (14:45 +0200)]
Support kerning with SVG web fonts


Reviewed by Stephen Chenney.

Adds the glue to WidthIterator to take advantage of kerning in SVG web fonts.
To supply SVG font kerning with its required text input, the signature of
applyFontTransforms has been extended.

Since SVG font kerning was extremely slow, it has been sped up by replacing
the iteration over all possible kerning definitions with a hash-map based
lookup of the leading symbol to be kerned. The new algorithm provides a
roughly 100x speed-up in SVG font kerning.

Test: fast/text/svg-font-face-with-kerning.html

* platform/graphics/TextRun.h:
* platform/graphics/WidthIterator.cpp:
* rendering/svg/SVGTextRunRenderingContext.cpp:
* rendering/svg/SVGTextRunRenderingContext.h:
* svg/SVGFontElement.cpp:
* svg/SVGFontElement.h:
* svg/SVGHKernElement.cpp:
* svg/SVGHKernElement.h:
* svg/SVGVKernElement.cpp:
* svg/SVGVKernElement.h:

Change-Id: I309d05b57df3a85fa9720e56f4ace53d5d1d8cf5
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoDoc: Reverted name of Qt WebKit and landing page filename.
Jerome Pasion [Mon, 30 Sep 2013 13:36:33 +0000 (15:36 +0200)]
Doc: Reverted name of Qt WebKit and landing page filename.

-qtwebkit-index.html and "Qt WebKit" are the correct names for the
module according to the writing guidelines
-index.html will collide with the main Qt 5 index.html page

Change-Id: Ic07ae422b85766090b1e3c09b34100293a972bfb
Reviewed-by: Martin Smith <martin.smith@digia.com>
5 years ago[Qt] Fix build with Qt 5.2 QtPosition module
Allan Sandfeld Jensen [Fri, 27 Sep 2013 12:50:22 +0000 (14:50 +0200)]
[Qt] Fix build with Qt 5.2 QtPosition module


Reviewed by Simon Hausmann.


QtLocation -> QtPositioning

* Source/sync.profile:


QtLocation -> QtPositioning

* WebKit1.pri:


QtLocation -> QtPositioning

* WebCoreSupport/GeolocationClientQt.cpp:


QtLocation -> QtPositioning

* Target.pri:
* UIProcess/qt/WebGeolocationProviderQt.cpp:
* WebKit2.pri:


QtLocation -> QtPositioning. Make sure we set build type before doing configure checks
that might depend on them.

* qmake/mkspecs/features/default_pre.prf:
* qmake/mkspecs/features/features.prf:

Change-Id: I96a16559373a21513c4d83e53b6cee9f27682649
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years ago[Qt] RepaintRequested signal sometimes not emitted
Allan Sandfeld Jensen [Thu, 26 Sep 2013 11:38:34 +0000 (13:38 +0200)]
[Qt] RepaintRequested signal sometimes not emitted


Reviewed by Simon Hausmann.

We should also emit repaintRequested after calling PageClient::update().

* WidgetSupport/PageClientQt.cpp:

Change-Id: Ib8664ef0b25b7b9c51f3fd32925d018be3906299
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years ago[Qt] Crash when trying to download blob url
Allan Sandfeld Jensen [Thu, 26 Sep 2013 11:34:48 +0000 (13:34 +0200)]
[Qt] Crash when trying to download blob url


Reviewed by Simon Hausmann.


Resolve any blob URLs before creating a QUrl.

* platform/network/qt/ResourceRequestQt.cpp:


Do not crash if a download was triggered on a resource WebCore handles internally.

* WebCoreSupport/FrameLoaderClientQt.cpp:

Change-Id: I9191eb991be81f69df4328ab54132da3dde15241
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoRevert "Un-crashify JSC tests on debug bots after Anders had his way with StringImpl." v5.2.0-alpha1
Allan Sandfeld Jensen [Tue, 24 Sep 2013 16:33:25 +0000 (18:33 +0200)]
Revert "Un-crashify JSC tests on debug bots after Anders had his way with StringImpl."

Revert another commit that depended on the reverted SQLite commit.

Change-Id: I629b6ab7822c15f9f61f61cd880edefd9545838b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoFix build on OS X 10.6
Allan Sandfeld Jensen [Wed, 18 Sep 2013 11:58:50 +0000 (13:58 +0200)]
Fix build on OS X 10.6

The assembler on older Mac's is buggy and requires 'movd' instructions
instead of 'movq' on x64. This is worked around in newer GCCs, but for
older ones it is easier to just not build LLint.

Do not use automatic conversion of Function<> to BLOCK.

Change-Id: I623c91acc79cd3476c441e1c981a2152de05d00c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years ago[Qt] Update sync.profile https://bugs.webkit.org/show_bug.cgi?id=121295
Allan Sandfeld Jensen [Fri, 20 Sep 2013 13:01:57 +0000 (15:01 +0200)]
[Qt] Update sync.profile https://bugs.webkit.org/show_bug.cgi?id=121295

Reviewed by Simon Hausmann.

Ensure we let the dependencies pick the right branch instead of always
master and list all the dependencies we need on all platforms.

* Source/sync.profile:

Change-Id: Ia6f2d55911eb18c4ecacac017439afe78db5f17c
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoFix build with MingW
Allan Sandfeld Jensen [Wed, 18 Sep 2013 16:14:04 +0000 (18:14 +0200)]
Fix build with MingW

Fix wrong export/import flags in inlined methods.

Use normal GCC inline asm instead of _ReadWriteBarrier.

Change-Id: Iba6b923be383777f2807d84349044dbe5a22eb57
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoMerge branch 'stable' into dev
Sergio Ahumada [Thu, 19 Sep 2013 21:41:33 +0000 (23:41 +0200)]
Merge branch 'stable' into dev


Change-Id: I0961de8127cf1c8233036038a324c2567a70533e

5 years agoSkip build on OS X 10.6 and Windows MingW temporarily
Allan Sandfeld Jensen [Thu, 19 Sep 2013 11:59:07 +0000 (13:59 +0200)]
Skip build on OS X 10.6 and Windows MingW temporarily

Skip the build on the most quirky platforms until the rest of the merge
has landed.

Change-Id: I9813fef570fffde4de51b66e9e15ba04e44cd0c3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoQtWebKit should not require SQLite version to 3.6.16.
Allan Sandfeld Jensen [Wed, 18 Sep 2013 12:56:50 +0000 (14:56 +0200)]
QtWebKit should not require SQLite version to 3.6.16.

Revert r152134 which raised the minimum SQLite version,
and r152201 which removed a method the reverted code needed.

Change-Id: Ie028992137f3983d114f3491423afe6303173544
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoRemove C++11 requirement in WebKit2
Allan Sandfeld Jensen [Tue, 17 Sep 2013 09:01:33 +0000 (11:01 +0200)]
Remove C++11 requirement in WebKit2

Removes all use of C++11 specific features in WebKit2. This consists of
template<S<T>> syntax, a few uses of auto, and a single use of std::move.

Change-Id: I1bbd356c430802caf5f7440cd0d3bb2ba49ed098
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoFix build with clang
Allan Sandfeld Jensen [Fri, 13 Sep 2013 16:59:49 +0000 (18:59 +0200)]
Fix build with clang

Forcing C++11 on clang does not work on older versions of clang. Instead
fix https://bugs.webkit.org/show_bug.cgi?id=115741 by disabling rvalue
references if clang is using a too old version of libstdc++11.

Avoid compile_asserts unless we have the same C++11 static asserts used in trunk.

Finally build ANGLE with the same C++11 state as the rest, otherwise it will expect
libstdc++ symbols instead of libc++ symbols.

Change-Id: Ifa49325a73d6dc17bc67bccd79813b25860df915
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoFix build with namespaced Qt
Allan Sandfeld Jensen [Fri, 13 Sep 2013 15:35:03 +0000 (17:35 +0200)]
Fix build with namespaced Qt

One forward declaration of QUrl was missing proper namespace macros.

Change-Id: Ibb2414b63e2926015874b4cf7024f101d59be6dc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
5 years agoFix build with gcc 4.4
Allan Sandfeld Jensen [Fri, 13 Sep 2013 14:29:33 +0000 (16:29 +0200)]
Fix build with gcc 4.4

Nullptr is one of the C++11 features not fully supported in gcc 4.4,
we can therefore not rely on it being converted to a pointer automatically.

Change-Id: I91830a2e78d9eb7532930581774cc095181cbf83
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>