| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
Add code to extract the EGL context on QNX for use as the share context
in the Chromium GPU process/thread. Very similar to the other
platforms.
Change-Id: I54fba69283e984a392c11922da2483ce921ea594
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A few changes are necessary to allow fetching textures provided by
the render processes through IPC and bound to their respective GL
context in the GPU process and use them in the QtQuick scene graph.
- Remove the plain color test textures.
- Allow setting the QtQuick QOpenGLContext's handle as the share
context for all context set as shared in the Chromium GPU process.
We do this by letting the GpuChannelManager ask us for a
ShareGroup instance responsible for returning a sharing GL context
handle.
- Fetch texture IDs from the MailboxManager used by the GPU process
using the Mailbox given to us in the DelegatedFrameData.
This is the same mechanism used by Chromium to share textures
between "client" GL contexts.
- Keep the QtQuick scene graph threads and Chromium in-process GPU
thread separate. The complicated part of merging those two
rendering pipelines on the same thread is that it would force Qt
to also use only one thread for rendering. For the moment we will
try to synchronize those threads together instead.
- Lock the Qt SG thread while waiting for resource sync points.
Do so by posting a callback to the Chromium GPU thread and wait
until the sync point of every resource has been retired by the
producing contexts.
- Acknowledge the delegated from once QtQuick swapped the GL buffers
instead of right after we added the frame to the scene graph.
This fixes some issues where the textures for the previous frame
would already be released as Chromium was producing the new frame.
There are still a few issues regarding synchronization that have to
be fixed, especially when Qt triggers the rendering of a new frame
while Chromium is starting to produce the next frame.
Note: To enable it we still need to pass the following command switches:
--enable-delegated-renderer --enable-threaded-compositing --in-process-gpu
Change-Id: I2d4f7fac603b1808ed1495a8d689cb48e9ed41b9
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
| |
This allows the Chromium GL code to initialize on the display created
by Qt.
Change-Id: I3d21f56c3792d6e99cb94690f56d7dd5c542045a
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RenderWidgetHostViewQtDelegate acts as a bidirectional interface to
avoid exporting Chromium symbols outside of the core dynamic library.
The problem is that, other than this, from the top layer point of
view, its responsibilities are the same as RenderWidgetHostViewQt,
and it would be better not to split its logic without properly
defined responsibilities.
Using it as a base class and interfacing through its protected
methods is also cumbersome and make the destination of calls on the
upper layer difficult to discern.
Use instead a dual pure interface mechanism like WebContentsAdapter
and pass the callback client interface directly in
WebContentsAdapterClient::CreateRenderWidgetHostViewQtDelegate.
This allows RenderWidgetHostViewQtDelegate to be solely what it
should be, an interface.
Change-Id: I4e55439ae7f9539cc9e360f0756fbf391405f3b7
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
| |
This avoids polluting render_widget_host_view_qt_delegate.cpp
Change-Id: I06af66f01f842e105bbded75b01f9c8346fd5df9
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can't have QWebFrame::evaluateJavascript in its old form for
several reasons, the first of which being that we don't have a
QWebEngineFrame class anymore. This is worked around by adding
an optional QString parameter with the frame's XPath.
Another issue is that the WebKit1 API was synchronous, and this would
not play nicely with the very asynchronous nature of chromium we're
now sitting on top of. In order to make this obvious when porting, we
rename it to runJavaScript which doesn't return any result.
This also introduces a template member function overload that will
accept function pointers, functors and lambdas,much like Qt5's new
signal/slot syntax, in order to get the result of the javascript
evaluation back.
Change-Id: I64e15a6f5a168936c52a4da2cef6285dfd16e0d5
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
| |
Change-Id: I08edcd97e9e2c38d9984b8ed2fbc9b64c88f8dd5
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The updating procedure for chromium is now as follows:
- update 3rdparty_upstream to the requested state for the snapshot
- initialize 3rdparty submodule by executing
git submodule init -- 3rdparty
git submodule update -- 3rdparty
- execute the export_from_git.py script from the QtWebEngine
top level directory.
- do a "git commit -a" in 3rdparty/ and write an appropriate
commit message mentioning the exact state from where the snapshot
was taken from.
- do a "git show" to double check the changes for the snapshot look
reasonable.
- push the changes to the 3rdparty repository.
Change-Id: I7806d284c9a146f857600cfef0face8331af646a
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
| |
Change-Id: I8764ff93fa94ef281ccd6fd6b7e7841aaedf05e8
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
| |
Change-Id: Ice94e3cefca317573db3492dd6622d20f4b6e00a
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
| |
This seems to be necessary to compile for OSX 10.7,
and this is the OSX version we currently use in the CI system.
Change-Id: I1edcf35baee040328de11801f58ce78ed1f8f6cb
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To implement the Web Inspector we need a delegate to handle the http
server and devtools connections, a landing page, a ContentClient to
tell the devtools server where to find its frontend resources, those
frontend resources, and an API for embedders to turn on inspectability
in WebEngineViews.
The frontend resources are build by the chromium build and are copied
over as part of lib's build.
The landing page was taken directly from content_shell. This
should be replaced by either a new one for all QtWebEngine embedders or
by a mechanism for embedders to supply their own (or both).
Change-Id: Id4076d5ede34a91abf8dba443aed4dca4be1b3e5
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|