| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In order to stay in line with the behavior expected by Chromium, we
focus the view on load. This is problematic when relying on the
editingFinished signal of text inputs in QML, as it is fired both when
pressing enter and when losing focus.
In our case, this would lead to reentering into load and in turn
QQuickWindowPrivate::setFocusInScope, and when returning from the outer
call, QQuickWindow would try to access the RWHVQtDelegateQuick from the
first load through a now dangling pointer.
It seems preferable to guard WebContentsAdapter::load against recursion.
Adds a simple autotest that covers the crash scenario.
Task-number: QTBUG-42929
Change-Id: Ib3bf9f421b1a91645b3e0e9aa658f2a3646d9caf
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixing up an oversight.
Change-Id: Ie09a93380b56b5f9314f43206eedbd5f1f36f2a2
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduces the QML API for the WebEngineProfiles already implemented
for QtWebEngineWidgets.
[ChangeLog][QtWebEngineQML][QQuickWebEngineProfile] New API for profiles
applying to groups of QQuickWebEnginePages.
Change-Id: Ideccddb9f1fb19628297592fe0cec504c9890e46
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduces initial widgets API for the Chromium BrowserContext.
Adds API for controlling cookie jar policy, user-agent string and
cache and persistent data paths.
Similar QML API will follow in another patch.
[ChangeLog][QtWebEngineWidgets][QWebEngineProfile] New API for profiles
applying to groups of QWebEnginePages.
Change-Id: I3c4ef4053fde7564af29178c91a0aca8a2b61a5f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I472279f6f391b036f5af9eb6a07f6803b3786320
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Off the record should leave no record, which means we should not use
disk storage for cookies and cache but instead trigger memory caching.
Change-Id: I3e14ed0f91f925bc65675d2e7d9f07eb379a30b0
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/core/access_token_store_qt.cpp
src/core/access_token_store_qt.h
src/core/content_browser_client_qt.cpp
Change-Id: Id319ad0d87ce071e63d9c6c22b4fc35523ddfa74
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fix deploys the following files into qtbase without make install:
- qtwebengine_resources.pak
- translations/qtwebengine_locales/*.pak
- icudtl.dat
- plugins/qtwebengine/libffmpegsumo.so
Change-Id: Id2c02f03fb01571942d3135b215ebb8ad7a3221b
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| | |
Change-Id: I67d0040c2e9f00e8a7b842ac1228212c0e93873c
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |\
| | |
| | |
| | | |
refs/staging/5.4.0
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I01615a492c958bf123deeef5d2ddf9fb01b1a9d0
|
| |/ /
| | |
| | |
| | |
| | | |
Change-Id: I2d04e910c7a08e1c630bc490d1f8b1be3d27a6f1
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8f1c109bfeae72971539a68dfd1216d1bd185951
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a name to BrowserContexts to separate cookies and cache paths.
Change-Id: I3f00444dc7e87d1a63383053e91a4bc7056553bb
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QHash::values will copy all values into a new QList, increasing the
ref-count of all stored QSharedPointer temporarily. Use the QHash
iterators directly to avoid this.
Change-Id: I49b1af24b706da195dc4df7206133f039198aad7
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This explicitly disables WebGL and automatic Resource transfer through
GL context sharing in cases that we know this won't work.
This is currently the case for the QtQuick 2D Renderer as well as
when using llvmpipe on Windows.
It could be possible to get Chromium to use GL through opengl32sw.dll
but the change would be more intrusive. Fall back to the Chromium
software compositor code path in that case at the cost of losing
WebGL support with llvmpipe.
Change-Id: I9c1d27ed982dccbe005c8742162c343cc6284e74
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the GPU process fails to initialize, or when the --disable-gpu
switch is provided, the delegating renderer will transfer resource
mailboxes through shared memory pixel data instead of through shared
texture IDs in the GPU process.
Handle this by uploading the pixel data ourselves with
createTextureFromImage, also allowing us to render tiles in the
QtQuick 2D Renderer.
Change-Id: I70ad7122cd0e52dd5ab435ae01e7f032b8e1194e
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As a first step to allow using plain textures for software resources,
split the Chromium resource handling responsibility into a
ResourceHolder class.
This also moves the static findMailboxTexture into a member
DelegatedFrameNode::findAndHoldResource in preparation for how
texture refcounting will work in the following patch.
Change-Id: Iaa64273c187af022045bbcaa956fcaa1f3defabc
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use QSGLayer and get rid of RenderPassTexture so that we can render
intermediate layers with the QtQuick 2D Renderer.
This reintroduces the private dependency on QtQuick since the
QSGLayer factory methods aren't available publically, and also that
we need to use QSGImageNode instead of QSGSimpleTextureNode to use
them.
Since we can't subclass QSGLayer to hold a reference to SG objects
directly in the nodes that use them, store them all in the wrapping
DelegatedFrameNode in a SGObjects structs. This works assuming that
the DelegatedFrameNode will always be at the root of our nodes,
layers and textures; if the scene graph destroys the
DelegatedFrameNode all child nodes will be destroyed with it.
Change-Id: Iedeceb8f98eb54fd8228a677c366d6df9a270e11
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
What really matters with texture coordinates is the normalized 0-1
coordinate that will end up on vertex attributes. By default
QSGSimpleTextureNode will use the full texture size to calculate
those coordinates. In that case any texture size will end up with
the same (0,0)-(1,1) coordinates, so we don't really need to set
the actual texel size of the texture.
So instead of relying on dependent quads to come back and set the
size on the texture, do like the Chromium compositor does and just
make sure that the full normalized texture rect is set on vertices
if no texture size was provided on the resource. Since the scene
graph doesn't achieve this behavior by default with an empty
texture size, set a 1x1 size to get it to do what we want.
Change-Id: I48751d2c2f6ea82dcb4bec9e984b64f7e77316f6
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is cleaner than hacking the QSGGeometry data ourselves.
Change-Id: Id2009ac8c6237472e56a11d6daa589e94bf10945
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This clarifies that those objects span to the lifetime of a Chromium
frame rather than to the DelegatedFrameNode, which can be destroyed
by the scene graph when the window is unmapped.
The also avoids the confusion with the DelegatedFrameData Chromium
structure name.
Change-Id: Ibbeb2b10ef18704fc0934e285cca4ead23879646
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In the same way it was done for widgets.
Change-Id: I03ff6ed587346b00c76cf7314483263fd4f90a2d
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1a5fedc4167dd780655b004811211e49631663c5
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If QtPositioning is available, provide chromium with a
LocationProvider that uses it as a backend.
Change-Id: I53ad3b45e49d0d2d181c1a6459b7be764293c2a6
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch prevents leaking these objects on shutdown.
Change-Id: Ic4a628e0d4dc0b31716f885c1e904b6062cf3ef0
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The duplicated logic was made apparent by the merge conflict
resolution.
Change-Id: Ib4558ca0b6b5084f851282916cbc9a6615ed33f9
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I6b018092c8b74fa50bd0a2b42a2014ac4897526f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id7be078bdd96891adefe62b9666d8b66dd318903
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The content_shell discovery page is missing some CSS
and causes the favicon to repeat as the background.
Copy the one from Chrome and change it slightly to
remove the page thumbnail.
Change-Id: I6aaa12d5c9d5abdbc4dd5c297a69445aa478045e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add the missing implementation of
DevToolsHttpHandlerDelegate::EnumerateTargets allowing WebEngineViews
to appear in the remote debugging's discovery page.
This code was mostly taken from
content/shell/browser/shell_devtools_delegate.cc
Change-Id: I2759d7c424adf4d7acb779a64e0083032691d9ba
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The convention in the rest of the QtQuick API is to not pass the new
value of a changed signal as an argument since the signal handler can
easily access the property itself.
Change-Id: I0dbf70379f631135c5ad973b46a9f3936d4be115
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/core/browser_context_qt.cpp
src/webengine/api/qquickwebengineview_p.h
Change-Id: I73bdec03b627b282851d7dda12006d4ab631072c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We should save our cache in the configured CacheLocation, and ensure
we are prepared for multiple BrowserContext by caching to a Default
subdir. This matches how chromium caches on linux.
Change-Id: Ibe914fca35435ea1658565be87747cfabc71e97b
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The feature enum names and documentation gave the impression it could
control audio and video output, while they only control input.
Also removed documentation of non connected feature permissions for
Notifications and GeoLocation.
Change-Id: Ia35142ca691ebd6059b7472e9803fda8cbd84813
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This avoids using a General matrix for tile transformations which are
usually only translations in our case.
Change-Id: Ic947d7ef9b78de6d5d16ea718cc03255e38a8097
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I935ee10d10248ab525aca31c1b1c04d2927915c1
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QtWebEngine::initialize happens after QGuiApplication instantiation,
so it is too late to simply set the application attribute.
In that scenario, we don't want to override the shared context and risk
a double free when both QGuiApplication and our cleanup handler try
to delete it.
Change-Id: Id52884abbb0c2380208876d9c00e8ddbfbc21eda
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Use explicit url in quick API too and use GetLastCommittedURL instead of
GetVisibleURL for getting the expected urls in tests.
Change-Id: If3251323645979643f3dc0e16491fe35b584f51c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Chromium is only supported on ARMv6 and ARMv7 for ARM architecture.
Change-Id: I0493c9ba2baf4a537f759286622056093c0d4a25
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
This prevents the crash when a webpage requests geolocation permission.
Change-Id: I7331b869ec1439d678cee7941691289220718f3d
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|