| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to wrap various .pak files in qrc files, but it turns out to be
very memory inefficient compared to chromium's approach of mmaping
those files.
Drop the pak->qrc logic and instead add some pure gyp targets to repack
the resources.
We then install those with qmake and look them up with QLibraryInfo.
Change-Id: I6dd3cedf6afa626ed181463911fef8885c9e9add
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
Also whitelist core.gyp in prevision for a handwritten one.
Change-Id: I8122d71893158e745f1368fc1b9d0d7aab3d220b
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
This will be necessary in order for the render process to load
localized strings among other things.
Change-Id: Ibb75e49f0bc583c158af61817e5b350f3534ec16
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The WebContentObserver::DidFailLoad event doesn't handle
all of the errors during the web content loading (eg. network errors).
Thus WebContentObserver::DidFailProvisionalLoad should be binded
on Qt side to handle these errors too.
This event is handled by the WebContentsDelegateQt::DidFailLoad function now.
Change-Id: I1421214dd94481a1e27cda8d35a35d418289b604
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
| |
Change-Id: Ibe0bab32fb215bc4de58a474ca7b77a289dea2f0
Reviewed-by: Arvid Nilsson <anilsson@blackberry.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the condition for the defines and define them if we
compile for the target. If these end up causing issues in
the future we have will have to patch gl.gyp in chromium.
Also move the TOOLKIT_QT define so that it is always defined.
Change-Id: If80f057a277b22fd7e0c9b049eeb137b4876c4cb
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
| |
Change-Id: I6b4d1ec92b3adc2145a1f2aeec7038eac079d4e8
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
Seems more robust than a regexp, and the right thing to use in this case.
Change-Id: I1ca320606c50fb3d5f593025e23b3e08ae77a124
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
| |
Git submodule works only with cygwin on Windows. MSys Git has
problems with long paths. So matchesOS needs to identify
cygwin environment as Windows to get the right submodules.
Change-Id: Ie7acfaa4d1ef3d891710a39651049c4e5a9f3570
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NOTE: To build after this you should rerun init-repository.py or run
$> git submodule sync
$> git submodule update
$> git config qtwebengine.chromiumsrcdir src/3rdparty
This makes everything build by adjusting paths.
Other mixed-in changes:
- Rename qtwebengine_src variables in scripts to qtwebengine_root to
avoid confusion.
- Cleanup the release and debug extra targets that were in lib.pro.
This file has also been split into src.pro and core.pro.
Change-Id: Ieee9158a65f526b15244eaca59e779b7069d337e
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This only move files without adjusting any paths.
This moves:
- lib/quick -> src/webengine/api (API files)
lib/quick -> src/webengine (other files)
This contains the main QtWebEngine module library since
<ec7b2ee70a8b2db7fb87f50671a001ddd54697b0>.
- lib/widgets -> src/webenginewidgets
Also rename this directory to match its module name and rename Api to api.
- lib -> src/core
- process -> src/process
- resources -> src/core/resources
- tools/* -> tools/scripts/
The build directory is spread as follow:
- build/build.pro -> src/core/gyp_run.pro
- build/qmake_extras/* -> src/core/ (for the host and target .pro files)
- build/qmake -> tools/qmake
- Build related scripts -> tools/buildscripts
Change-Id: I0cded1de772c99c0c1da6536c9afea353236b4a1
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The gyp output libQt5WebEngineCore.so wasn't installed anywhere when
you did "make install". The QtWebEngineProcess is not built by gyp but
nonetheless was not installed anywhere.
Fixed by adding some INSTALLS to lib.pro and process.pro. I made the
lib.pro INSTALL unix-specific for now because I'm not sure how to write
"extra" INSTALLS for macx and win.
Change-Id: Ic127ab79c5788988b4d12f741eece7afc71cf6ce
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
| |
Let the Chromium build system figure out default values if a flag can't
be deduced from the QMAKE_CFLAGS. For example, this allows Chromium to
default to ARM v7 if no ARM version can be deduced from compiler flags.
Change-Id: I47257a7fc27cdbca84c6999dba75affe809f753b
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Add the required -rpath-link arguments pointing to the QNX staging Qt5
library location. Since QtWebEngineProcess only uses Qt5 indirectly
through libQt5WebEngineCore.so, it's difficult for qmake to get this
right.
Change-Id: I1d6fb7c6baf637054b7626443a3224fb76fe51f6
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since QNX ld only supports staging-relative rpath values, the absolute
filesystem rpath stored in libQt5WebEngineWidgets.so doesn't help it
find libQtWebEngineCore.so.
As a QNX-specific counterpart to the rpath hack, we add an rpath-link
to qt_lib_webengine.pri that will allow webenginewidgets apps to find
the lib at link time.
Change-Id: I8217805edebebe55c66e47d6e9409c20f1dfc717
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
| |
Change-Id: I2d86e63b7a798128e7d542beb3174021142a0577
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
| |
Change-Id: I09cea3230da7d0b7a218108668bd562f2cb57384
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
| |
Create an instance of the default sqlite cookie store and set it on
the URLRequestContextStorage.
Change-Id: I657ed947962bbfaa7369db0b4ce5cad22ee7de7f
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
| |
This patch adds support for inheriting target specific cross-compile
settings from Qt.
Change-Id: I964297d776bcc5ac169ce09a52f661d08c5b4b9d
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Arvid Nilsson <anilsson@blackberry.com>
|
|
|
|
|
|
|
|
| |
We are still able to build with Qt 5.1 if we disable
the hardware acceleration codepaths.
Change-Id: Ic748dac0a7f25bbd79f2f711a18431872cebd917
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
| |
Change-Id: I2d84dca693ee89807c7f125f4645375dada64032
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
| |
Change-Id: I4a3d3e898b7202c68ee85fd736cd4729daa794b2
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
| |
- Fix excludes
- Fix gyp so that it supports cross-compiling on mac as well
Change-Id: I89081f4115ec4dec6ca2c96bb5ad367d42405bb3
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
| |
The first "set _endwhich" needs a value to work well.
Change-Id: I1fb65b71dd7dd378de62d2836ba003d54787cd23
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
It is not necessary anymore since QtWebEngineProcess dynamically
links to the core library which will now contain those symbols.
Change-Id: I3475347bab41a00b943f934a5e341326c66dc726
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Move all the process code in the core library and let the later simply
call its QtWebEngine::processMain exported function from its main.
This also allows us building QtWebEngineProcess directly with qmake
without going through gyp.
Change-Id: I8df36510d0bf14e313918bef807e2118f1ecadd5
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
| |
On Windows ninja executable has filename extension.
Also slashes need to be converted to backslashes otherwise nmake
will not execute ninja from makefile.
Change-Id: I89a302860c40de4489231914738578e290476e12
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
| |
On Windows the where util is similar to which, but it can return
multiple matches so only the first one is selected.
Change-Id: I55953ce5dd4940a37ab4fae7baa78dd2deed1085
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
On Windows with default debug_and_release configuration project
files parsed tree times while generating Makefile, Makefile.Debug
and Makefile.Release. Some operation needs only one time processing.
Change-Id: I02d04076cbb70c705916703526444585e83a24ff
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure that the install_name is set properly when linking the core library.
It would normally be possible to set this to <(PRODUCT_DIR) and let
gyp handle this, but this isn't supported (see gyp.XcodeSettings.GetInstallName)
so let qmake resolve the path.
This should be removed to use something relative to @loader_path that
would resolve this path to the Qt module libraries once we have proper
installation logic in place for the core library.
Change-Id: Id617afdf95c4aede6802e55b05deffe3218be82e
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
Windows specific dependency points to the wrong path.
Change-Id: Ib94f15e8872666c716ad6093b1f0ca957a050db7
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows backslash in QMAKE_RCC causes wrongly generated Qt5WebEngineCore.ninja file.
For example QMAKE_RCC's value generated to lib/lib.gyp as 'c:\Qt-5.2.0\bin\rcc.exe'.
This turns to 'c:/Qt-5.2.0[BS]in[CR]cc.exe' in Qt5WebEngineCore.ninja after running qyp.
That means \b is parsed as backspace and \r is pharsed as carriage return character.
Current Windows versions can handle forward slashes in paths so backslashes can be replaced to forward slashes when needed.
Change-Id: I814dc63df92b78ed5cae028e0b8c36dbf3eb1e49
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
| |
Change-Id: I070e5b5f135f0e74eaf47bd5975892fd288dafab
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring this QtWebKit concept to our API as well to contain APIs that
we aren't comfortable adding to the supported-forever group yet and
allow trying them out unofficially for an undetermined number of
releases first.
Change-Id: I52c8655dfd2996ea461ac6c00de975002827a4c3
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Arvid Nilsson <anilsson@blackberry.com>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the WebEngine QtQuick plubin library a library only that fetches
the API privatly from the official module.
This will allow an experimental plugin library to also have access to
the API classes, which it currently can't since the plugins aren't
deployed the same way as module to <prefix>/lib.
The module currently only export classes privately but the plan is
to make this library the official linking point of entry for
applications along with the Qt5WebEngineWidgets module.
The WebEngineCore library could eventyally be merged into this module
library if we can get gyp to play well with qmake.
Change-Id: I5edb60b412e213b59f791a7b8df9f28c295502de
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The WebEngineWidgets module and the WebEngine QtQuick plugin libraries
already have the RPATH set properly in their headers and the application
won't need to link any symbol directly to the Core library.
Remove the RPATH directive for examples and tests and fix the build issue
by making sure that the link directive isn't passed to dependencies
through the prl or pkgconfig file.
Change-Id: Id1f5efb8c9823613e804e8e6356d711d561d72ec
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is mainly to get rid of the warning shown when using QQuickWebEngineView
without delegated rendering with the threaded scene graph render loop:
"QPainter: It is not safe to use drawPixmap() outside the GUI thread"
The main advantage that QPixmap gave us was that QPixmap::scroll is
provided. This patch pulls out some of its implementation to make the
use case work with QImage.
Since QPixmap is backed by a QImage with the raster paint engine, the
previous behavior should remain except on the DirectFB platform, which
we don't ship to yet.
Change-Id: If77c9079ee95218519be1d092cad24635e29a279
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
I could currently only test this with --enable-overlay-scrollbars.
Background color quads still need some work in Chromium to be able to
to use this kind of quads, see
<http://code.google.com/p/chromium/issues/detail?id=114658>.
Change-Id: I9c9bdb5c72b91827cfdb7e38e44755c6361a05cf
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This does basic sanity testing of the graphics stack for both the
hardware accelerated and software codepaths.
This also adds a required signal to report the CompositingSurface later
on if the QWindow wasn't available yet when Chromium asked for it.
Change-Id: I402ec5ade9114c78bea7960c5f0de989f54110e3
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This also allows the software code path to be enabled:
- Programmatically by setting this dynamic property on the QCoreApplication:
"QQuickWebEngineView_DisableHardwareAcceleration"
- Through the Chromium command line switch "--disable-delegated-renderer"
for quick development use cases.
Change-Id: I32136d880444e0a24f042c7c4862950b7ed0c910
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes two issues:
- The onFrameSwapped slot was connected with a QueuedConnection, this
means that any previous frame triggered by Qt could be queued right
before updatePaintNode is called, and be handled right after, thus
picking our m_pendingAckFrameData and sending the Ack before this
frame was actually swapped.
- For cases where Qt triggers a new frame (e.g. typing text in a
QtQuick text area) it would be possible that it starts rendering
before m_pendingUpdateFrameData had been set, which would render
the old frame while Chromium might be in the middle of rendering
the new one on the same resources, or destroying them.
The solution is grossly to do proper used resource reporting to the
child compositors via cc::CompositorFrameAck::resources.
We previously released all resources on every frame, and Chromium
would resend back to us the ones that could be reused without change.
We now instead only return unused resources, but this also means that
we have to keep track of used resources ourselves.
cc::DelegatedFrameData::resource_list only contain new resources to
be added to the scene and we keep a deep copy of the
cc::TransferableResource into our MailboxTextures.
A few other changes that come with this:
- A few null-checks can now be removed since we can better rely on
the integrity of the information passed through DelegatedFrameData.
- Since we can now prevent used resources from being destroyed while
we use them, trigger a frame Ack immediately after updatePaintNode
instead of waiting until the buffer is swapped, like ui::Compositor
does.
- MailboxTexture is now more autonomous, but still require some
information from quads. Mark them as not containing alpha by default
and fetch this information from quads when encountered.
Change-Id: Ice235f3a98a179c87eec7fbcb9880e34b0ed1e73
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
This is an issue for non-developer builds of Qt where the forwarding
headers have to be generated before processing the examples project
files.
Change-Id: I683227c97a763c48b8ab090580f37f7134680c59
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
| |
Change-Id: I15261c3737a3284b99308453132f09ee7889c444
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
| |
Or we won't be able to run QWebEnginePage autotests in debug.
Change-Id: I0b479fe7de6bd10984201f292514c343a15135cd
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
Out of the #ifndef Q_MOC_RUN block, so we can keep track of what's missing there.
Change-Id: I53ef60b1a70b5495603d44fb23491c144891eb92
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
There's no such thing as bugs.webengine.org ;)
Change-Id: Ie8ac6a6a0a4e6b23580084d36f334e2fd1cb25fb
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
| |
This experiment served its purpose and is now more often broken
than useful.
Change-Id: I73ea68c99dedcc8a3fe9004d130518daf146b493
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
| |
This basically reimplements GLRenderer::DrawYUVVideoQuad.
Change-Id: I990e224d69b372c76e2174c174c9b82678e25b86
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
| |
Also update references in the doc.
Change-Id: Ica4d77cb1db040b466c739e4fc1bfd37df544589
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
| |
Change-Id: Ia61fbe3ef6b76c7530d10d4a3305d4208b3469ef
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|