remove QtQuick.Dialogs and related modules

They are being moved to the QtQuick Controls repository (see change
ba9ba084124403bd8930e29d8afcea9d64b6c0b6 in qtquickcontrols).
This makes it possible to use QtQuick Controls in the implementation.

[ChangeLog][QtQuick][Dialogs]Moved dialog implementations from
qtdeclarative module to qtquickcontrols module due to dependencies

Change-Id: I76d5b71b185dd14a188ea68f18bfec61b4bf2f41
Reviewed-by: Liang Qi <liang.qi@digia.com>
Doc: Add links to Qt Quick Test Reference Documentation

To TestCase and SignalSpy documentation.

Change-Id: I83f18ab107e8d047756568ab2cdddd1eaf5574ec
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Use qDebug for all debug under src/quick/scenegraph.

Mixing printf and qDebug can make the output come out of sync.

Change-Id: Ia71e71b09cb3bf651010eb2eb652db7899b07f0d
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Add QQuickMatrix4x4, a way to specify a matrix transform in QML.

Add QQuickMatrix4x4 which makes it possible to specify a 4x4
matrix tranformation directly in QML instead of decomposing the
transformation into rotation, scale etc. It does NOT replace anything,
just adds a new way of specifying a tranformation of an Item.

Change-Id: I1b123778d1d458dfe4314cdb4f0fc99fd8a4c86a
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
[ChangeLog][QtQml] Fix JavaScript Array.pop() not updating the internal array length correctly

While the length property was reporting the correct value, the internal array
length was out-of-sync.

Task-number: QTBUG-35979

Change-Id: I68820a349cf1ce88c6aabc6a2301a8a861018a10
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Ameliorate Documentation

Task-number: QTBUG-33438
Change-Id: I9187513d3b4c68d99c90726288653aae5c553a67
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
[new compiler] Preliminary support for QQmlIncubator

Just enough to run some unit tests that use QQuickLoader, components are
created instantly.

Change-Id: I1c827aa946d3e2a60ccc220bb79572aca2ed8c96
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Initial support for custom parsers

Enough to support the Connections {} element. What's missing are pre-compiled
bindings signal handlers.

Change-Id: I3ad1413fa636434d899ae8fb380249aaf40363dc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix assigning signal handlers

When assigning a signal handler to the fooChanged property, we need to
look up fooChanged as signal function, not as data property.

Change-Id: I4c0e4374cea8ce9596428975e45e78a0b743a6fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix signal handlers for properties declared in the same object

We need to generate the property caches before we can try converting the
signal handler expressions in the AST to function declarations, as that
conversion requires looking up the signal signature / meta-data from the
property cache. This in turn requires rewriting the property cache
generator code to operate on the data structure we have before creating
the QV4::CompiledData.

Change-Id: I0d1c59d947f36171b4eb89f47a2e1ff1bc493c6f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Cleanups

Move the code that calls the main compilation passes into a separate
QQmlTypeCompiler class, away from the QQmlTypeLoader.

Change-Id: Ia2f33a074d7fe7d9a092ff94d1e6cfc961ad5bdb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Keys Attached Property: Fix doc reference to nonexistent properties

Change-Id: I5e6a0855b3ad10e3adf6cf73b08a7794daf187da
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
V4: optimize dominator frontier storage.

Changes the dominator frontier storage from a set of basic-blocks for
every basic-block to a BasicBlockSet for every basic-block. This new
class stores a maximum of 8 nodes in a vector, and switches to a bit
vector when going beyond 8 nodes.

This is important in two cases: most basic-blocks have 2-3 nodes in the
frontier, and an array is faster than a set in these cases. The few
cases where the frontier goes beyond 8 nodes, is when a switch
statement is used with lots of cases that all fall-through.

On regress-74474-003.js this reduces peak memory usage from 1.68G
to 60M. The switch statement in this test results in 27000 basic-blocks.

Change-Id: I42646522ba9f8642d42a5d70fc6b760bb47ae69f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Dont call updatePolish if an item is not visible

[ChangeLog][QtQuick][QQuickItem] "updatePolish" is not called for invisible items any more.

Task-number: QTBUG-31830
Change-Id: Idad6107afaf0c6e6c96d9404ac286695c21883c7
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: Ied8d65aaf57e897a3dbc4df100744a594e8ee2cf
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Add Object::hasOwnProperty()

This allows us to remove more getOwnProperty calls. This will
be required later on to extend our array handling.

Change-Id: I7b7f5887990cd443accf51891644fdfbb849cf35
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fixes for argument objects

Fix a possible infinite recursion, and a corner
case where we wouldn't set the correct data when
writing to the argument object

Change-Id: Ia64b9f62e9b881e24d74e23d96d5eb27805a126f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Rework array handling for JS objects

Split up ArrayData into two classes, one for regular
arrays, one for sparse arrays and cleanly separate
the two cases. Only create array data on demand.

Change-Id: I9ca8d0b53592174f213ba0f20caf93e77dba690a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Smaller code cleanup

Move the check for isEmpty() into ArrayData::getProperty.

Change-Id: I1791ced706afadbb2f45883cb1b3915f40500b71
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>