| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: Ieab3c4a6d16b1d7b7c0243ff8898f81807e7b1fc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This class was introduced to track accepted certificate errors.
Our lack of implementation caused a regression in certificate error
handling.
Task-number: QTBUG-51319
Change-Id: Idf3314fd17a5f9cb13a4513a3ccdb40954519c0d
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
These classes can operate user stylesheets too.
Change-Id: Ia283af92e52a822b26003ff65e0e7dc391b0904d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new icon manager uses the WebContents::DownloadImage() API for
downloading icons. It proposes the best quality among the available
favicons via the iconChanged signal.
Change-Id: I66a014365b6f6560ff34d40ee870aee84e4e70e4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Enable loading Google Chrome's Widevine pepper plugin.
Flash and Widevine plugins will now also be searched for in
the plugins/ppapi directory.
Task-number: QTBUG-50132
Change-Id: I28fb56bb08d7e81629e34420be626621a7981181
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I4272eb59cac08c69eaa58dd4d94debf1b8c5cf78
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Every Qt module is built with QT_USE_QSTRINGBUILDER by default.
Also define QT_USE_QSTRINGBUILDER in the core API library.
Remove superfluous qstringbuilder.h includes.
Keep the use of operator% to make sure that QT_USE_QSTRINGBUILDER
won't vanish in future build system changes.
Change-Id: I41fd036fc4e6063951cd758aaafdf9aefed7dd5a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move flagsFromModifiers from render_widget_host_view_qt.cpp to a new
file type_conversion.cpp. We will use it in a subsequent commit.
Added a separate source file to not include qcoreapplication.h in
type_conversion.h.
Change-Id: I6dfd54dd99d640ff48cb1a710271c7f8115891e5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|/
|
|
|
| |
Change-Id: I501125631946f70aae1ff039b0e5bcb9198e7242
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Most of our Qt specific versions of Chromium classes have Qt appended,
but a few observers have it prepended. This patch renames them to keep
naming consistent.
Change-Id: I004b61e16bc47f39a6bbc16a5f5c10585626865c
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
With QWebEngineSchemeHandler in QtWebEngineCore, we do not need the
indirection and delegation CustomUrlSchemeHandler provided. This
means the class can be removed and we can also store the handlers
directly in BrowserContextAdapter and save a copy of the installed
handlers in the QWebEngineProfile.
Change-Id: Iabb5cc9d364c2f2a879bc77bfb2ff14b3c2ff640
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The public API symbols are compiled in a static library that's linked to core
with --whole-archive when using gcc. There's no equivalent for this in MSVC.
We hacked around this limitation in commit 38944be4 by creating a source file
that includes every public header.
Unfortunately this breaks debug_and_release builds, because we must inject this
generated source file as absolute path, and gyp will generate the same object
file for every source file that's specified with an absolute path...
This reverts commit 38944be4 and replaces the work-around by simulating
-whole-archive on MSVC. This is done by passing all object files that belong
to qtwebenginecoreapi.lib to the linker via a response file that is created
when building qtwebenginecoreapi.lib.
Task-number: QTBUG-48376
Change-Id: Iaa991fe96a2c336d982d29d6924ce950c0be5398
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
The new controller makes possible to handle authentication requests
asynchronously. This is essential for the authentication support in the
QtQuick API.
Change-Id: Ib60b58448a60e817e64477529ec4bfd1535b3d19
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The public API symbols are compiled in a static library that's linked to core
with --whole-archive when using gcc. As there's no equivalent for this in MSVC
we create a dummy C++ source file that includes every API header file to make
sure that every __declspec(dllexport) is honored.
Change-Id: If0dafedceb52046aecde60b2a2a624df8ab219b4
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
This reverts commit 0e006b8ea755ebad01faf3e747e61abdf158289a.
The workaround is not needed anymore since the v8 proxy resolver
is now used by default.
Change-Id: Ifea4ca6c6a0b0442cc1d8d22b1eb1553f3319524
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Uniformly use the <Module/class.h> style, like
https://wiki.qt.io/Coding_Conventions
mandates.
Change-Id: I4c05599fa689f375158fd3b0a54aada8571e5c59
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|\
| |
| |
| |
| |
| |
| | |
Bumbs the Chromium version to 44 and merges the 'wip/44-based' branch,
which contains all the patches to build against Chromium 44.
Change-Id: If03dd301cb2a5cf7da3fe0a92ce1134f1239bf00
|
| |
| |
| |
| |
| |
| |
| | |
Implementing the new PermissionManager API.
Change-Id: If0fdac24b8fec561a898aba009345576b5ce7fc6
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This patch adds --enable-embedded-switches command line switch to enable
all the embedded switches on startup instead of during compile time.
Among others this enables pinch-zoom, viewport and impl-side painting,
to make it easy to run an application with these settings even if the
library was not cross-compiled. On embedded these are enabled by default
and can be disabled by --disable-embedded-switches.
Change-Id: I366ed243f1b0e17cbeb900e672d0e15fb4a2b8b0
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This class or its subclass can be set on the
QWebEngineProfile and its API enables intercepting
Chromium's cookies, setting and deleting cookies
in the cookie store.
These functions are asynchronous so if the result
of the task is needed the user can provide a
callback which will be run on the calling thread
when the requested operation finishes.
This does not include a hook for QQuick layer yet,
there we have to figure out what the most convenient
way is from a developer's perspective.
Change-Id: I6a3af071883ce632df7a2fb952da93f306ac3fe2
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This allows using QtNetwork's proxy auto conf detection code from
QNetworkProxyFactory, by setting the QTWEBENGINE_USE_QT_PROXYRESOLVER
environment variable. Otherwise, we still rely on chromium's
implementation.
Task-number: QTBUG-45376
Change-Id: I7b8b77c932060ad36090d388d616b713d93cad0a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@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>
|
|
|
|
|
|
|
|
|
| |
Implement a ProxyConfigService that keeps track of the state
of Qt's application proxy which, if set, takes precedence
over the system settings.
Change-Id: I7f1eba9015b70cf90f53a41736dd0a6d0ad28489
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|\
| |
| |
| | |
Change-Id: I78c25caf30923fc1101b137f9abc3993e3cf0600
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When QtCreator loads qtwebengine.pro some parsing errors
are shown if it picks up the system python3 for basic detection.
Although we do not plan to support python3 with all of our
scripts (since Chromium does not) these simple cases can
be fixed by using the function version of python's print.
This patch also adds the Chromium source path to the core
INCLUDEPATH so that Chromium headers are indexed as well.
Change-Id: Ia6dec1c776fdcddf875fb8e814d8fb33b7340989
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add necessary support to make Flash plugin work
properly and be able to navigate on urls and
load fonts from system. Support for fullscreen
mode still missing.
Change-Id: Id948cde47b852332e1a4f5a73e781f01d27223f8
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|/
|
|
|
|
|
|
|
| |
Move FilePickerController classes to the QtWebEngine core
to providing common functionality of files selecetion for
WebEngine and WebEngineWidgtes.
Change-Id: I6ab407095460ef5b63b454f7d62b98215383fc21
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allowing programmatic injection of JavaScript to accomplish
all sorts of tasks on the render process side.
This API gives control over the point during the loading phase
at which the script is run, whether it is run on sub-frames or
not, as well as the JavaScript world it is run in (either the
page's main world, or an arbitrary isolated world).
This only has the Widgets API. The Quick API, tests and docs
are coming in separate patches
Change-Id: Ia1c79f68f8dfd4d964281d9723d09062ed7abe46
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Introduces API for custom URL scheme as an experimental API in widgets.
A QML api is not included yet.
Change-Id: Ice4542e5238feb961a4c9c60a809455e31dc1ec6
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Provide a transport mechanism for WebChannel over chromium IPC and
expose WebChannel in our experimental QML API.
Co-authored by Milian Wolff.
Change-Id: Ia24b1d4ebc8515de677d4849ec33cb55c963918e
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows applications to receive unhandled key events from the page
by setting an event handler on the view's parent widget/item, like
it was possible with QtWebKit.
This is different in that events first have to asynchronously go
through the QtWebEngineProcess. If the WebEngine view has the
keyboard focus, the events will be consumed inconditionally by the
RenderWidgetHostViewQtDelegates, and a copy will be resent to the
view's parent if it wasn't consumed.
This sends it to the parent instead of the QWebEngineView directly
since those are only unhandled events, unlike with other widgets
where you can first intercept events. It is done that way also in
cases where the QWebEngineView would be be the focus widget directly
in the future, instead of the RWHV.
If applications want to intercept key events before they reach the
page, they need to use an event filter on the QWebEngineView's
children or globally on the application.
Change-Id: I3b48f5212d3f238a1c0497cec1db6ae3badbad26
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty
Change-Id: Ied43de29444d4803218e250b096b9c72bc017af7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit a7da7f8ab00e6fe246ff8a02082305ea7f833fd3.
Adding the install prefix to the inlude search paths causes us to pick up
header files from there if there are any, which causes all sorts of issues.
Conflicts:
lib/lib.pro
shared/shared.pro
Change-Id: I070ff6443bb5612b3b7e3878d22dc9dd69d62e70
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch exposes downloadStarted and downloadFinished
signals on the WebEngineProfile to notify about downloads.
The WebEngineDownloadItem exposes a subset of Chromium's
content::DownloadItem functionality.
For now we expose minimal requirements to be able to control
downloads in QML but this can be extended in the future.
This patch also adds a DownloadView to quicktestbrowser
to demonstrate the usage of the new API.
[ChangeLog][QtWebEngineQML] Add QtQuick download API
Change-Id: I8d8f0daf02c4e0151000427fc2a4b37d28b9db52
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: I6b018092c8b74fa50bd0a2b42a2014ac4897526f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch makes it possible to have more than one BrowserContext,
for instance for off-the-record browsering but also to enable any
other configuration on browser context level.
This will make it possible to add page-groups settings and API for
settingsthat can only be done on BrowserContext level.
This patch does not expose any new API.
Change-Id: I0a0e194449cfb5a096a4ac6e2f2b3882b6b4cfa2
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building debug-and-release, only the release version of
core_generated.gyp, defining NDEBUG, would be generated by
gyp_generator.prf.
Both the debug and release ninja files would be generated by gyp from
that same file and we would end up defining NDEBUG for src/core
source files even in debug while the rest of the content layer would
be properly built without it, causing crashes with object having
unexpected sizes and non-symetrical clean-up routines.
Skia doesn't seem to complain anymore if I build in release without
this so simply remove it.
Change-Id: I021f87f2dac5aa21831992824d39dc44216b5f58
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This adds API for overriding some certificate errors. Once overridden
any identical error for the same hostname and certificate will use
the same override.
Similar API for QtWebEngine QML should be added in a later patch.
Change-Id: I144147b86d9b592e3f87346a1e48890acee0c670
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AddNewContents is only called when window.open is called from JavaScript.
We also want the shift/ctrl modifiers to trigger normal links to open
in the requested disposition. In this case OpenURLFromTab will pass
the detected disposition and we must create a new WebContents
ourselves.
Use the same code path going through
WebContentsAdapterClient::adoptNewWindow except that we pass a null
WebContents pointer to the WebContentsAdapter constructor and let it
create its own when initialized.
Change-Id: I817b0e72aec12723bf92d9b7ad85c1cecbf5e408
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Core interface to expose toggling some of the WebPreferences
for now and most probably some of the WebRuntimeFeatures soon.
The whole dummy settings business is meant to keep things
from breaking too much when bisecting, because it is assumed
that there are always valid settings for a given adapterClient.
Change-Id: Ic0a62bcb5af8c0254436dc770b43cde5016c3bbd
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
|
|
|
|
|
|
|
|
| |
This allows to resolve visited links in the render process.
The newly introduced API at the Core layer should allow exposing
this functionality to our widgets and Qt quick API layers.
Change-Id: I256376afcfe79014dc274e2dddbac1986a884a93
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add missing navigationRequested API to be able to intercept
navigation requests. This is useful for ignoring requests
for example in kiosk-like applications that want to restrinct
navigation to a specific url or domain, or want to disable
specific types of navigation requests (e.g. reloading, clicking
links, form submissions).
Change-Id: Ie375e635a3c3566527972d05f5d99b39489c5ca8
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the chromium localized error strings for that purpose, otherwise the
error description is always empty.
While we're at it, let's tap into the chromium error pages, which should
hopefully make sense for most errors, and add some static asserts to
check that the qt quick enum and the core one are in sync.
Change-Id: Icf8fa7c3bf4a674c60a10950422135fb6930447a
Reviewed-by: Andras Becsi <andras.becsi@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>
|
|
|
|
|
|
|
| |
This is in line with how other platforms do it.
Change-Id: Ia258511d3fa35387a69c81c9c02c181fc2995e6c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds the basics to bridge the blink
accessibility classes to QAccessibleInterfaces.
Note that it needs two follow up commits to implement the bridging from
the QWidget/Qt Quick worlds.
[ChangeLog][Accessibility] QtWebEngine now has accessibility
support, enabling assistive technology such as screen readers to work
with it.
Change-Id: Ied1d97e61a024115ac7a9245331211f6d9fac1b4
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|