| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do the d_ptr magic ourselves to avoid having to include private
headers from qtcore, qtgui and qtdeclarative.
It is hackish to hide QObject's d_ptr member to have the macros
working in a public class, but if anything goes wrong we just
need to replace the private macro convenience while maintaining
the binary compatibility of the stored extra opaque pointer.
Change-Id: Idb92f4f902826bef9068a5c2ef6ea31fc3fa15b2
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
| |
Change-Id: I5554e43b8703864111f37f8b684a47669107512e
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
QAuthenticator::setRealm has been added to QtNetwork 5.4.
Change-Id: I7eb503956d72a96e1f5030896cdf9adb7d4030cb
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes:
- Make sure that we call SetInitialFocus when giving focus through Tab
This does the same as would WebContents::FocusThroughTabTraversal
- Implement QWebEnginePagePrivate::passOnFocus
- Set each new RWHVQtDelegate as the focus proxy of the QWebEngineView
- Make sure that the widgets delegate accepts the tab focus policy
Cleaups:
- RenderWidgetHostViewQtDelegateQuick doesn't need to be a focus scope,
it doesn't have any children
- We don't need to reimplement QQuickWebEngineView::forceActiveFocus
since the view is now a focus scope
- Do not explicitly setFocus(true) on the QQuickWebEngineView,
the application should decide this through the API
Change-Id: I817dc2c895d4fff4aa3536c71ecc5d306bb3bee0
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
| |
This fixes the flaky QQuickWebEngineViewGraphics test and extends it
with a new test case.
Change-Id: I2d8a0762716cb9232fdea6473760e67ac2e7146d
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Adds one of the missing pieces of the QWebFrame and QWebView APIs.
Unlike the QtWebKit version this only fetches the favicon URL, and not
the icon. This is because we do not want to implement an icon database,
and that the icon would be loaded asynchronous anyway, bringing no
guarantee to be a valid icon/image yet.
Change-Id: I227311ae3676044da850e687b82bee752b5079c8
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
GetViewBounds should return the bounds of the view, not the screen rect.
The view bounds are for example used to calculate the screen position of
accessible objects (which gets fixed with this patch).
Change-Id: I5b342113af737847c1756a13183cd2b8b8db648a
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
| |
Change-Id: I37a32bd5dd8760bc91173968a620a1932ae67b4e
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
The blink root element already has document as role. By setting it in
the webview we'd get two documents in the hierarchy.
Change-Id: Ie14e57b4e2050dbd9495c4fa94de4e2faebc02c1
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
| |
With this patch the accessibility hierarchy inside webengine becomes
available when navigating from QWidget based web views.
Change-Id: Ib3625a6ec93b4d3f298fb845ab85209b348349ba
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: I87d6532babc9475e46e28f6be7d1593622958764
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
| |
Change-Id: I4543cc9a42f803fd763b889cf7c36d8cfd54fc42
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
| |
Change-Id: Icc4219ace4121a4b30302e0348e48dc75cae54cb
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QPlatformBackingStore still doesn't enable blending when compositing
a QOpenGLWidget with the rest of the widget tree. This means that a
tranparent pixel will show as black.
Until we get to properly go through the work of making it possible to
render a transparent webview, set the glClear color to white in order
to avoid seeing any black background before we get our first frame
from Chromium.
Change-Id: Idf7bb831a3b0d62b02f2527e2a15d830bf1e8ad4
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
|
| |
Adds the license for Chromium to the legalese part.
Adds some missing documentation to QWebEngineView and QWebEnginePage.
Change-Id: Ie81aaa87db85bb72efb83680defbdb101a134df0
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
QTooltip's documentation states that "rich text displayed in a
tool tip is implicitly word-wrapped". This seems to be a more
desirable behavior for our needs.
To mitigate any potential malicious tooltip contents, we escape
any eventual html entities, and truncate to a reasonable size.
Change-Id: Iae3ea80e7660840aae39d228d1177dcc56f4a032
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This snippet contains API that we might not support at all. It is
better to remove it and add a new version in case we reintroduce
this than to present a snippet that does not work or only works
partially.
Change-Id: Ia47ad69108ddcbe529aecff8e4f235b17d80514f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
| |
Drop hovered title and link text parameters, as we did
in the Quick API.
Change-Id: Ia1a38e0d728afbcbb6858a890486772da74aa813
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This value is only used internally by Chromium and risks being removed
at anytime, for which we would then have to maintain a downstream
implementation.
Chromium also only supports frame values, while a complete support of
the interface would require also supporting this xPath to point to
individual document element by affecting the value of "this", the same
way that QWebElement::evaluateJavaScript allowed in QtWebKit.
Change-Id: Id0cb1b8e3bdf9a6db0ca786fb5eb46ffd726d165
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Removes methods from the documentation that no longer exist.
Removes left over instance of Qt WebKit / WebKit instead of
Qt WebEngine / Chromium in the documentation.
Change-Id: I27e1d41fc16116a60f94c3369f76ddfed60e4380
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
This keeps consistency with the other enum names.
Change-Id: Idaedb8566fd770b05effeeba377b09a84bf0af12
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since Qt 5.3 QWidget has the same behavior as Qt 4 where it will
replace a second MouseButtonPress event with a MouseButtonDblClick
instead of sending both.
Fix the issue by moving the MouseButtonDblClick ignore code up to the
QtQuick code, assume that upper layers will not send
MouseButtonDblClick events, and re-replace the MouseButtonDblClick
event with a MouseButtonPress in the QtWidgets code.
Change-Id: I529dad2de538f486b00eb900ea6d2ed849a3b1f0
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
Remove unreachableUrl support from WebContentsAdapter::setContent,
because this argument behaves exactly the same as baseUrl.
Change-Id: I36f92b99b7045c6d3b831481bb04d51a0e05772f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes two issues:
- The RWHV delegate of the old page would not be detached from the view
when attaching a new page to that view. Call reattachRWHV as we do on
the new page to make sure that the delegate gets unparented from the
view.
- QtWebKit documents that a page having the view as its QObject parent
should be deleted when setPage is called with a new page. This would
cause QupZilla to leak the page when opening a new window through a
link.
This also adds a workaround to avoid a crash when unparenting the
delegate where QOpenGLWidget would try to call paintGL without a valid
QSurface.
Change-Id: Icd2659f441d2220c26dc175d66424e6c26125861
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
I dropped hovered title support from the QtWebKit API,
it seems we don't need that logic.
Change-Id: I5617c295344512a35aa526a6f1307f0b21f866d6
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
Simply reuse the existing feature request approach that
was used for geolocation and notifications in QtWebKit.
Change-Id: I8fec4f4e9e81b491163912fadb4ce17d343864dd
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reuse the MediaCaptureDevicesDispatcher from the chrome layer,
pretty much as is, and wire it in with WebContentsDelegateQt and
WebContentsAdapter/WebContentsAdapterClient for API delegation.
We also need to ensure that our user agent string mentions Chrome and
the Chrome version we're based on, in order to please websites that detect
feature support that way.
Change-Id: I0ddf8cd34e4add96bc36f59adfe8e0384e728d93
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
| |
We could use this to prompt the user for various feature permissions
that we are not ready to expose in our API.
Change-Id: If6e6a16aca4142b0564121dfc7677b7c4996f742
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Headers were left intact to leave a trace of the evolution compared
to the QtWebKit API and to make it easier to work until we had a
basic subset of the API implemented.
With the upcoming release, this patch removes this convenience in the
aim of starting polishing the headers and the documentation for the
upcoming release.
Change-Id: Iae436b4ec041d771a7002575e122835802bc9f3e
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
| |
This changes implemented methods. The rest of the references will go
away with the public headers cleanup.
Change-Id: I82340cd7a4488c4b463489ae98cd9c16de4e7487
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Expose the same values as currently available in
QQuickWebEngineView::NewViewDestination.
Rename the WebModalDialog to WebDialog, which actually replaces the
tool/status/menuBarVisibilityChangeRequested signals.
Change-Id: Icc103f434fb3eca49f1a53e476e101c3d6fffd36
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I initially misintepreted the meaning of the enum, assuming that it
meant that the window should possibly be blocked. The user_gesture
parameter in WebContentsDelegate::AddNewContents is actually doing
this, while the popup disposition means that JavaScript requested
the window to be opened without one of the standard decoration (i.e.
status bar, menu bar, tool bar, etc.).
Update the QtQuick API to reflect this, renaming the "isPopup"
parameter to a more familiar "isUserInitiated".
The popup disposition is named "dialog" to match the previous
QWebPage::WebModalDialog enum.
Change-Id: Ib0c4bc53671fcf0dd9499aa1be2bbc8c494ba49e
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
| |
Translates the internally used LogSeverity values to
enums defined by the QtWebEngine integration layer.
Change-Id: I7da0983d4fb5c199e1a2436b5899a43cf6698784
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
| |
* Removes inappropriate licensing info.
* Corrects simple snippet.
Change-Id: I9ac7738d8da22957aa32c91fdcbf81ddedefed72
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to the asynchronous nature of context menu events in chromium,
we need to filter out the Qt generated events, and rely of what comes
back from the chromium side. We keep a flag to ensure we're always
in a consistent state, but the part re-setting it in QWEView went missing.
This simply re-adds it together with initializing it to false upon view
construction.
Change-Id: I5d187faf93742898c96a1951b7dc477ce1b3f5bd
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
|
|
|
|
| |
The root node doesn't clean itself up immediately inside the SG
renderer when destroyed. Just avoid the issue by destroying the
renderer first.
Change-Id: I833b7fdc411f149631fd13d1c1fca515b9402bf4
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
| |
Now that the widgets view is also using the delegated renderer,
there are no supported configuration that use the BackingStore
rendering path, itself on the way of deprecation in Chromium.
Change-Id: I4ab889f6a7c65e8447c259faf2c7a98b88c1acf5
Reviewed-by: Simon Hausmann <simon.hausmann@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>
|
|
|
|
|
|
|
| |
if people do something as nasty as "return this;" in createWindow.
Change-Id: Id9c3e22607e4676b7ea286a6f85816b347262615
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
| |
Change-Id: I105cb2a0a2479b146e2ab68db6d194ac2ac2d3f9
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
| |
Make sure that the navigation actions are updated when clearing the history.
Change-Id: I663d2b68164dd695005165595ea08d051aae9fab
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This does uses logic taken from Chromium's state save and restore
code. The history version is incremented from the same method in
QtWebKit in cases where the application would try loading a stream
from a previous version using QtWebKit.
In all cases where Chromium does a restore of a serialized history,
it does so on a fresh WebContents instance, thus we must do the same
and some of the initialization code has to be updated.
Change-Id: I45abb052073bd44c9cb47bc2abcf4b558fe3dbbd
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
| |
The adapter might change, while the page association should
always remain.
Change-Id: Ib2b49c599d497864484dd6758f47473d70fe4cb3
Reviewed-by: Andras Becsi <andras.becsi@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 places the documentation in separates .qdoc files with the original
license header preserved. We don't want to contaminate our implementation yet
just for the documentation, so keep it separate for now.
New documentation that isn't attached to the QtWebKit LGPL license should go
inline in the code as usual.
Change-Id: I113a9ad2b826ed7cea053be065f201b637070d28
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This mainly remove the use of the LoadingStateChanged callback, which
is tied to DidStartLoading and DidStopLoading.
Those signals are handled from the browser process side, also wrapping
the time where the render process is initialized. We can't rely on
those signals for loadStarted, but afterward rely on the Blink loader
for loadFinished. We must use the same source for both.
Instead only rely on Blink callbacks ultimately related to network
events. This gives us a behavior closer to QtWebKit.
The major compromise that this forces us to to accept is that
loadStarted is now triggered asynchronously. This will basically break
anything expecting loadStarted to be emitted synchronously from the
load method.
This also adjust autotests to get a few more passing.
Initial-patch-by: Pierre Rossi <pierre.rossi@digia.com>
Change-Id: Ib6c0170df891d1b7f8ed4dc1d483985523e267dc
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Basic tooltip support for widgets relying on the existing QToolTip
mechanism.
Left unimplemented on the Qt Quick side for now since ToolTip support
is still very much a work in progress there.
Change-Id: Ia4bfd715a224e0cbc147c8860e131d1545cebe1e
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|