| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: Ida74680a4180f4366746874a656041364563d548
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 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>
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid crashing due to a mismatch of browser-contexts used by
webcontent and webcontent adapters and clients, we refuse to
open content in a new window witha different profile and
prints a warning so the developers may fix their software.
Change-Id: I704266a96de2d7a5f8e1fa3ccf49a50f1d2307c9
Task-number: QTBUG-43898
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.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.
Change-Id: Idf9e968edca18751cbdab744880480750d0c1bd4
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the API to public, with proper versioning, adds
documentation and adjust the warning to also report an null parameter
to openIn that would cause the load to fail.
The experimental example code is copied from quicktestbrowser to
quicknanobrowser.
Change-Id: I23b06c7a5add0323d0540a783873584438d85ea8
Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu>
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds guards that for QT_NO_ACCESSIBILITY being not defined
around the code that uses accessibility types.
It disables the quicknanobrowser and quicktestbrowser examples
which need Qt QuickControls, which has a hard dependency to
accessibility being enabled.
Task-number: QTBUG-43305
Change-Id: Ifa39e3ce447ebc2124f52e00b29b1d7d2231035e
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current implementation would enable or disable the inspector
globally when the inspectable property was set on a WebEngineView,
overwriting the value previously set by other pages.
Instead of havind default port for the debugging server and having
to enable debugging on individual pages, use an environment variable,
QTWEBENGINE_REMOTE_DEBUGGING, to enable the debugging server for the
whole application at the same time as specifying the port. The format
is the same as for QTWEBKIT_INSPECTOR_SERVER in QtWebKit.
QTWEBENGINE_REMOTE_DEBUGGING is set by default in quicktestbrowser
to ease development.
This also keeps the input reading from the --remote-debugging-port
command line switch for convenience, but its usage should be
considered internal.
This patch also take the opportunity to remove the unused
DevToolsHttpHandlerDelegateQt::m_browserContext and to move the
ownership from ContentBrowserClientQt to WebEngineContext since
the list of inspectable pages isn't bound to the BrowserContext
anyway.
Change-Id: I772687f88f4feee0cc14dd182b0129cc0ea384dd
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty
Change-Id: Ied43de29444d4803218e250b096b9c72bc017af7
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This doesn't seem to be too much sense, and according to the QQmlContext
documentation, may not work as expected: "This is only valid for components
created directly from QML."
Change-Id: I49db5dad49288d196e8519b1a60dcf2192147672
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the user grants the permission with mouse click on the feature
permission bar, the RenderWidgetHostView loses the focus but the
focus is necessary for the pointer lock.
Change-Id: Ifafd86b472e400c5690194dce2ea8a829a51c313
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduces the QML API for the WebEngineProfiles already implemented
for QtWebEngineWidgets.
[ChangeLog][QtWebEngineQML][QQuickWebEngineProfile] New API for profiles
applying to groups of QQuickWebEnginePages.
Change-Id: Ideccddb9f1fb19628297592fe0cec504c9890e46
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
In the same way it was done for widgets.
Change-Id: I03ff6ed587346b00c76cf7314483263fd4f90a2d
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I1a5fedc4167dd780655b004811211e49631663c5
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/core/browser_context_qt.cpp
src/webengine/api/qquickwebengineview_p.h
Change-Id: I73bdec03b627b282851d7dda12006d4ab631072c
|
| |
| |
| |
| |
| |
| |
| |
| | |
Use explicit url in quick API too and use GetLastCommittedURL instead of
GetVisibleURL for getting the expected urls in tests.
Change-Id: If3251323645979643f3dc0e16491fe35b584f51c
Reviewed-by: Andras Becsi <andras.becsi@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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A tab's disposition can be foreground (e.g. target="_blank") or background
(Ctrl+Click, or middle-click). API consumers should be able to discern between
the two intents, so they can decide whether or not to focus their new view.
Change-Id: Iab3ccb9e9f0b85256892f4f74204515bdeefa695
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|/
|
|
|
|
|
| |
and add shortcuts in the examples (with a basic UI in the test browser)
Change-Id: I237a04cf0b1fce2e0c6f8a19891ff3cb51727a40
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
It's faster to use QLatin1String in places where we don't actually need
a QString object (like for comparison, or when creating a string with
QStringBuilder).
Change-Id: I9b8e28040dc2b79a767e15015b85822d06141bbe
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
| |
This method will be called if JavaScript calls window.close() and it
currently crashes because of Q_UNREACHABLE.
Change-Id: I50e261ff459879e9befb2a754f0108d7d2f18ca2
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The test_urlProperty() qml test has failed because the active url was
stored in LoadRequest in case of LoadFailedStatus.
With this fix the loadRequest stores the url of that page which implies
the request.
Change-Id: I6aab814a4a7d3b47043b03fccde3d9995b40d8fa
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fact that the error pages are HTML and get loaded through the
same mechanism should be kept an implementation detail and not be
considered as a new load in the API sense.
Also implement HasErrorPage for good measure and remove an anoying
warning from the demo browser.
The issue of the url not being changed remains in the QML test (but
it doesn't affect a typical browser-like UI since the user input is
still there untouched in the address bar), just make sure that failure
does not affect the later checks. It also seems like we have a focus
problem somehow, but the test should probably use a click for that
matter.
Change-Id: Ib5e363981a11287fdf4bfe84b93c999d96ed8087
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
| |
Expose settings in experimental for now.
Simply use the global/per-view mechanism as a group level
in between seems like overkill.
Change-Id: I7610e9c7765ccb41674702acdd24a52b87716da8
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@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>
|
|
|
|
|
|
|
|
|
|
| |
Not only this causes warnings because it is deprecated, it lead to a
crash in our QML tests when the callback fails to return a valid
engine instance.
Change-Id: I9412f138f87c39fbee8dbb6121a5bf0a69dcfbb4
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
Change-Id: Idbe0eafb51d77cc00e3a93179b81770724d5bfaa
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression after the 37 upgrade where the select popups
would have the wrong position. Adjust to the new behavior and also
avoid doing a mapToGlobal of the position received in InitAsPopup.
RWHV::SetBounds has been giving us screen coordinates since the
Chromium 33 update, but popup locations somehow managed to work
properly through some side-effect sorcery.
This also fixes the value of window.screen[XY] in JavaScript which
wasn't updated when the window was moved.
Change-Id: I544499bafedccfb7d389b4abc48f1386c398473f
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.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>
|
|
|
|
|
| |
Change-Id: Ic0de45c1fe2a5537d61ad446c96fe8fda7c30966
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
This is essential API that should be public.
Change-Id: Ifbd86171933936112e2495ebed074faa2e52464d
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
Duplicate the small implementation of that function, which uses
QMetaObject public API together with the semi-public fact that
the meta class info named DefaultProperty needs to be fetched.
Change-Id: I37413bd28a0b0ead55853e4e3db5864dfc39966b
Reviewed-by: Michael Bruning <michael.bruning@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>
|
|
|
|
|
|
|
|
|
|
| |
Do what focusNextPrev does internally. Also fix the tab-focus
by getting the next item relatively to the delegate (the
scopedFocusItem()) instead of the view itself.
Change-Id: I0d35a12bd5ef54d69df35b29ccdd55ac2301eec8
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
| |
Querying the platform names directly will be just as reliable
as we are still only supporting a limited number of platforms.
Change-Id: I9feba66b6ac23281db4d0ba675cc9a1e5560daea
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>
|
|
|
|
|
|
|
|
| |
With this patch the accessibility hierarchy inside webengine becomes
accessible when navigating from Qt Quick based web views.
Change-Id: Ic1c8caaa908bd32e4175ee9dcdb7a6bef89818b6
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Requesting MediaAudioCapture would unconditionally ask for
QQuickWebEngineViewExperimental::MediaAudioVideoDevices instead of
MediaAudioDevices since the if wrongly tested for the same condition
twice.
In addition fix a warning: variable 'feature' is used uninitialized whenever 'if' condition is false
api/qquickwebengineview.cpp:369:13: warning: variable 'feature' is used uninitialized whenever 'if' condition is false
[-Wsometimes-uninitialized]
else if (requestFlags.testFlag(WebContentsAdapterClient::MediaVideoCapture))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
api/qquickwebengineview.cpp:371:57: note: uninitialized use occurs here
Q_EMIT e->featurePermissionRequested(securityOrigin, feature);
^~~~~~~
api/qquickwebengineview.cpp:369:9: note: remove the 'if' if its condition is always true
else if (requestFlags.testFlag(WebContentsAdapterClient::MediaVideoCapture))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
api/qquickwebengineview.cpp:364:4: note: variable 'feature' is declared here
QQuickWebEngineViewExperimental::Feature feature;
^
Change-Id: If63fbb5a59a71dede1d1829695f66c22849a4dcd
Reviewed-by: Michael Bruning <michael.bruning@digia.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>
|
|
|
|
|
|
|
|
| |
The property is still not properly implemented and we'll make it
first go through the experimental tryout like other APIs we add.
Change-Id: I6eb99fcebb7ca1fc33338d786585cfe7fbc0afd4
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I18059c2894893d28c03dc790037bdd3ff28cfd07
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes an assertion for QML code like:
WebEngineView {
...
MouseArea {
...
}
}
Change-Id: I7a9bfb801c81ea53c1cc830b44fe224a0b78db2d
Reviewed-by: Zeno Albisser <zeno.albisser@digia.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>
|