summaryrefslogtreecommitdiffstats
path: root/src/webengine/api/qquickwebengineview.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Replace accessibility private API usage with QQmlPropertyv5.11.0-beta1Alexandru Croitor2018-02-221-8/+10
| | | | | | | | | | | | Previously enabling accessibility for the QtQuick WebEngineView was done by calling QuickAccessibleAttached::qmlAttachedProperties() which is a private API call. Instead of that, set the Accessibility attached properties by using QQmlProperty. Task-number: QTBUG-63098 Change-Id: Ibc927c1fce121dee56d8a21af412056d98c82c4d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-181-0/+4
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I230e21638604fe75b6f1d6b7877f9bc4b2d2c020
| * Fix crash on accessing WebEngineView properties too earlyPeter Varga2018-02-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | WebContentsAdapter is not created together with the QQuickWebEngineView. Thus querying a view property can lead to a crash if it uses the adapter. This fix adds the missing guards for contentSize and scrollPosition as it is done for similar WebEngineView properties. Task-number: QTBUG-65942 Change-Id: I9c2668a059b08325629f5730608280ba7f3669cf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Add support for registerProtocolHandlerJüri Valdmann2018-02-131-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend initialization of URLRequestContextGetterQt to create a content::ProtocolHandlerRegistry for each content::BrowserContext and add the registry's URL request interceptor to the front of the interceptor chain. Implement methods in WebContentsDelegateQt to add/remove protocol handlers to/from the ProtocolHandlerRegistry. Add permission request signal and classes for core, quick and widgets. Add widgets autotest. Add signal handlers to quicknanobrowser and simplebrowser. Task-number: QTBUG-62783 Change-Id: I808e7eb9a1cb4d7216686deed4895de14fe46310 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge dev into 5.11Oswald Buddenhagen2018-02-061-18/+18
|\ \ | | | | | | | | | Change-Id: Iad50b7865d6861bb15b85e6abe455aae2802ea4b
| * \ Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Allan Sandfeld Jensen2018-02-061-18/+18
| |\ \ | | | | | | | | | | | | refs/staging/dev
| | * \ Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2018-02-021-18/+18
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/download_manager_delegate_qt.cpp src/core/download_manager_delegate_qt.h src/core/render_widget_host_view_qt.cpp src/core/web_contents_adapter.cpp src/webengine/api/qquickwebengineview.cpp tests/auto/widgets/qwebenginedownloads/tst_qwebenginedownloads.cpp Change-Id: I2308414ce257ae5bb0fc9f6493aa111a267ff39b
| | | * | Fix crashes of url load qml testsMichal Klocek2018-01-311-15/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we can get QuickWebEngineViewPrivate::loadFinished while still being in RenderFrameHostImpl::OnDidStopLoading, unfortunately if user connects onLoadingChanged signal with new url load request this will end up in DiscardUnusedFrame and delete on RenderFrameHostImpl which is still on the bottom of the stack. Use QTimer::singleShot to return to the event loop before emitting load handling signals. Post all load handling calls with singleShot to avoid out of order load "signals" delivery in some cases. Emitting signals should be done from WebContentsAdapterClient to make sure the destruction of WebConentAdapterClient prevents emitting signals on already deleted adapter. Task-numbmer: QTBUG-65813 Change-Id: I93263876fb14bd959ba951463c8aeb5155f04a4f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | | Merge dev into 5.11Oswald Buddenhagen2018-02-061-2/+8
|\| | | | | | | | | | | | | | | | | | | Change-Id: Iaa5a467096e4915bbb5a7b0486fb08101af3749e
| * | | | Merge remote-tracking branch 'origin/5.11' into devAllan Sandfeld Jensen2018-02-021-121/+204
| |\ \ \ \ | | |/ / / | |/| | | | | | | | Change-Id: I454bb7216b013cc9aa9ee660893fe37034fd50e1
| * | | | Adaptations for Chromium 63Allan Sandfeld Jensen2018-01-251-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I551c7091bbc0463bed94180313eb2bfe92f0ad84 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | | | | QuotaPermissionController: Rename cancel() to reject()Jüri Valdmann2018-02-031-1/+1
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Better matches our public API and other classes. Task-number: QTBUG-62783 Change-Id: I75f54802325b0ed029528d3ca5af0f0cd7ee01df Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Make default context menus look more like chrome's oneValentin Fokin2018-02-021-121/+204
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Implement EditFlags in ContextMenuData - Unify Quick and Widget default context menus - Add workaround for QTBUG-65044 - Update the SimpleBrowser example and its documentation [ChangeLog][QtWebEngine][QtWebEngineWidgets] Unify Quick and Widget default context menus Task-number: QTBUG-62414 Change-Id: I16a380f9f17e160497dfb8ac9c172341eb28c6c8 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2018-01-171-4/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/webengine/api/qquickwebengineview_p_p.h src/webenginewidgets/api/qwebenginepage_p.h tests/auto/quick/qmltests/data/TestWebEngineView.qml Change-Id: Id2acc92e8d0364bdaaf5a63ea2d2cb9cd533ade3
| * | Clean up contextMenuRequested implementationValentin Fokin2017-12-211-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Get rid of the unused return value - Instantiate event only when used Change-Id: I01b93d133a53185c2c87f61ea688be3742511c38 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Introduce devtools frontendAllan Sandfeld Jensen2017-12-061-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes it possible to use devtools without using the remote-debugger Task-number: QTBUG-47899 Task-number: QTBUG-50725 Task-number: QTBUG-50766 Change-Id: Id32e13f773372d9917599ebbb64ab4af61bbf1d8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2017-11-291-34/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/web_event_factory.cpp src/core/web_event_factory.h src/webengine/render_widget_host_view_qt_delegate_quick.h Change-Id: Ic43787e2689c81b501ed395a990190eb67d83a2b
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-11-151-1/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty tests/auto/quick/qmltests/qmltests.pro tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp Change-Id: I2a1e3a83e29a1d6709f3e98fda3f7b4ab7ab297e
| | * Do not stop findText on navigation if no finding in progressPeter Varga2017-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid unnecessary unselect calls to prevent to lose active focus on an input field during background load. Task-number: QTBUG-64082 Change-Id: I13e8e2a96254360a78329d6ea2b6858da86a2b5a Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
| * | Pass editor shortcuts to Chromium by ForwardKeyboardEventWithCommandsPeter Varga2017-11-031-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moreover, extend the list of supported editor shortcuts and stabilize the corresponding auto test. Task-number: QTBUG-54692 Task-number: QTBUG-54812 Task-number: QTBUG-54221 Task-number: QTBUG-59053 Change-Id: I4dd8230519639ea6e3340992dbb54a609ecfcd91 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2017-10-271-1/+7
|\| | | | | | | | | | | Change-Id: Ibc1c881a67bf088ba6fb044e2553c74c7e9e24ca
| * | Adaptations to 61-basedAllan Sandfeld Jensen2017-10-251-1/+7
| | | | | | | | | | | | | | | Change-Id: I5cb198445f283c6cea8187a1a2883896df0ee918 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | | Implement geometryChangeRequested signal in the Quick APISzabolcs David2017-10-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chromium includes the size of the frame in the requested geometry, but QWindow::setGeometry() and the related properties of QML Window expect a size without frame. This patch - fixes the geometry handling in Demobrowser example. - implements a new signal in the QML API which sends both frameless and extended geometries to the application, because QML doesn't have capability to determine the size of the frame and handle extended geometry correctly. Task-number: QTBUG-51181 Change-Id: I8595593aecca33d7cd46986c7abbad0cc7c18ec2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Merge branch '5.10' into devAllan Sandfeld Jensen2017-09-181-2/+4
|\| | | | | | | | | | | Change-Id: If9b7ec5e67a49aa017b49b75d7ccf6d45820f72e
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2017-09-141-2/+4
| |\| | | | | | | | | | Change-Id: I0860a46b981c1f711bec45d7a495bcec2a80ee1f
| | * Set referrer on download requestsJüri Valdmann2017-09-121-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Note that the Referer header still won't be sent if the download is triggered via an anchor element with the 'download' attribute: crbug.com/455987 . Task-number: QTBUG-61354 Change-Id: I5af971af916b2190756e3e58f19736072a213922 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | | Support Quota Management APISzabolcs David2017-09-131-0/+37
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix deprecation warning in the Quick APIPeter Varga2017-07-191-1/+1
| | | | | | | | | | | | | | | | Use QCoreApplication::sendEvent() instead of QQuickWindow::sendEvent() as documentation suggests. Change-Id: I3222d5ec41aeca80efbe06f705ee73e19ea37489 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Cleanup support for desktop captureJüri Valdmann2017-07-171-2/+18
| | | | | | | | | | | | | | | | | | - Use feature permissions system instead of hard-coded dialog. - Add QML test for getUserMedia() and extend existing widgets test. Task-number: QTBUG-60832 Change-Id: I533bed5021b3b0ee199b8abc6ddbd516cbd14ff6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devKai Koehne2017-07-111-0/+2
|\| | | | | | | Change-Id: Idffd0c603f7925b8b9b037ce2d63cb13e964c20e
| * Call stopFinding, when navigating awayViktor Engelmann2017-07-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | When one searches for text on one page and then navigates away, results for the search-term are also highlighted on the new page. To stop this from happening, we now call adapter->stopFinding() when we navigate away from a page. Task-number: QTBUG-61506 Change-Id: I09e064d7788b12eae0a67c01e4f5872d94924617 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devAllan Sandfeld Jensen2017-07-051-6/+4
|\| | | | | | | Change-Id: Ida702fd5fa05a32d6cd7fc737aa061da74b675a0
| * Merge remote-tracking branch 'origin/5.9.1' into 5.9Liang Qi2017-06-241-2/+0
| |\ | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/functions.prf Change-Id: I53d65ea49f546c7d4aadfdaff178fd2f3f4cdf11
| | * Fix crash when accessibility is disabledAllan Sandfeld Jensen2017-06-231-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the no-accessibility feature moved to qtgui-config, we don't always include it where web_content_apapter_client.h is included, which gives it an inconsistent binary layout. Solve it by making the optional method always defined as it doesn't rely on anything from accessibility. Task-number: QTBUG-61200 Change-Id: I65f34ab2b6763f3166b945e700994bd8d019a835 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | Avoid using string constructor of QJSValue for byte-arrayAllan Sandfeld Jensen2017-06-191-1/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were returning the PDF byte-data as a javascript unicode string using the deprecated ascii cast constructor. This patch changes the behavior to match that of runJavaScript callbacks and uses a script value over QVariant. [ChangeLog][QtWebEngine] The callback version of WebEngineView::printToPdf is now called with a proper bytearray result instead of PDF byte data in a javascript string. Change-Id: I71565623465c54052568bb5ff34665baaa93e187 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * Store Target URL in WebContentsDelegateQt::WebContentsCreatedViktor Engelmann2017-05-301-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When opening a new window, for example by using the JavaScript method window.open('...'), the requested url is not stored in the content::WebContents object we get in WebContentsDelegateQt::createWindow (at this point, it should at least be stored as pending request in the WebContents' NavigationController, but it is not). Because of this, the QQuickWebEngineNewViewRequest object in QQuickWebEngineViewPrivate::adoptNewWindow never contained the url. We have access to the target url in WebContentsDelegateQt::WebContentsCreated, so now we store it there in a new property m_initialTargetUrl, from where WebContentsDelegateQt::createWindow takes it and passes it to WebContentsAdapter::adoptNewWindow as a new parameter. [ChangeLog][WebEngine] Fix WebEngineNewViewRequest::requestedUrl being empty when opening window from JavaScript Task-number: QTBUG-57675 Change-Id: I7e2c7866899baade17ce2517e6be8b2b2709699e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add back input method auto tests and test virtual keyboard for QuickPeter Varga2017-06-221-2/+1
| | | | | | | | | | | | | | | | This patch also fixes the update of the ItemAcceptsInputMethod flag of QQuickWebEngineView regarding to the focused element in the view. Change-Id: Ic6e39401bdc7ca5fab9cc03e878aa731f23fc147 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix copying JavaScript URLsSzabolcs David2017-06-071-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Wire unfiltered link URL to the API layer. [ChangeLog][QtWebEngine] linkUrl member of QWebEngineContextMenuData and ContextMenuRequest was previously returning with "about:blank" in case of non-standard URLs. Now it contains the unvalidated URL and CopyLinkToClipboard action has been fixed to handle such URLs (like javascript:) correctly. Task-number: QTBUG-59307 Change-Id: I2e49767e1cc9ec8324d230c1bf346e21d7b8d9bb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devAllan Sandfeld Jensen2017-05-301-1/+1
|\| | | | | | | Change-Id: I962033871a1ef624807a4e1869fe869406aa73f7
| * Show "Follow link" context menu item for links without textJüri Valdmann2017-05-171-1/+1
| | | | | | | | | | | | | | | | The standard context menu currently doesn't have the "Follow link" item for e.g. the image links on https://www.qt.io . Change-Id: I5b9d620135c7a8e65bd95a0ab07a76278e56cad0 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Handle ViewHostMsg_Focus message from chromiumViktor Engelmann2017-05-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling the method window.focus() in javascript causes chromium to send a ViewHostMsg_Focus message, which is received by RenderViewHost, which then calls RenderViewHost::OnFocus. This calls WebContentsDelegate::ActivateContents, which does nothing in the default implementation. We now override this method in WebContentsDelegateQt::ActivateContents and call Focus() on the WebContents object IF the new WebEngineSettings value AllowWindowActivationFromJavaScript is true (by default, it is false). This in turn calls QWebEnginePagePrivate::focusContainer. The WebEnginePage now calls QWidget::activateWindow() in addition to QWidget::setFocus, to make sure the window is also activated (which it might not be, if multiple windows are open). For the QML side, a new boolean Property allowWindowActivationFromJavaScript was added. Task-number: QTBUG-58800 Change-Id: Iabf5d4d15236c77838a3886de81e9dafcaf49f5d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Put JavaScript commands for WebActions in QStringLiteralViktor Engelmann2017-04-281-12/+12
| | | | | | | | | | | | | | | | | | | | | | QWebEnginePage::runJavaScript and QQuickWebEngineView::runJavaScript have QString parameters. Passing raw strings causes them to be passed to the deprecated QString constructor, which causes warnings in the compilation. Change-Id: I072149ca85c94b2b94c7b5d9aa198eddd47460e8 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add several QtWebKit WebActionsViktor Engelmann2017-04-031-0/+36
|/ | | | | | | | | | | | | | | Add WebActions ToggleBold, ToggleItalic, ToggleUnderline, ToggleStrikethrough, AlignLeft, AlignCenter, AlignRight, AlignJustified, Indent, Outdent, InsertOrderedList and InsertUnorderedList. All use the javascript document.execCommand with parameters according to https://developer.mozilla.org/de/docs/Web/API/Document/execCommand Task-number: QTBUG-59221 Change-Id: Ife18d660fefa2073351c5ad959611ec47b680dc6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Rename WebCoreVisitedLinksManager to VisitedLinksManagerQtAllan Sandfeld Jensen2017-03-261-1/+0
| | | | | | | | Rename to follow our standard naming. This class was one of our oldest and probably predates our standard naming convention. Change-Id: I32dfbad9611b789ad13114d9692b07045806f7c0 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Rework form validation QML testsPeter Varga2017-03-081-4/+0
| | | | | | | | | Use Custom Dialog API instead of Test Support API for testing form validation messages. Moreover, remove the form validation part from the Test Support API. Change-Id: I8ecc80745ddad26f90df413d9a1d04045512af6c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Allan Sandfeld Jensen2017-03-021-0/+2
|\ | | | | | | Change-Id: Iff6ab3c287c58d8ec84a1513460bfce5218e8a61
| * Abort findText when destroying QWebEnginePageViktor Engelmann2017-02-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | In the destructor of QWebEnginePage and QQuickWebEngineView, we now call adapter->stopFinding() to suppress callbacks that would cause segmentation faults if a findText request is still active at that point. Task-number: QTBUG-58563 Change-Id: I9d5d8407ee6c28cd76bf6ecf0b62808394e151cd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-301-2/+7
|\| | | | | | | Change-Id: Ic36a80502730d404ab96dfa11ff1eb0ac6eb302d
| * Fix drag position updates for QQuickWebEngineViewJoerg Bornemann2017-01-261-2/+7
| | | | | | | | | | | | | | | | | | Like in the widgets API we must check the result of updateDragPosition and ignore or accept the QDragMoveEvent. Task-number: QTBUG-58037 Change-Id: I26b9e10460eb2840c45698d9444c15ed78c6a1b3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Make QQuickWebEngineScript a publicly exported classSzabolcs David2017-01-261-1/+1
| | | | | | | | | | | | | | | | | | Now the users can create user scripts when they are working with QQuickWebEngineProfiles in C++. Change-Id: I6ada78b1fc44c3f93589eb468578c330a1be9c6f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>