| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Expose navigator.webkitPersistentStorage.requestQuota() calls to
the API layer as a permission API. It allows the users to accept
these requests and specify a quota for persistent storage.
https://developer.chrome.com/apps/offline_storage#managing_quota
[ChangeLog] navigator.webkitPersistentStorage.requestQuota() calls
were rejected by default and now they will emit signal
quotaPermissionRequested in both WebEngineView and QWebEnginePage.
Task-number: QTBUG-56354
Change-Id: Id192577ffb403694d3051414744ded89bbfd2aa8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently printing and pdf are bounded together. Make compilation
optional by adding it as a feature.
Fix formatting of embedded_linux.pri
Task-number: QTBUG-57731
Task-number: QTBUG-58108
Change-Id: I53a2baea656df0a5b6139365ed06385c9ebc5830
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the actual printing using QPrinter to the WebEngineWidgets
part of the API.
The printsupport module depends on the widgets module and therefore
QtWebEngineCore also had a dependency to widgets. This is removed by
this change.
Change-Id: If6e5745709a59de18f2123b930cbe6e64390c867
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
| |
Change-Id: I35a5c815c9f2b3ebacb5991ba6645641b17db2db
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/core/content_browser_client_qt.cpp
src/core/content_browser_client_qt.h
src/core/gl_surface_qt.cpp
src/core/print_view_manager_qt.cpp
src/core/web_contents_delegate_qt.cpp
src/core/web_engine_context.cpp
src/webengine/doc/src/qtwebengine-overview.qdoc
src/webengine/doc/src/qtwebengine-platform-notes.qdoc
src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
src/webenginewidgets/webenginewidgets.pro
sync.profile
Change-Id: I44495f4d899580c882d6b86d68d7f6b77c8e91f6
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also apply a4b04e4c on src/webengine/doc/src/qtwebengine-deploying.qdoc,
use the macro \macos.
Conflicts:
src/core/media_capture_devices_dispatcher.cpp
src/webengine/doc/src/qtwebengine-deploying.qdoc
src/webengine/doc/src/qtwebengine-platform-notes.qdoc
Change-Id: Ia6092a56bfe23da7c06f5389718ebbc9b78ef820
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The position of the IME window is computed using the widget input item
transform. When a regular QWidget gets a focusIn event, the input item
transform is recomputed inside the
QWidgetPrivate::updateWidgetTransform method. This did not happen
for the QWebEngineView, because the focus event is handled internally
and not passed down to QWidget::event.
Fix consists in calling updateWidgetTransform manually whenever the
view receives focus.
The other cases when updateWidgetTransform should be called (namely
resize and move events) are handled properly by delegating to
QWidget::event.
Task-number: QTBUG-55634
Change-Id: Ic93662929e169d860f8ca567f1955da4dc45f9fe
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
To support scenegraph-ng we need to switch away from QOpenGLWidget, to
something that will work with any QQuick backend.
Task-number: QTBUG-53283
Change-Id: I476a2c22e35a18cefc2824d5342bcff874c44d28
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* marks new properties in QQuickWebEngineProfile as FINAL
* removes QT_NO_SPELLCHECK from API headers
* renames spellCheckLanguages() to availableDictionaries()
* removes "togle spellcheck" methods and actions
* use WEBENGINE_CONFIG instead of CONFIG for disable the feature at
compile time: WEBENGINE_CONFIG+=no_spellcheck
Done-With: Peter Varga <pvarga@inf.u-szeged.hu>
Task-number: QTBUG-52371
Change-Id: I8c8eff497b9e7afe0cec2edc97dec248151487f2
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For QWebEnginePage users to be able to make custom context menu or
extend the default context menu, they need information about the
context.
This patch adds a QWebEngineContextMenuData class that contains
contextual information when a context menu is being requested.
This is also means we can finally generate a custom context-menu in
the demobrowser the same way we did in QtWebKit.
Task-number: QTBUG-51079
Change-Id: I695b8cbf648bdc7f119b0ed51ab685cf2f8de8e4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Integrate chromium spell checker:
* add spellchecker and dependencies to build
* underline misspelled words in html text areas
* right-click context menu shows up to 4 options to
correct the misspelled word
* toggle spell check from context menu
* add new qml and widget api calls to qwebengineprofile
to enable/disable spell check, select spell check language,
get list of supported languages/dictionaries
* register new qml spell check properties for QtWebEngine 1.3
* CONFIG+="no_spellcheck" to remove spellcheck support
Change-Id: Ie61434ab9493597d7759a6f33794f6859c4e3a4c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
This means QtWebEngineWidgets no longer needs to depend on and link
to the QML API.
Change-Id: If59693bf0ae1fb43dc86c141daf4e09c8cc68c25
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We can not add a new virtual method without breaking ABI on some
platforms, instead we need to use a setter.
The API now uses a request object, and a separate signal for canceling,
since canceling can not be rejected.
Change-Id: If8069c343e86926293c30e8de179bf4e3cbd5886
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This helps maintaining the doc dependencies.
All Qt WebEngine module docs are now generated in the
/qtbase/doc/qtwebengine/ folder.
Note that you must run qmake -r for the docs to be generated
correctly after applying this patch.
Add Qt WebEngine C++ Classes page that lists the C++ classes
for the submodules.
Modify snippet and example paths accordingly.
Change-Id: I59431c5f766f30b59654ca4e2219b76c79137225
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
|
|
| |
Makes the custom URL scheme handler API public, and moves it to core
so that it may be shared with the QQuickWebEngine API.
Change-Id: I745cb088df6f4cd11b1ac7c8c3c76f112032cb38
Reviewed-by: Joerg Bornemann <joerg.bornemann@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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
HTML5 provides built-in form validation that is supported by chromium.
The form validation messages should be shown by the browser therefore
new MessageBubble UI element has been added to Quick and Widget
implementations.
This patch implements chromium's form validation events and shows the
messages in a MessageBubble.
Change-Id: I0c8f4f102823117e2bfb16ff8a4c503635491939
Reviewed-by: Andras Becsi <andras.becsi@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>
|
|
|
|
|
|
|
|
|
| |
This patch adds settings to profiles so common settings might be shared
among all pages in a profile. The former global settings are now replaced
by the settings of the default profile.
Change-Id: I544420e07beeb52ef29b2360bc7929402650cd07
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a QWebEngineDownloadItem class to the widget API
and extends QWebEngineProfile with a signal to notify about initiated
downloads, similar to the QML API.
[ChangeLog][QtWebEngineWidgets] Add widgets download API
Change-Id: I532de640934e1e93d63dfc347efb4113cb4a3d66
Reviewed-by: Jocelyn Turcotte <jturcotte@woboq.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/3rdparty
src/core/content_browser_client_qt.h
src/core/core_module.pro
Change-Id: Ia05a6564a4d17ca14ff9b76ae018c3f4ef33d535
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As QtWebEngine now uses 5.x as its version number, we can just
provide cmake tests and let qmake scripts do the rest.
Task-number: QTBUG-42073
Change-Id: I28ccddbd1849980074dfbeefb5cb5a70c9209ab1
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduces initial widgets API for the Chromium BrowserContext.
Adds API for controlling cookie jar policy, user-agent string and
cache and persistent data paths.
Similar QML API will follow in another patch.
[ChangeLog][QtWebEngineWidgets][QWebEngineProfile] New API for profiles
applying to groups of QWebEnginePages.
Change-Id: I3c4ef4053fde7564af29178c91a0aca8a2b61a5f
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
Implementing what is already available, namely the WebAttributes,
font preferences and default text encoding, as well as a
slightly different take on privateBrowsing.
Change-Id: I128f060a4661d19aa1c9c4d6daae1f80fb33204b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since 3cd70c11bc7bbe3c5e9e4972d2273cf51bbdc30e in
qtbase Qt modules require cmake tests to be present
which makes QtWebEngine fail with "Missing CMake tests."
We do not support building with cmake at this point,
so disable these tests by setting CMAKE_MODULE_TESTS
to '-' for module pro files.
Change-Id: I777e6b2c7ce975ad021281800987f9d3ce173399
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
| |
Change-Id: I4543cc9a42f803fd763b889cf7c36d8cfd54fc42
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
| |
Change-Id: Icc4219ace4121a4b30302e0348e48dc75cae54cb
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means that widgets application now need to setup the GL context
sharing as well. QWebEngineWidgets::initialize() must be called,
which has the same effect as QWebEngine::initialize().
The QtWebEngineWidgets now depends on the QtWebEngine module to make
this happen.
Since QOpenGLWidget is only available in Qt 5.3, this patch also
disables the webenginewidgets module completely when building using
Qt 5.2.
Change-Id: I0e99a779d1eb080f2ccf5a338ff0763ad64e6eba
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts parts of commit 9c198939be1ef064d1a2430a4b9991f2fe16f359.
This does keeps the popup fixes and removes support for
QWebEnginePage::setViewportSize and QWebEnginePage::render until
we can evaluate the needs vs the cost of such feature.
Change-Id: I1b55b751d463717b1462393ea8cd353422f8fdbb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a gross mechanical modification of the documentation, along with build
system bindings to allow it to generate. This should allow doing iterative
improvements to the documentation from now on.
This fixes project-related qdoc warnings but we still need to do some serious
work to get the documentation better fitting QtWebEngine. All the documentation
is ported to match the current state of our headers (without trying to adapt
to modified APIs yet) and we should clear the part of the documentation that we
don't need at the same time that we clean up our public headers.
Change-Id: I6fb4e10e8b4c1c53be7bc7c581286248ac04d4da
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This delegates the linking step from ninja to qmake so that we can
let qmake decide the destination of the target itself, easing the
deployment and installation logic across platforms.
The module is only deployed as a binary and no header are available
outside of the source tree. This is only to make sure that the
dependence of the QtWebEngine and QtWebEngineWidgets libraries on it
is resolved at runtime exactly the same way as with other Qt modules,
on all platforms.
Ninja still takes care of the compilation and gyp lets qmake know how
and what to link by dumping the list of flags and input files in a
generated .pri file.
This has to be done in a separate .pro file so that we can make sure
that ninja is run inconditionally before make reaches the dependency
check in core_module.pro, ensured by the parent Makefile.
Note 1: This patch removes RPATH hacks that are no longer necessary
Note 2: Other targets like ffmpegsumo are still linked by ninja. The
same logic could be moved to a qmake file but this require some more
work to make sure that some switches (e.g. -stdlib=libc++) are
coordinated between gyp and qmake.
Change-Id: If65968547bde5b9cf732e31e97931c17ae1921a7
Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows handling calls that would be signaled by QNetworkAccessManager
in QtWebKit.
This pulls QtNetwork as a dependency of the QtWebEngineWidgets module
to be able to use QAuthenticator, but isn't required otherwise.
Only the request URL is available in the case of HTTP authentication
(no access to HTTP request headers that the QNetworkReply would allow)
and only the proxy host name in the case case of proxy authentication.
This keeps the API synchronous the same way, as QtWebKit did, in
favor of source compatibility at the cost of requiring a modal
dialog, even though the implementation doesn't require it.
Change-Id: I9e021def38e6107c9e66d2de8f86bd0328d543df
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
|
| |
Unlike other OSes, project's directory is not included by default to
includepath on Windows. This would cause missing file errors while
building.
Change-Id: I64b83e13adaae1ee1730caebcf7442973b573c3b
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
Remove unneeded parts that handled by load(qt_module) already.
Change-Id: I50646d754d1eec96342ba2f7c45f1a023a7257ae
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Break up the delegate implementation into two distinct subclasses.
The first one offers a way for the WebPage to tap into the
RenderWidgetHostView directly, while a different implementation
that is backed by a top-level widget can be used to show WebUI
popups on screen.
This has the benefit of not having a child widget in the webview
among other things. It also fixes our popups and allows them to fall
outside the window frame.
Change-Id: I80dc1e4f21bb91ff47c75a626d330f88eacce8c6
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Adopt to toolchain changes and fix the build with the
current snapshot.
This patch adds some missing overrides and build system
configurations.
Change-Id: I488929500347bdb5a077ac14e9553cedfcaa605d
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@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>
|