LLInt is not built with ARM softfp ABI

In fixing QTBUG-35681 we disabled LLInt when hard fp is not set. This
is however too strong a condition as we only need to be allowed to use
floating point instructions, not use the hard floating point ABI.

LLInt is also disabled on Android because it currently doesn't build.

Task-number: QTBUG-35681
Change-Id: Ibe109b0f8fe6acaec90d42305c6151a440141ea9
Reviewed-by: Julien Brianceau <jbriance@cisco.com>
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Fix preloading of video when using QtMultimedia backend.

Based on a patch by Yoann Lopes (yoann.lopes@theqtcompany.com).

Task-number: QTBUG-37381
Change-Id: I8647c578399a592f8feef0d4028187afd3726b2d
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Do not use unaligned access when disabled

Use the GCC feature defines to check for support for ARMv6 style
unaligned access support. This fixes configurations where it was
disabled and the ARMv6-M processors where it is not supported.

Change-Id: I00c9bb19ba582b64ecb9eaa6da9887ba0df8fd3c
Reviewed-by: Julien Brianceau <jbriance@cisco.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Do not send focus event to missing plugins on OS X

Fix a crash when trying to focus a pluginview that doesn't have a loaded
plugin.

Task-number: QTBUG-40273
Change-Id: I0875cab81a3484094fc705d59df80b87ca83a9ff
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Fix assert after makerope boundary check

The browser demo asserts on qt-project.org after the makerope security
fix.

Port of http://trac.webkit.org/changeset/169397

Change-Id: I19c98737735d9b17133742752928d4ce6349de13
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Add mappings from new Qt key values to key identifiers

Change-Id: Iab57bbe15c6fd4d33dfe6e36cd0bd01ca6644841
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
avoid creation of empty qmltypes for qtquick1

Change-Id: Ic28043a94151d3878219e5808075ce6ae663c316
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Merge remote-tracking branch 'origin/5.3' into 5.4

Change-Id: I11f35f205d2ded597d54650a948bec3e1e52b419
Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4
Fix merge error

The change 4a39158368f6184c8d56e1d65866ba99f83297e0 merged a part of
the diff for prepend to append. This patch moves the wrongly merged line.

Task-number: QTBUG-40284
Change-Id: I32d1b2f8e730aca38964d3675d3dec94512e0026
Reviewed-by: Julien Brianceau <jbriance@cisco.com>
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Fix build of leveldb with old Qt versions

Applies a missing patch to leveldb that fixed building with older Qt
versions.

Change-Id: Ie894127d265140cbb8524e271e5779c92ab8e393
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Fixed crash in QGraphicsWebView when clicking on links

The mouse event passed to this function is allocated on the stack, so
we can't delete it. Also, it doesn't make sense to allocate a new one
which immediately gets leaked. The intent must have been to use the ev
parameter as a return parameter - that's what it looks like on the
caller side.

Change-Id: I023cd7895a278eada4ad4acd233741aff837fed6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Fixed self-drawing of 2D canvas with accelerated 2D canvas enabled.

The canvas 2D API allows drawing the canvas onto itself, however with
accelerated 2D canvas enabled the canvas is implemented in terms of
rendering to a texture using framebuffer objects. OpenGL does not allow
having the same texture be both a source and a destination in the same
rendering operation, so the results are undefined.

Instead, we need to blit the texture into a temporary framebuffer
object, before using that as the source of the final drawing operation.

Task-number: QTBUG-42275
Change-Id: I8114814dab2c8c6ca90b8d35a37b383b79923cb3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Fixed upside down drawing of accelerated 2d canvas

The convention used by the Qt OpenGL paint engine's internal
drawTexture() function didn't match the texture layout of the
accelerated 2D canvas. We need to adjust the coordinates according to
whether flipped painting is in effect.

Task-number: QTBUG-42376
Change-Id: I787a2deb5f26df532f2e7c475754f0fd2189132c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Fix selections after leave event

We were sending a bad fake mouse event on leave events that caused
WebCore to stop tracking mousepresses correctly. Since we continue
to receive mouse-events after leave if a mouse button is down, we
don't need the fake mouse event to unset hover states and can skip, and
can skip sending it.

Task-number: QTBUG-41419
Change-Id: I8d50c440f7556f7e34bb0c05248577583c2550b4
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Use fixed executable allocator on x64

Since the x86-64 assembler generator depends on jumps being expressable
as 32bit offsets we need to use the fixed size executable allocator and
not the on demand allocator. This patch removes its exclusion from being
used on Windows.

Task-number: QTBUG-42417
Change-Id: Ie6b127e9b4291869566fd99cc7efe05b566c8e66
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Avoid using a separate QOpenGLContext for 2D canvas if possible

When using a QGLWidget or QOpenGLWidget as a QGraphicsView viewport, we
can share the context used there. The OpenGL paint engines already keep
track of which engine is currently active on a context, and if necessary
do a state sync to give control to a different paint engine.

The TextureMapperGL does not interfere with the canvas rendering, as
canvas rendering happens entirely separate from the compositing step.
TextureMapperGL's compositing code is also wrapped inside a
QPainter::beginNativePainting() and QPainter::endNativePainting() block,
which means that the paint engine gets a chance to ensure the correct
paint device is the active target, if there have been framebuffer
objects bound for canvas rendering since the last frame.

This can result in significant performance improvements on graphics
drivers where context switching is expensive.

Change-Id: I00ac4e26c026e10549b18bef1fdf4322dd17eeee
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Don't fill with invalid fill color

WebInspector may set a default invalid fill color to disable fill, we
shouldn't fill with black in this case.

Change-Id: Ida1eaf187aca7fbca27449a9829c452f99634558
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Fix race-condition crash on leaving pages using Indexed DB

ScriptExecutionContext does not allow the list of active DOM objects
to change while it is iterating over it. Since the IDB transaction
backend implementations holds several active DOM objects it should
not delete itself while aborting.

Change-Id: Icd2f5b5a3f1957461b9a253d1005896bb2461466
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Fix build of WebKitTestRunner with Qt 5.4

We don't need the include prefix and its inclusion doesn't work with
our build model, it is unclear how this ever worked.

Change-Id: Ia56715254761e2c86a167cee70e42e076b128674
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>