summaryrefslogtreecommitdiffstats
path: root/src/webengine/api
Commit message (Collapse)AuthorAgeFilesLines
* Support HTML5 form validation featurePeter Varga2015-03-132-0/+17
| | | | | | | | | | | | 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-17/+16
| | | | | | | | | | | | | 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-12/+11
| | | | | | | | | 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 tst_javaScriptDialogs QML testv5.5.0-alpha1Szabolcs David2015-03-113-0/+81
| | | | | | | | Test alert, confirm and prompt dialogs via test support API. Change-Id: I9057a887491ac68e86ccd87181d4091323f6ee6f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Promote fullscreen API to 5.5 publicSzabolcs David2015-03-093-14/+56
| | | | | | | | | Introduce a new FullScreenRequest object as the parameter of the fullScreenRequested signal and expose the isFullScreen property as read-only. This makes the API harder to misuse. Change-Id: Ibb072ec93843e6df265bd930e8721d244bc2f4bc Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Add testsupport QML API and error page signalsPeter Varga2015-03-065-4/+216
| | | | | | | | | | | 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>
* Move findText to the public APISzabolcs David2015-03-043-9/+9
| | | | | | | | | - Add a default 0 value for the FindFlags parameter - Update tests and examples - Import documentation from the Widgets side Change-Id: Ifb627a81247028416bc7a31068676ea871f6dcf4 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Quick: Fix handling of multiple certificate errors per requestPaulo Pinheiro2015-03-044-6/+21
| | | | | | | | | | | This patch enables Quick API to handle multiple certificate errors per requests and update the example projects. Chromium 40 branch raise an certificate error for every resource loaded in a request (.js, .css, .html) instead of only one (previous behavior), so requests with more than one certificate error were automatically rejected. Change-Id: Ibaa3027cd6e7f22b5dc51dcd52f76ccf5ea162d3 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-0216-38/+58
| | | | | | | | 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>
* QtQuick API for userScriptsPierre Rossi2015-02-226-0/+439
| | | | | | | | QObject-based, allowing the same things as the Widgets API in a declarative fashion. Change-Id: I9c9819b691b2098ec47e0536d47ccd2a950126c2 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* WebChannel: don't mess with the navigator objectPierre Rossi2015-02-191-1/+1
| | | | | | | | | | | | | 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>
* Move navigationHistory out of experimentalPierre Rossi2015-02-186-38/+84
| | | | | | | | | | | | | | | Add an offset role to the models. Implement goBackAndForward that uses this offset. Also add a complete model, items, that includes current navigation entry (at offset 0) to allow for the Firefox-style single menu, and add that one to the nano browser example. The models are now instantiated lazily as it's unlikely the three models will be used by the same app. Change-Id: Ib551738611497c7eb9c501f045cda315968a2ada Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-1627-189/+189
| | | | | | | | | 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>
* Move webChannel property out of experimentalPierre Rossi2015-02-133-13/+32
| | | | | | | | | Add a notify signal to go with the setter. Parent the default-provided channel to the view. Comes with basic documentation. Change-Id: I2bde8153df5928fc92ac36b7fa4d4b3b1da22f53 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Integrate with WebChannelPierre Rossi2015-02-122-0/+23
| | | | | | | | | | Provide a transport mechanism for WebChannel over chromium IPC and expose WebChannel in our experimental QML API. Co-authored by Milian Wolff. Change-Id: Ia24b1d4ebc8515de677d4849ec33cb55c963918e Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Proper versioning of the Quick APISzabolcs David2015-02-061-5/+5
| | | | | | | | | - Add missing "REVISION 1" to the new parts of the API: zoomFactor, certificateError and profile. - setZoomFactor should not be a slot. Change-Id: I02551ee7eb7323ff8dbb0b62ea503ed08b2051c2 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>
* Update QML download API to match widgets and add documentationAndras Becsi2015-02-065-56/+203
| | | | | | | | | | | | | Rename the download signal to downloadRequested and only start a download if it has been explicitly accepted by the user, else cancel it by default. Replace the downloadPercentage property with totalBytes and receivedBytes to also give the user information about download size. Additionally this patch adds missing documentation. Change-Id: I9d895386cf033f2efffe3ebac6f08f94c6fe0c19 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com> Reviewed-by: Jocelyn Turcotte <jturcotte@woboq.com>
* Move settings out of experimental.Michael Brüning2015-02-063-7/+10
| | | | | Change-Id: Ida74680a4180f4366746874a656041364563d548 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Add settings to WebEngineProfilesAllan Sandfeld Jensen2015-02-058-192/+94
| | | | | | | | | 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/+8
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Forbid mismatching profiles when adopting web contentAllan Sandfeld Jensen2015-02-021-0/+5
| | | | | | | | | | | 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>
* Add Qt WebEngine Quick API for allowing certificate errorsPaulo Pinheiro2015-02-025-4/+284
| | | | | | | | | 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>
* Fix the build of tst_publicapiJocelyn Turcotte2015-02-021-1/+1
| | | | | Change-Id: If703ff2e5d8fd8ebfe92ad1ac3603c1abe5c7e53 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Rename HttpCacheMaxSize to HttpCacheMaximumSizeAllan Sandfeld Jensen2015-01-292-9/+9
| | | | | | | | The rename was only done in QWebEngineProfile but is missing in QQuickWebEngineProfile. Change-Id: Ib90d075fe3f4ddf5dbc7e22861d8e76574abb8dd Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Update the expected list of public API testcaseAdam Kallai2015-01-281-1/+1
| | | | | | | | - Also fix the qtwebengineglobal_p.h header include in quickwebneignedownloaditem_p.h, because it is searched for wrong manner from the tst_publicapi testcase. Change-Id: I8997fafbf198f19a3d54b194f3408def6370417e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Document QQuickWebEngineProfileAllan Sandfeld Jensen2015-01-271-0/+101
| | | | | Change-Id: I63621cec0f307fc3c0e71c84f99c68c0372d2992 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Move newViewRequested to the public APISzabolcs David2015-01-234-6/+47
| | | | | | | | | | | | | 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>
* Enable building Qt WebEngine without accessiblity enabled.Michael Brüning2015-01-233-1/+18
| | | | | | | | | | | | | 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>
* Replace the inspectable property with an environment variableJocelyn Turcotte2015-01-222-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Fix the tst_navigationHistory QML testcaseAdam Kallai2015-01-221-0/+4
| | | | | | | | | | | | When the ListView component is created from the QQuickWebEngineHistoryListModel model. It requires an adapter to get the currentNavigationEntryIndex and navigationEntryCount for the QQuickWebEngineHistoryListModel::rowCount. Add the default rowCount value while the adapter is not unavailable because of the lazy adapter initialization. Change-Id: Id80d6f56adfea613bdc2c13d9caa1a12f50fddca Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Add DownloadItemInfo to BrowserContextAdapterClientAndras Becsi2015-01-203-18/+20
| | | | | | | | | | | This extends the carried information from Chromium's content::DownloadItem with url, totalBytes and receivedBytes in preparation of adding a Widget API for downloads. DownloadItemInfo struct is now constructed to carry information about individual downloads from the content layer to the Qt API layer. Change-Id: I3ee7aea02b74994e612e1b3709195776d5e7570b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devPierre Rossi2015-01-161-1/+1
|\ | | | | | | | | | | | | Conflicts: src/3rdparty Change-Id: Ied43de29444d4803218e250b096b9c72bc017af7
| * UIDelegatesManager: Remove creationContextForComponent.Robin Burchell2015-01-061-1/+1
| | | | | | | | | | | | | | | | | | 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>
* | Widgets: Implement mouse lock permission APISzabolcs David2015-01-162-0/+10
| | | | | | | | | | | | | | | | | | 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 QML download APIAndras Becsi2015-01-127-3/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch exposes downloadStarted and downloadFinished signals on the WebEngineProfile to notify about downloads. The WebEngineDownloadItem exposes a subset of Chromium's content::DownloadItem functionality. For now we expose minimal requirements to be able to control downloads in QML but this can be extended in the future. This patch also adds a DownloadView to quicktestbrowser to demonstrate the usage of the new API. [ChangeLog][QtWebEngineQML] Add QtQuick download API Change-Id: I8d8f0daf02c4e0151000427fc2a4b37d28b9db52 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | QML API for WebEngineProfilesAllan Sandfeld Jensen2014-12-128-12/+511
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.4' into devAndras Becsi2014-12-011-0/+1
|\| | | | | | | | | | | | | | | | | 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
| * Fix crashes in QQuickWebEngineSettingsPeter Varga2014-11-061-0/+1
| | | | | | | | | | | | | | | | Remove QQuickWebEngineSettingsPrivate object's pointer from the global setting list before the object is destructed. Change-Id: I1cca6bf8aa2438903692d9e2ef863c8fc543adbd Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | QtQuick: rename the media feature permission enum valuesPierre Rossi2014-11-242-10/+10
| | | | | | | | | | | | | | In the same way it was done for widgets. Change-Id: I03ff6ed587346b00c76cf7314483263fd4f90a2d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | QtQuick: add geolocation permission APIPierre Rossi2014-11-242-4/+14
| | | | | | | | | | | | Change-Id: I1a5fedc4167dd780655b004811211e49631663c5 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | Wire the geolocation API to QtPositioningPierre Rossi2014-11-241-0/+1
| | | | | | | | | | | | | | | | 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-202-8/+17
| | | | | | | | | | | | | | This patch prevents leaking these objects on shutdown. Change-Id: Ic4a628e0d4dc0b31716f885c1e904b6062cf3ef0 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | Remove unneeded constructor declarationAndras Becsi2014-11-181-1/+0
| | | | | | | | | | Change-Id: Id7be078bdd96891adefe62b9666d8b66dd318903 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | Remove arguments from QQuickWebEngineSettings signalsJocelyn Turcotte2014-11-182-24/+24
| | | | | | | | | | | | | | | | | | The convention in the rest of the QtQuick API is to not pass the new value of a changed signal as an argument since the signal handler can easily access the property itself. Change-Id: I0dbf70379f631135c5ad973b46a9f3936d4be115 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devAllan Sandfeld Jensen2014-11-116-7/+39
|\| | | | | | | | | | | | | | | Conflicts: src/core/browser_context_qt.cpp src/webengine/api/qquickwebengineview_p.h Change-Id: I73bdec03b627b282851d7dda12006d4ab631072c
| * Support Qt::AA_ShareOpenGLContextsPierre Rossi2014-10-291-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | QtWebEngine::initialize happens after QGuiApplication instantiation, so it is too late to simply set the application attribute. In that scenario, we don't want to override the shared context and risk a double free when both QGuiApplication and our cleanup handler try to delete it. Change-Id: Id52884abbb0c2380208876d9c00e8ddbfbc21eda Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
| * Make url handling consistent in widget and quick APIPeter Varga2014-10-282-1/+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-142-0/+19
| | | | | | | | | | | | | | | | | | 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>
| * Notify canGoBack/canGoForward on urlChanged instead of loadingChanged.Jarred Nicholls2014-10-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | In order to support Fragment (#) based routing and history navigation together, canGoBack/canGoForward properties should be notified when the url is changed instead of when the page is loading. Task-number: QTBUG-41849 Change-Id: Ic995fffa5c683dade88fbd98ffea90527a77261b Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Jarred Nicholls <jarred.nicholls@gmail.com>