| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
This is used to show like date time picker whose document
content was generated in webkit engine.
Change-Id: I900a6ae5f61646d2ef8497dccc114f7cb5882349
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
| |
While we're at it, QWebEnginePage::createWindow is non const,
we could probably use a non const d-ptr in there.
Change-Id: If5ad43dcb5d13454c87b7dc84d69b976b1b5e334
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
While we're at it, also remove a stray currentDir variable
in readSubmodules.
Change-Id: Ia814906597f436513c4e57ed487ba478154eee4f
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
| |
Change-Id: Ia8052bffc7be18c4d8f81c3a89ac4a64b1c589af
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
This is necessary because I pushed patches
on top of the 3rdparty submodule to debug
the mac CI bot.
Change-Id: I3c3f2aff921bc8438bbbb446cbb3e125d21562f7
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
These functions are shims for subprocess.call and
subprocess.check_output and allow to display the
command being executed on screen as well.
Change-Id: I9507b8b4f0c006572211620c935e673f848dbbbc
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is necessary to be able to checkout a chromium
release branch. Chromium release branches do not
make use of git submodule.
Instead the dependencies or submodules are specified
in a .DEPS.git file.
Given some python scopes and callbacks for resolving
variables, such a file can be invoked like a python
script. The dependencies will then be exported
into the provided scopes and we can use that
information to initialize git submodules.
Change-Id: Ibab09b1077720b73f89efff16d38b308f31cf2ab
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
| |
It was missing in ac95a438620f3ec7c72ae60396ee26b3778d38b2.
Change-Id: Ib08ea6466835e9d2c55bc7944ae1b758370da30a
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it possible on touch devices to use a simple
virtual keyboard input method that synthesizes key events.
This is the minimal requirement to make the the boot2Qt
Keyboard component functional.
For more advanced input methods and the widget tests we will
need to override inputMethodEvent as well.
Change-Id: If9228ee6b1730d72e7424bdb33a9a9c46654507f
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
| |
Explicit dependencies make proper parallel builds possible.
Change-Id: I71f7d7fbee1244490dfcb040bb4145ab74d5c416
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
This is exposed through JS, and sometimes used to center popups and
so on. Exposing the virtual geometry in the case of multi-screen
setups can lead to quirky behavior.
Change-Id: I4fe395dd2a19e5c96d79a33ed6ca08bed9e3d086
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
| |
Change-Id: Ideefbf272d0affa3f53c5795b779f1bfc9c9bf70
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
| |
Change-Id: If97c7b50efc7bf01095cb4a7138208ab2c6b2e9b
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: I2363b48b66cd7fda603ff9783934ca44c1656723
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This is just the basic core part and widgets plumbing and default
implementations of the virtual functions in QWebEnginePage.
QtQuick implementation is still yet to be done
Change-Id: I7cf8d6e5ec0bf747d45e9914db57bd0e4ef95b7f
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
| |
Change-Id: Ic5ec80679f19235f441108e99e06d489ff2cabc3
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
It has a section that tree times appended on Windows because qmake does debug_and_release.
Change-Id: Iba86e578a52846cf0e95e1e7c901879ef5f8ea0b
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
On Windows a python file without extension is not runnable by itself, it needs the python executable.
Change-Id: I99cbfadc790acf3b3205faf6b940c26fb3c71e89
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|