Move extra installs from core.pro to core_module.pro

core_module.pro is the one responsible for deployment of the binary so
it makes sense to also let it handle the other files to install.

This leaves core.pro to only handle sub-projects dependencies.

Change-Id: Ibe433eceec7fb0a9f806dfa89dccb0bedeaccc59
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Deploy external data in QtWebEngineCore.framework for framework builds

There is currently no convenient way to deploy QtWebEngine into an application
bundle on OSX. macdeployqt copies frameworks into a .app bundle's Frameworks
directory but this makes no sense unless all the needed files are also
distributed with the bundle.

This patch moves:
- The ffmpegsumo.so library into Libraries/
- Locale .pak files, qtwebengine_resources.pak and icudtl.dat into Resources/
- QtWebEngineProcess into its own .app bundle, itself into Helpers/

QMAKE_BUNDLE_DATA is used to copy files into the bundle while INSTALLS is
used when installing normally. A LOCALE_LIST is explicitly listed since
QMAKE_BUNDLE_DATA can't handle the * glob to match all source files.

Change-Id: I5c0df57b4b9e93f9cce34a74a6e024bf90d37b5c
Task-number: QTBUG-41611
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Fix crashes in QQuickWebEngineSettings

Remove QQuickWebEngineSettingsPrivate object's pointer from the global
setting list before the object is destructed.

Change-Id: I1cca6bf8aa2438903692d9e2ef863c8fc543adbd
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Disable error page while testing loadFail signal of Quick API

Error page should be disabled while testing loadFail signal since
testing signals of the internal error page is not possible yet.

Change-Id: I07f0bb6378fcbf5d18634197808801c94606803c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Merge remote-tracking branch 'origin/5.4' into 5.4.0

Change-Id: I01615a492c958bf123deeef5d2ddf9fb01b1a9d0
Update snapshot sha1 to include various crash fixes for the release.

Change-Id: I2d04e910c7a08e1c630bc490d1f8b1be3d27a6f1
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Merge "Merge remote-tracking branch 'origin/5.4' into 5.4.0" into refs/staging/5.4.0
Disable accelerated 2D canvas rendering with ANGLE

ANGLE isn't thread-safe and we're already taking a risk by letting
Chromium do texture upload from the GPU thread with a shared GL
context.

Any kind of drawing happening concurrently between the GPU thread and
the Qt scene graph thread might currently end up drawing on the same
device context and this is creating visual artifacts and Direct3D
errors.

We're already disabling WebGL but we should also disable accelerated
2D canvas rendering to lower that risk. We should ultimately disable
ANGLE from within Chromium or fix multithreading issues to properly
support GL rendering scenarios across threads.

Task-number: QTBUG-41627
Change-Id: I37a7a778f0e1066a454f51bb38e98df4dea8767e
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Merge remote-tracking branch 'origin/5.4' into 5.4.0

Change-Id: I3b7df1ada08a8985734d804208b50cd5e0403903
Add a stub AccessTokenStore implementation.

Callers inside Chromium expect an implementation of AccessTokenStore to exist.
This fixes crashes with the geolocation-based APIs, exposed on e.g. google.com
when faking an Android UA (as well as other places, probably).

Change-Id: I45e6b483e096d5165fefd86927cdf34e799cc4d9
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Process touch events in sorted order.

We are mapping a single QTouchEvent to
multiple MotionEventQt for Chromium.
For gesture recognition it is important
that these motion events are being processed
in a sorted manner, as a move event might
trigger a different gesture depending on
how many ACTION_DOWN or ACTION_POINTER_DOWN
were received before.

It is particularly illegal to process an ACTION_MOVE
with multiple touch points without having received
a ACTION_POINTER_DOWN before.

Change-Id: I75d22dd845774a14b5f590e0e0ce46263c4a49f4
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Add missing header guards

Change-Id: I67d0040c2e9f00e8a7b842ac1228212c0e93873c
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Doc: Fix issues related to example docs

    - Add documentation for Quick Nano Browser
    - Add all examples to the correct group
    - Add instructions to run the examples
    - Qt WebEngine Widgets index page: Add examples section

Task-number: QTBUG-42668
Change-Id: Ie60f8708336b9c147d0c22afb555fe87287deddc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Use a relative install_name for QtWebEngineProcess' dependencies

Until we can rely on Qt using @rpath on OSX, QtWebEngineProcess'
dependencies must either be updated by macdeployqt when creating
an .app bundle, either we must make that path relative at build
time.

Since QtWebEngineProcess.app is always deployed inside
QtWebEngineCore.framework, we can safely assume that the dylib is
always in a parent directory and that QtCore.framework can be found
one directory higher.

The additional dependencies of QtWebEngineCore.framework will be
handled by the dynamic linker when it gets loaded, but this only
works for QtWebEngineProcess when macdeployqt uses @loader_path
instead of @executable_path (then relative to the application which
is in a different directory than QtWebEngineProcess).
This can be forced by passing a non-empty value for its
-executable= command-line argument (e.g
`macdeployqt Browser.app -executable=Browser.app/Contents/MacOS/Browser`)

All this will be much simpler once we got Qt framework builds to use
@rpath instead in a future minor version.

Task-number: QTBUG-41611
Change-Id: Ied46c65a09f7033b622708da6e3d85855f9abf34
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Disable using the ICU data file on embedded linux

Since we use the system ICU we do not need the extra data file.
This fixes a crash caused by missing icudtl.dat file.

Change-Id: Ic7a6ad83d6595ea3a89c736c281499636b05945e
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Merge remote-tracking branch 'origin/5.4.0' into 5.4

Change-Id: I2c48688f5f034233660bd7891693f81525fc1d6d