| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Use resourceForIntegration to get egldisplay since not all QPA return a
egldisplay for context (in particular xcb_egl).
Implement EGL fallback for linux desktop builds, to make Wayland work
without an X11 server present.
Change-Id: Idcead42250fa00a36e50c082711f5618fd213556
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ib010ede9756fb02992a3276ae7ec90ef1ab56a00
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch is a port of commit 4b0cac9dfeebb73f21a11e10e6a2bc7bddbe889b in
Chromium for Qt WebEngine.
The based commit says:
> http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_surfaceless_context.txt
>
> This patch adds support in GLSurfaceEGL to be able to use
> surfaceless context when supported by the drivers. This avoids
> the creation of a dummy offscreen surface. This would also enable
> support for offscreen rendering on platforms (i.e Ozone-Wayland) which
> donot support pbuffer surfaces.
Some platforms supported by QPA, such as Mesa 3D DRI2 with drm and wayland
backend also don't support pbuffer surfaces.
Change-Id: I8378957931d79b691392b6fbe13082b8610b8fe6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I98cb984548d833121d7e3102b9d89ccc7c8a11b6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The qputenv() call inside gl_surface_qt.cpp, which is executed on a
GpuChildThread, can reallocate the process environment structure,
and it is possible that at the same time the main thread calls getenv,
which will dereference a pointer to the freed environment structure,
essentially causing a use-after-free crash.
Make sure the qputenv() call happens before Chromium initialization
starts, so no thread-race can occur.
Change-Id: I4ecbdc8bf2abbe45f7d6c5d2633dc9fe27f51e66
Task-number: QTBUG-52124
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
(cherry picked from commit 76c61aa1400ef2def204c3732e30e08e40631e8d)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The qputenv() call inside gl_surface_qt.cpp, which is executed on a
GpuChildThread, can reallocate the process environment structure,
and it is possible that at the same time the main thread calls getenv,
which will dereference a pointer to the freed environment structure,
essentially causing a use-after-free crash.
Make sure the qputenv() call happens before Chromium initialization
starts, so no thread-race can occur.
Change-Id: I4ecbdc8bf2abbe45f7d6c5d2633dc9fe27f51e66
Task-number: QTBUG-52124
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Converts types, callbacks and headers to match Chromium 49.
Task-number: QTBUG-51173
Change-Id: I544ef46e187105e250fea1b48b72d2c81a906640
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
| |
Update files using old header.LGPL3 to use header.LGPL
Update files using old header.FLD to use new header.FDL
Update files using old header.BSD to use new header.BSD
Change-Id: I36a67aaa8c3ca6c7946308defc9c03c3571a7d23
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Follow up to 6e6e2655bf03f2cc903f17d9e5283a81a4a837c2, we should get
egldisplay from QPA, otherwise we end up with the wrong values.
Change-Id: I668511a1ae9ab6f4f5132707ae03afc3fe3722ac
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
| |
Fixing the minor differences needed to work with Chromium 45.
Change-Id: I5036b4b9a069d45e8dd37e24fab84cdfe5e67acc
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|\
| |
| |
| | |
Change-Id: I9977663123560a22f493b8c02d02de8897b38666
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We can and must request the "egldisplay" from QPA, otherwise we get
the wrong resource.
Task-number: QTBUG-47301
Change-Id: I8bcd94415aa8f22b0d868ad751017f5babddf751
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
We need access to Qt classes to extract the EGLDisplay.
Change-Id: I4e57aa72f3f7e08a55bc5e9694389e35f258e039
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces a new public C++ API layer in preparation to make
it possible to integrate with lower level Chromium features related mostly
to networking operations like accessing and blocking cookies, custom
request headers, etc.
This API layer can be used both by Qt Widgets and Qt Quick applications
with a small C++ core. It should contatain API to access features that
usually run on the IO thread to make it possible to perform heavy tasks
that would otherwise require costly context switches to the UI thread.
Furthermore for these features a QML API does either not make sense,
since they are non-UI-related, or a QML API is simply not feasible,
because the API is meant for advanced usecases like web browser
development (i.e. custom protocol handlers, network traffic
interception cookie syncing, etc.).
In the long term this layer could also make it possible to reduce code
duplication in the widgets and quick layers by moving common parts to
the core layer.
The new API is built entirely by qmake as a separate static library which
is then linked into the QtWebEngineCore library built by gyp and ninja,
to prevent the build options passed to Chromium to break the API layer.
As a first step this only contains the global headers for core.
Change-Id: Iccf8544587cde7c0d9c6abd462e4766bf9ec81ae
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Including gpu/command_buffer headers in Qt code pollute by
including ui/gl/gl_bindings.h which pulls in system GL headers.
This will cause conflicting declaration of typedefs when included
together with content/gpu and content/common/gpu headers which
pull in gles2_cmd_format.h that forward declares some GL types.
Although the gl_bindings.h header states in a comment that
it should only be included in source files, the inline
implementation of texture_manager.h and some other low-level
GL integration headers nonetheless require gl_bindings.h,
which unfortunately cascades through to our core layer and
may cause problems when Qt code is compiled.
Since getting rid of this include in Chromium's headers is not
feasible due to maintenance costs, making sure that in Qt code
gpu/command_buffer headers are included before content/gpu and
content/common/gpu headers and guarding forward declarations
in gpu/command_buffer/common/gles2_cmd_format.h should be
a sufficient workaround. We can however get rid of the polluting
includes in src/core/gl_surface_qt.cpp, which only requires
forward declarations.
This also includes a SHA1 update for the Chromium submodule.
Task-number: QTBUG-44240
Change-Id: I5813a3663d36e2b565e4fd7f429add7b6f8f8a69
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|
|
|
|
|
|
| |
The override of this function is not needed.
Change-Id: I8579bd1b2a8476cb057b9256c816ac88cbb209ab
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update ozone layer to the new snapshot, update the
embedded_linux.pri configuration, fix the GLSurfaceQt
build on non-x11 linux and update embedded command line
switches for the 40.0.2214-based chromium snapshot.
This patch also updates the snapshot sha1 to include
required chromium changes.
Change-Id: I7f9446fa1b67a0af7baee564acff41ae33ff1a94
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: Ieb6bac7a1be5c25eb7cb917495b58b6a870ca6d4
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
PbufferGLSurfaceWGL is a reference counted class, hence deleting
it manually triggers an assert in debug builds if Release is not
called or the reference count is non-zero.
Using a scoped_refptr prevents this and deletes the object
correctly.
Change-Id: I7e5ff783afc367e06d872b8d118c2ff83627b836
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
| |
Enabling rendering into a WGL backbuffer, in addition to the EGL/angle
one.
Change-Id: I8f2e3f5ecf52b6db22712b1129059f462725a256
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
Most importantly, get rid of QOpenGLContextPrivate::globalShareContext
which will be removed before the final.
Change-Id: I5796fa822d2962c21fd8b6d8d3c196686d536e3d
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
Because the files were recent additions or for other unclear reasons,
not all the files were updated to reflect the license change.
Change-Id: I6898f6f4f993f1efa9489382f0b94af285f8c4f5
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the patch is about upstream classes/methods that changed.
Other important details:
- icu data files are now used by default
- cygwin is no longer required to build on Windows
- RenderFrameHost has been replacing RenderViewHost in a few places,
following the separate process iframes support in Chromium
- The user agent is accessed through ContentClient::GetUserAgent
instead of from the command line switches
Change-Id: I86cc93aff7ce31176a80b0b4a5d54025674a451c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
This is now possible through GLSurfaceQt, and GLContextHelper respectively.
Change-Id: I06e13ccdea9737dc41b034befb4f01aa08d72c2a
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
This makes it possible to use the same EGLConfig that
is used by Qt when initializing the EGL surface instead
of relying on eglChooseConfig.
We can use the native interface to query the used config
from Qt to avoid EGL_BAD_MATCH errors during initialization.
This depends on patches in the qtbase dev branch, which will
become Qt 5.4 at some point, therefore we can only merge this
patch if we make Qt 5.4 a hard-dependency of QtWebEngine.
Change-Id: I94319433b0790994ecbf543b74e7d12fa4767e32
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|