summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets
Commit message (Collapse)AuthorAgeFilesLines
* Add redirect and error API for custom URLAllan Sandfeld Jensen2015-05-132-2/+29
| | | | | | | Adds API for failing or redirecting custom URL requests. Change-Id: Ia633bff2c0b8484fd6fdb8d42982fda2e427db4c Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Improve thread safety and behavior of custom URL requestsAllan Sandfeld Jensen2015-05-061-0/+4
| | | | | | | | | Adds thread protection between the UI and IO threads access to the QIODevice, and changes it to a QPointer, so we can tell if the user deletes it. Change-Id: I3e7b3f682d4c5a145d75cd5822affcfc9012cff7 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Add documentation of Custom URL requestsAllan Sandfeld Jensen2015-05-062-0/+67
| | | | | | | | | | Adds basic documentation to the API. Though the API is still private we would like people to experiment with it, which is easy if it is documented. Change-Id: I63985dfc16dc91270d95edf6fc306f9c71a10f29 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com> Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org>
* Widgets: Use overridden show()Szabolcs David2015-04-271-1/+1
| | | | | | | | Notify client about the show() after RWHVQD creation. The WasShown(...) hack is not necessary anymore in the core layer. Change-Id: I221b2d027ee83d81d70191419bc4fa8d41231674 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* WebEngineView does not load a url while invisibleAndras Becsi2015-04-221-1/+4
| | | | | | | | | | Notify the RenderWidgetHost about visibility changes so that we receive updates with non-empty DelegatedFrameData when a page was loaded in an invisible WebEngineView and then made visible. Task-number: QTBUG-42789 Change-Id: I4856efcd9c0ce44b66a228d5a414198df46b95eb Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Remove erroneous semicolons after Q_DECLARE_* macrosAndras Becsi2015-04-204-5/+5
| | | | | | | | Some of these declarations had habitual semicolons at the end, which would fail when compiling with -Werror,-Wextra-semi. Change-Id: I8dd73462fc1c10b0bb746fbfc3281d9cce36e5fc Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Andras Becsi2015-04-151-0/+1
|\ | | | | | | Change-Id: I1e414bb2252ee4b2204ef50a9d122d1d1504115d
| * Enable building Qt WebEngine without accessiblity enabled.Stephan Binner2015-03-045-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Backport of d95b9295c970401939d2779cbdc9e2a8c7965277 from 5.5 Change-Id: I2a2a0a6196fcb3baa39603d9c929183b454f39ed Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Revive ReloadAndBypassCachePierre Rossi2015-04-071-0/+3
| | | | | | | | | | | | | | | | | | Appears to be an oversight for widgets, as the API was there, but just wasn't wired. Also add it for QQuickWebEngineView while we're at it. Change-Id: I07d6e356cbaf22b79f3fc5a82df78c6821993e8d Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | Improve documentation about certificate errorsPaulo Pinheiro2015-04-071-0/+11
| | | | | | | | | | | | | | | | | | | | Documentation about how to handle certificate errors was poor, so this patch try to improve that. [ChangeLog][QtWebEngineQML][QQuickWebEngineCertificateError] New API for handling certificate errors in the QML API. Change-Id: I9234f5c8296651e7634ee41827fc6dcce503398b Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Use singular they instead of he as a pronoun for the user.Michael Brüning2015-03-131-2/+2
| | | | | | | | | | | | | | It is neutral and commonly used. Change-Id: I16f5f058377ba99e599fc84037157314d0dd68a3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Support HTML5 form validation featurePeter Varga2015-03-136-0/+340
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Clean up global profiles and ownershipAllan Sandfeld Jensen2015-03-123-18/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the unused global off-the-record browser-contexts and changes all browser-contexts to be ref-counted by an API level profile. The API default profiles are now owned by a global QObject and are deleted on exit. Change-Id: Id7c9eafa24829118105f58b66663a6348216823d Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | UserScript: Rename source property to sourceCode.Robin Burchell2015-03-122-8/+8
| | | | | | | | | | | | | | | | | | The name 'source' is unclear, and doesn't match current conventions in QtQuick (e.g. Image::source). Furthermore, such a property inhibits adding convenience API to fetch a user script from an external URI. Change-Id: I518b3963f64f0986f9e2d08fe7c5f69122372e0c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Add testsupport QML API and error page signalsPeter Varga2015-03-062-5/+13
| | | | | | | | | | | | | | | | | | | | | | The testsupport API is used for test those features that are not planned to be accessible via the public API. For example, signals of the chromium's error page should not be visible for the develepor but it is important to test whether the error page is loaded properly. Change-Id: Ie5b3265a207d05649cabd624a001a6ffe2e45971 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Add missing QtWebEngineCore namespace refs to egl integrationStephan Binner2015-03-041-0/+1
| | | | | | | | | | | | | | Also add a missing include (for compilation without accessibility) Change-Id: Iea3def18d898e249b82968cd25495b62ffb80cfe Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-0218-30/+62
| | | | | | | | | | | | | | | | Adds the QtWebEngineCore namespace to all internal core API. This ensures we don't export any internal symbols in the global namespace. Change-Id: I26af888ea7c6c4c4d0f04c24a377c1a9d3c92751 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Introduce a user scripts mechanismPierre Rossi2015-02-2112-2/+610
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix crashes and ownership issues in Custom URL scheme handlingAllan Sandfeld Jensen2015-02-203-7/+8
| | | | | | | | | | | | | | | | Fixes crashes exposed by implementing the qthelp protocol handler for Qt assistant. Change-Id: I0b1153bc52ff82838cde009f1fe1ac46edc43210 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Experimental custom URL scheme APIAllan Sandfeld Jensen2015-02-199-1/+419
| | | | | | | | | | | | | | | | 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>
* | WebChannel: don't mess with the navigator objectPierre Rossi2015-02-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The navigator object is actually exposed later on from WebCore using a different mechanism, so the V8 extension approach won't work with it. Better take the chrome extensions approach and expose our own. This should "un-break" the part of the web that was broken by eee482929a. Change-Id: I991be2e12bb9ebcf60ace02721497c3fcd923c7f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Update copyright headersJani Heikkinen2015-02-1630-171/+171
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: Ieb6bac7a1be5c25eb7cb917495b58b6a870ca6d4 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* | Add QWebChannel setter and getter to QWebEnginePagePierre Rossi2015-02-132-0/+35
| | | | | | | | | | | | | | | | | | This allows using the WebChannel integration from the widgets API. Contains documentation, the underlying API for transport is tested by the qml tests already. Change-Id: If5520eddf5d1a9c917df890960e042f53baa42ce Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Reverse the logic for download cancellationAndras Becsi2015-02-061-2/+2
| | | | | | | | | | | | | | | | | | Since we require downloads to be explicitly accepted we should have 'accepted' as a member in the download info instead of 'cancelled'. Change-Id: Ia8ff4a4b29f3c8631f4cb1c410ece5f11d9cdc93 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Add settings to WebEngineProfilesAllan Sandfeld Jensen2015-02-058-146/+68
| | | | | | | | | | | | | | | | | | 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>
* | Propagate unhandled key events to the QtWebEngine view's parentJocelyn Turcotte2015-02-052-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix widgets download state updateAndras Becsi2015-02-022-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Since the DownloadState enum of core does not match the DownloadState enum of QWebEngineDownloadItem we should never directly compare it, instead we should convert with the toDownloadState() function, to fix the missing emission of the finished() signal. This patch also adds static asserts to verify the match of chromium's DownloadItem::DownloadState and our core DownloadState. Change-Id: I51110f55598230e380e15948f75219976d3a68a0 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Add widgets download APIAndras Becsi2015-02-027-2/+580
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Add Qt WebEngine Quick API for allowing certificate errorsPaulo Pinheiro2015-02-022-2/+2
| | | | | | | | | | | | | | | | | | 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>
* | Document geolocation featureAllan Sandfeld Jensen2015-01-282-1/+2
| | | | | | | | | | | | | | | | | | When the geolocation feature was activated, the feature request was not documented along with it. Change-Id: I8cb1b60015c3cffe7f3d035ea4f61625d81be5b0 Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org> Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* | Enable building Qt WebEngine without accessiblity enabled.Michael Brüning2015-01-235-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Introduce ASSERT_ENUMS_MATCH macroPierre Rossi2015-01-222-12/+12
| | | | | | | | | | | | | | | | For our common use case of compile-time checking enums that we want to keep in sync. Change-Id: I102d737ad986bf3dfff4d11a91afa3f3819a7947 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Widgets: Implement mouse lock permission APISzabolcs David2015-01-163-1/+15
| | | | | | | | | | | | | | | | | | 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>
* | Add Pointer Lock supportSzabolcs David2015-01-162-0/+12
| | | | | | | | | | | | | | | | | | | | While the mouse is locked, the cursor is hidden from the user and mouse events are still generated. The movement which is reported by the event indicates what would be the position change if the mouse would not have been locked. Change-Id: I79b3df5d7d644cd675a27e6c5a0da54e00b69da3 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devFrederik Gladhorn2015-01-142-2/+33
|\ \
| * | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-022-2/+33
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/3rdparty src/core/content_browser_client_qt.h src/core/core_module.pro Change-Id: Ia05a6564a4d17ca14ff9b76ae018c3f4ef33d535
| | * Enable cmake config files generationJocelyn Turcotte2014-12-121-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * Add class and enum documentation to QWebEngineCertificateErrorAllan Sandfeld Jensen2014-12-031-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | Without the class description the methods documentation was never generated. Change-Id: I0d7232e8f5cc6765908cb28b77d0fe0f514d359d Task-number: QTBUG-42996 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | API for controlling tracking of visited linksAllan Sandfeld Jensen2015-01-082-0/+37
|/ / | | | | | | | | | | | | | | | | Also fixes updating the visited links manager when off-the-record changes or a storage path is set or changed. Change-Id: Iffa90edde35f2d84146f3ab3b3861ef113e321f3 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Introduce QWebEngineProfile APIAllan Sandfeld Jensen2014-12-127-6/+529
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.4' into devAndras Becsi2014-12-011-0/+6
|\| | | | | | | | | | | | | | | | | Conflicts: src/core/access_token_store_qt.cpp src/core/access_token_store_qt.h src/core/content_browser_client_qt.cpp Change-Id: Id319ad0d87ce071e63d9c6c22b4fc35523ddfa74
| * Doc: Fix issues related to example docsTopi Reinio2014-11-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | - Add documentation for Quick Nano Browser - Add all examples to the correct group - Add instructions to run the examples - Qt WebEngine Widgets index page: Add examples section Task-number: QTBUG-42668 Change-Id: Ie60f8708336b9c147d0c22afb555fe87287deddc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* | Support TransferableResource::is_softwareJocelyn Turcotte2014-11-252-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the GPU process fails to initialize, or when the --disable-gpu switch is provided, the delegating renderer will transfer resource mailboxes through shared memory pixel data instead of through shared texture IDs in the GPU process. Handle this by uploading the pixel data ourselves with createTextureFromImage, also allowing us to render tiles in the QtQuick 2D Renderer. Change-Id: I70ad7122cd0e52dd5ab435ae01e7f032b8e1194e Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | Avoid relying on QOpenGL classes to handle RenderPassesJocelyn Turcotte2014-11-253-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Wire the geolocation API to QtPositioningPierre Rossi2014-11-242-0/+13
| | | | | | | | | | | | | | | | If QtPositioning is available, provide chromium with a LocationProvider that uses it as a backend. Change-Id: I53ad3b45e49d0d2d181c1a6459b7be764293c2a6 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | Use Q_GLOBAL_STATIC instead of local statics for singletonsAndras Becsi2014-11-203-16/+21
| | | | | | | | | | | | | | This patch prevents leaking these objects on shutdown. Change-Id: Ic4a628e0d4dc0b31716f885c1e904b6062cf3ef0 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devAllan Sandfeld Jensen2014-11-118-29/+35
|\| | | | | | | | | | | | | | | Conflicts: src/core/browser_context_qt.cpp src/webengine/api/qquickwebengineview_p.h Change-Id: I73bdec03b627b282851d7dda12006d4ab631072c
| * Fix enum names of audio/video featuresAllan Sandfeld Jensen2014-11-073-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | The feature enum names and documentation gave the impression it could control audio and video output, while they only control input. Also removed documentation of non connected feature permissions for Notifications and GeoLocation. Change-Id: Ia35142ca691ebd6059b7472e9803fda8cbd84813 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
| * Make url handling consistent in widget and quick APIPeter Varga2014-10-282-5/+5
| | | | | | | | | | | | | | | | 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>
| * Add setting ErrorPageEnabledAndras Becsi2014-10-143-1/+5
| | | | | | | | | | | | | | | | | | This is required so that embedders can implement custom error pages, and is also needed for tests, where error-page loading has side-effects on subsequent page loads. Change-Id: I5ae276a58864a2fa9d7b608bea3340b482a92f4e Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>