| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Paths are paritally hardcoded for Windows in libvpx.
Change-Id: Ic1c537bcc8b988c9803326709e38f44cb0943ee3
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
| |
Change-Id: I66541842650af4a2cc50cd0443eacde510df566f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Created new StreamVideoNode & StreamVideoMaterial classes
for QSG renderer. These classes duplicate the logic of
chromium's direct renderer GLRenderer::DrawStreamVideoQuad.
Added support for new DrawQuad material in DelegatedFrameNode.
Added support for external textures in MailboxTexture.
Change-Id: If569b07dfef985f9833de7e64eeb3f952026bca4
Reviewed-by: Arvid Nilsson <anilsson@blackberry.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
| |
MSVC fails with undefined type error when an argument passed by
reference but suppressed as normal variable.
Change-Id: I93a89aea4fae5f820c9ab0d1222d63b01ca3ed3c
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Translate QInputMethodEvent::Attribute list to WebCompositionUnderline
when processing input method events, and implement ImeCancelComposition
to fix input method handling with the Qt Virtual Keyboard technology
preview.
Change-Id: Id06db3d04066841093ed90cabd659def3cb3b73c
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
|
| |
This basically transforms the "search selection" into normal selected
text when findText(QString()) is called and allow pressing enter to
trigger links, etc.
Change-Id: I590dfddef174d3ebf2f36453b5f44e692bf5f827
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
| |
Change-Id: I1b58d2b2e86f60e296ae48095ed8d5e8172e0d1e
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
| |
Synthesize WebGestureEvent::GestureFlingCancel on if we receive a
WebGestureEvent::GestureTapDown to stop the ongoing scroll animation.
Change-Id: I5b500ebbde815a54a466736492c2b5781f5ef91e
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Do not add version to end of filename by
Qt5/mkspecs/features/resolve_target.prf, otherwise nmake install
won't find it.
Other projects already have skip_target_version_ext in they CONFIG.
None of the Qt libraries has version in they filename on Windows.
Change-Id: Ifc56a12b9312e7cefe26f5d19e1d1769e73298f6
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We currently don't have an implementation for drag and drop and
we need to explicitly call SystemDragEnded to avoid leaving the
render process in an inconsisten state.
See http://crbug.com/157134
Change-Id: I52220602d4e4832d11ef601589a588c91bb81285
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
Cleanup version ifdefs and v8-private dependencies.
Change-Id: Iac393c06dfba02499e60d713d9f4d04ef0c9e617
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
Using GetTitle directly seems more reliable than going through
the navigation controller.
Change-Id: I0529a92295de063c6cea3371cdb9c44602950e9a
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Registering a path provider did not turn out to be a
clean enough solution for overriding chromium paths
because of debug assertions that require the key range
not to collide with already registered path providers.
Instead of patching chromium or using workarounds switch
back to using PathService::Override and only replace the
jni-based default PathProviderAndroid on embedded android.
Change-Id: I4530bc8fa3eba36c0d2403729be9a792f3c2120f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A few changes to the API:
- Return the success result asynchronously.
- FindWrapsAroundDocument and HighlightAllOccurrences are enabled by
defaults and cannot be disabled.
- Found text isn't updating the selection on the page like QtWebKit
did, but triggers a separate state not available. A find count and
current index could be exposed, but isn't in this case to keep the
API delta lower.
This also adds the possibility to pass bool results through the
CallbackDirectory and add a new tst_QWebEnginePage::findTextResult
test since the old test relied on the selection to be updated when
the searched text is found.
Change-Id: I8189b5aea8d832df183c6c1ae03e3f08198a9c45
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: Idebde8da0befbea7ccc5942de1e09fcc61ce16d4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This tries to get the order of declaration to be consistent.
It also follows the order used by Chromium in some places
where the routing_id usually comes first, then the request_id
and then the result of the asynchronous request.
Change-Id: I88e164dee67e1631161a222f7dd7a4679c3d3acd
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Chromium currently triggers the load of an error page synchronously
from the render process when it encounters a load failure.
This has the nasty effect of producing extra loadStarted and
loadFinished signals, the later also emitted as a successful load.
Disable error pages loading until we can implement the error page
extension properly.
Change-Id: Id6aebc6f63bd810b37d89e9297c0b221e8b81448
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
| |
The query string and the fragment are part of the path.
Make sure that they aren't used for the file lookup.
Change-Id: I7adfe913a56b1292e7444de18b2dbe332bd4657a
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
| |
Change-Id: I6accd8fd40ad72041770439aa6a7aa59ba904418
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Update tests to check that we can keep the same functionality by
querying document.baseURI through runJavaScript instead of implementing
QWebEnginePage::baseUrl.
This also removes QWebEnginePage::baseUrl from the header.
Change-Id: I549e57d3986e22986438f8a23e469bbd220633b7
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have to re-run initialize on attached WebContentsAdapter to update
the client. We currently however initialize the renderer
inconditionally at the end if the initialization, which in this case
would create an extra RenderWidgetHostView and keep the old one in
limbo.
Fix the issue by checking if the WebContents already has a live view
before forcing the creation of a new one.
Change-Id: Icfdbde016f9a49bfad643286881a6e409c958e94
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Adam Kallai <kadam@inf.u-szeged.hu>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
aboutToQuit is only emitted if QCoreApplication::exec is run, which
isn't used by Qt's testlib.
Register an application shutdown handler using qAddPostRoutine
instead, which is going to be executed whenever the QCoreApplication
is destroyed.
Change-Id: Iec7d1e528dce79cbe7a73b450b2a0d2df793038a
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Andras Becsi <andras.becsi@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>
|
|
|
|
|
|
|
|
| |
Implement unreachableUrl support for WebContentsAdapter::setContent
and add loadProgressAfterLoadHtml QML test case.
Change-Id: I2d0d7834cbbf8f508de4fa9cb72240f2ac6ebf83
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
BUILDING_CHROMIUM define have to be moved to the related project
in core from default_pre.prf. Otherwise dllexport would be used
instead of dllimport while linking to webengine and webenginewidgets.
Change-Id: Ifed117f420591dcb7f97f12924b83ab86ead6216
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a property isFullScreen and a signal
fullScreenRequested to QQuickWebEngineViewExperimental.
The signal fullScreenRequested is emitted when some web content
requests fullscreen through the javascript API.
The property isFullScreen is supposed to be set
programmatically when the view is being shown fullscreen.
This information is then available to the WebContentsDelegateQt
when checking if the fullscreen request has been accepted.
Change-Id: I04cbb45f263a188d26cc87d70ac53b0fbab63936
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Chromium calls RenderViewHostDelegate::TakeFocus when the
last focusable item within the page was reached.
We then have to move the focus on to the next/previous
QQuickItem.
Change-Id: Id0128053602ff1220c1bced1b218050b66fef659
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
This is needed to get text input working again on Mac.
Underlines are currently being ignored.
Change-Id: I2a1074a1151e9be6f96ebe12fd0bb40a0eb63d6a
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
This makes our behavior consistent with chromium if the
Qt toolchain does not explicitly enable NEON instructions,
which would result in undefined symbols otherwise.
Change-Id: Idc4f355714ede4206f4650664f6c24784100e7d8
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
| |
Change-Id: I465a5465ec4189b077a8c1cbab7485c628eca899
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
| |
Change-Id: Ie44a8733e3f9123c3d086f8df9ddcf2833bd235b
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
Fix the indentation and remove some obsolete settings.
Change-Id: I59d3c00f481b2ae124e1b3a6434ff5c68acde53d
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To support reparenting, we make the compositing surface independent of
the window by using gfx::TEXTURE_TRANSPORT. We also need to be able to
keep frame data across window changes so we can reconstruct the QSGNode
tree in a new context, so extract that data into DelegatedFrameNodeData
class. Any context-specific data is still stored in DelegatedFrameNode.
Also hook up window changes to WebContents::WasShown/Hidden for Quick.
Remove checking of Qt isVisible state, this mechanism is used to sync
Chromium with Qt, not the other way around. WasShown/Hidden is
orthogonal to Show/Hide, and can use different triggers. However for
Widgets it probably makes sense to hook both up to widget visibility.
Change-Id: I1ef4b50cd61b8e54b791e03f0b41929c42fec8bf
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
And unskip the corresponding autotest.
Change-Id: Ida2dcee38b261b2ba4ad0c5c016f5510ed1590a4
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
Load progress is already available in the current snapshot.
Change-Id: I997b25a1da284b43d442d3105105be3455628087
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should provide us with an initial empty document, which our
imported autotests tend to assume all over the place.
Initialization of the adapter is moved further down in
QQuickWebEngineView's constructor so that the value of
q_ptr is set and valid by the time we end up in
WebContentsViewQt::CreateViewForWidget.
Change-Id: I45d8d61e65caa3a690461b6da44adea9f8981e7e
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We should not include chromium headers outside of core since
they might depend on defines or other build options only set in
the gyp/ninja environment.
This patch removes the need to include net/base/net_errors.h
in the API implementation of the QQuickWebEngineView and also
removes the chromium source directory from the global include
path. This prevents including chromium headers outside of core
by mistake and also makes it possible to load the project in
QtCreator without disabling indexing.
Change-Id: Icd13b6caa52509ef2a1b6b44eaffb34d8ae4addf
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
| |
Fix the webEngineView.stop() function in the WebContentsAdapter.
Change-Id: I82c5000fb3cbc5aff59dd0c4c7c86ca7755a6329
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Deploy the built ffmpegsumo library and make chromium find it
by overriding the content::DIR_MEDIA_LIBS path with the deploy
location.
We deploy the plugin to $$[QT_INSTALL_PLUGINS]/qtwebengine.
Change-Id: I0aeb37fccd2af62b23f8e6405041655e1f66b7aa
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
We already remove the active dialog for a given WebContents from the
map when it's accepted/rejected. We should hence not expect to get
a valid dialog controller on subsequent attempts (when the WebContents
get destroyed for instance).
Change-Id: I522308e20772a55f1bcba26047b3f4e4aef94082
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
| |
It used as a struct in javascript_dialog_controller.h but it is a
class in javascript_dialog_controller_p.h.
Change-Id: I3b2fdf26a1673fb5fef5f7c468367eca559493f8
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Those methods are now made asynchronous and need to be given a
callback to handle the result.
Update the code in the browser and fancybrowser examples using
std::bind when using C++11 or tr1::bind with C++03 (which should be
available with compilers on platforms that we support).
Add a (currently failing) earlyToHtml test to make sure that an empty
page doesn't crash because of a possibly incomplete attachment of
the QtRenderViewObserver.
Change-Id: I3ab7cb6f25b91b584dd80df5e4e9ad1e3214348e
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This follows the model used by the Android WebView's AwRenderViewExt
class.
QtRenderViewObserverHost is attached to the WebContents and
QtRenderViewObserver is attached to the RenderView in the render
process. Both can exchange messages together and allow async commands
to be carried from WebContentsAdapter and the result sent back
through WebContentsAdapterClient.
This patch also adds a renderer subdirectory to start matching the
directory structure of Chromium.
Change-Id: I724ca2fe2a597dcd2a15e8e1a23c4eeba1190703
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prepares the way for other API made async like toHtml and
toPlainText.
Use a callback class with an implicit templated constructor to carry
the functor across the API boundary and avoid the intermediate helper
method as the ABI that we have to maintain.
Also pass the callback result through WebContentsAdapterClient using
a bookkeeping ID instead of transferring the callback to
WebContentsAdapter. This will allow other calls, which might not
already allow passing a callback functor, to use a consisten way
of carrying back the result to the top API layer.
Change-Id: Ia923767b9c1021a108c26da17d4c41878ef7cb95
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Load a generated data: URL to carry the data.
This is not as efficient as it could be but the behavior matches and
this should be fine for now.
Change-Id: I26ad2e5976025a3044fb03f066074ce6dd34e575
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
| |
This fixes the crash in tst_QWebEngineView::reusePage.
Also add a test to check the case where show() would react incorrectly.
Change-Id: I40247c7c225d74b26675b6a7fa5ff1f06d3bb3e6
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Refactor JavaScriptDialogManagerQt to support a Qt Quick dialogs
friendly approach.
Qt Quick dialogs are still missing a prompt, so we use a "handmade"
one. This should be solved before 5.3 though.
Change-Id: I965df66837b2e81d6e4618a8da1167a37661c26e
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a new version of chooseFiles in QWebEnginePage.
The existing API in WebKit1 seemed a bit dusty in any case (multiple
only supported via extensions).
Changes are:
* oldFile becomes oldFiles, so that we could at a later stage expose
the already selected files in the "multiple" case.
* a type is introduced, for now limited to multiple selection, but
over time, we might consider additions such as directory upload.
Change-Id: I14cfea64ce95e892a0a1877c8cb914c5a421409f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|