summaryrefslogtreecommitdiffstats
path: root/src/webengine/api/qquickwebengineprofile_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-03-041-4/+5
|\ | | | | | | Change-Id: I1dd136df7004b11e2f38a2ec4e82a6fa81627479
| * Force destruction of webcontent client before profile adapterMichal Klocek2019-03-011-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently users might forget to delete webcontent client before profile adapter. This might be nasty if users are not aware of default profile. Instead of asserting badly in chromium, clean up and release chromium resources. This avoids the crash, but might leak memory if users never deletes page. Task-number: QTBUG-74021 Change-Id: I66f466f169d12f7ee08866d505260dca47800bb0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Remove download properly on profile destruction to avoid use after freeKirill Burtsev2019-02-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | In the Widgets API, download items are children of the profile and are destroyed when the parent profile destroys its children. The download item's destructor can therefore not access the profile, as it would cause a heap-use-after-free crashes. On quick side turn ongoing downloads cleanup to match widgets one. Fixes: QTBUG-73839 Change-Id: Iabb379e91187e3e68ebcd4693fec35883b72b1f2 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Web Notifications APIKirill Burtsev2019-02-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements API for end-user notifications. Co-authored by Allan Sandfeld Jensen [ChangeLog][Profile] Support for Web Notifications API for end-user notifications through QWebEngineNotification Task-number: QTBUG-50995 Fixes: QTBUG-51191 Change-Id: Icebaaa05275a713e801f1f8ecdaaec725fa264c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Make it possible to enable OCSP on LinuxAllan Sandfeld Jensen2018-10-171-0/+2
|/ | | | | | | | | | | | | The code follows Chromium and also set a CertNetFetcher on both Linux and macOS, but it appears to be currently unused. [ChangeLog][QWebEngineProfile] A profile can now be designated to download OCSP records and thus enable OCSP verification on Linux. Task-number: QTBUG-58059 Task-number: QTBUG-71164 Change-Id: I84fd34d4351cb7aa4417ce4058f97bad4b8d0cd4 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Fix issues with qml bindings accessing non-existing adapterMichal Klocek2018-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | We have currently two levels of initialization for WebEngineView: the profile initialization and the adapter initialization. The adapter initialization is delayed to first navigation request to pick the right initial site instance and avoid creating dummy/blank WebContents, which in turn would start unnecessary render process. Profile initialization is delayed to make sure we avoid unnecessary default profile creations. Created profiles use filestorage. Unfortunately qml will call QQuickItem::componentComplete() only when the root element is completed and the bindings can be already in use by that time. Profile initialization has to take place before adapter initialization. Construct adapter together with WebEngineView, but create and initialize profile before adapter initialization. Go through WebEngineView and fix emitting signals based on adapter initialization. Most of the signals are emitted on initializationFinished(). Task-number: QTBUG-70248 Change-Id: I2acd8bff761c692a360733cbf537de53e1295695 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rename BrowserAdapterClient to ProfileAdapterClientMichal Klocek2018-07-091-2/+2
| | | | | Change-Id: I1f8c0d2e59c2565b24c8c636553f1b70bcd31774 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Rename BrowserContextAdapter to ProfileAdapterMichal Klocek2018-07-091-5/+5
| | | | | | | | | Follow change of BrowserContextQt to ProfileQt. Fix wrong naming usage of browserContext instead of browserContextAdapter. Change-Id: I75fdac685d9bffd44f0144921d3e87305d6d44c9 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Change BrowserContextAdapter to be QPointerMichal Klocek2018-05-181-4/+3
| | | | | | | | | | | | | | | | | | | BrowserContextAdapter is living and accessed only in UI thread, remove QSharedPointer usage and change QWebengineProfile to use QPointer. Prevent BrowserContextAdapter outliving WebEngineContext by setting globalObject as a parent to track WebEngineContext destruction. This commits tries to simplify the life cycle handling of browser context, it removes profile shutdown methods and QWebEngineBrowserContext, which was used to track profile destruction. Task-number: QTBUG-62147 Change-Id: I79f2c38a123cd053e3a59f4900afbdc759a396fe Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Remove keeping browser context as shared pointer in web context adapterMichal Klocek2018-05-181-0/+4
| | | | | | | | | | | | | | | | | | | In widgets we document that web contents can not out live browser context ie. WebEngineProfile can not be deleted before WebEnginePage which uses it. In qml we can not be sure the order in which objects are garbage collected. We used shared pointers to keep order of destruction. Unfortunately shared pointers do not work well with corner cases, and we added more and more code to deal with that (shutdown methods + qpointers wrapping qsharedpointers). In order to remove growing complexity remove usage of shared pointers to keep strict deletion order. Remove shared pointer from WebContentsAdapter and simply track the WebContents, that is used by the given BrowserContext. Force deletion of webcontents first. Change-Id: I05f886a0094d971b03f9a35e12c4b4672f0fe4ce Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2018-01-171-3/+4
|\ | | | | | | | | | | | | | | | | | | 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
| * Protect QML profiles as well as coreAllan Sandfeld Jensen2018-01-151-3/+4
| | | | | | | | | | | | | | | | | | Moves QWebEngineBrowserContext to core and makes use of it from both widget and qml. Change-Id: I34748f302b0515b11b5831690d28478dfa6a852b Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-211-2/+2
|/ | | | | Change-Id: I5fb337a83bfc98c23b2f3cd51839feb40fad010e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add profile-wide user scripts to the Quick APISzabolcs David2017-01-261-0/+7
| | | | | | | | Add API tests in order to try how it works in C++ and QML. Task-number: QTBUG-51034 Change-Id: I1680297e2dafba39dbd4b161f0dbdb14fb6d4243 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-04-251-3/+4
|\ | | | | | | Change-Id: I329397621f19ba3890be5daf44a6bb2d668ad2d8
| * Switch BrowserContextAdapter to QSharedPointerAllan Sandfeld Jensen2016-04-191-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | BrowserContextAdapter is not a form of shared data, and using QExplicitSharedDataPointer on it as always been a misuse of the class. Instead we should switch it to QSharedPointer, which also allows us to use QWeakPointer. Change-Id: I8eb489b4a12d3fdddcde55821be294814a156a9d Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
* | Unify license header usage.Jani Heikkinen2016-02-011-11/+14
|/ | | | | | | | | Update files using old header.LGPL3 to use header.LGPL Update files using old header.FLD to use new header.FDL Update files using old header.BSD to use new header.BSD Change-Id: I36a67aaa8c3ca6c7946308defc9c03c3571a7d23 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Make QQuickWebEngineProfile publicKai Koehne2015-12-121-87/+20
| | | | | | | | | Make QQuickWebEngineProfile a publicly exported class. This allows users to set up and manipulate the profile from C++, and removes the ugly hack needed to access the cookie store. Change-Id: I99e1a8c2cb99d9d1a14e1c78bec5948ba1282fb3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Rename QWebEngineCookieStoreClient to QWebEngineCookieStoreMichal Klocek2015-12-011-2/+2
| | | | | Change-Id: I8f9a4c5c155a65ede24908799218fd867db0767c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* use Q_ENUM instead of Q_ENUMSJoerg Bornemann2015-11-161-2/+2
| | | | | | | | This makes the enum values available as strings in qDebug, QCOMPARE and such. Change-Id: Id57a2002451337fcc8aedac673f834445913895c Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Mark property with REVISION, not methodsKai Koehne2015-10-221-3/+3
| | | | | | | | Marking ordinary member function with REVISION is pointless. Change-Id: I9b22ed56b6843897cf80c610f46d0c45c7918b31 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Do not require to subclass/install QWebEngineCookieStoreClientKai Koehne2015-10-191-1/+1
| | | | | | | | | The class has only setters and getters, except for the virtual acceptCookie method. By replacing this method with a setCookieFilter callback we can avoid the need of users to subclass the client. Change-Id: Id78c01fc103b8d9cc267594527239b598e8975f1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Merge branch '5.5' into 5.6Allan Sandfeld Jensen2015-09-081-0/+2
|\ | | | | | | Change-Id: Idafba4d47393638cfc72fd02be092b67bb8cbd8c
| * Break destruction cycle between DownloadItem and WebEngineProfileKai Koehne2015-09-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | All QQWebEngineDownloadItem objects are destructed as child objects of QQWebEngineProfile. However, they try to 'call back' to the already half-destructed QQWebEngineProfile object to unregister themselves. Avoid this by tracking the lifetime of the QWebEngineProfile with a QPointer. Task-number: QTBUG-48088 Change-Id: Ie6a76440ad9f37d7cbc38b4ce35bf5da785d0e2a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Add invokable to QQuickWebEngineProfile to set cookie clientAndras Becsi2015-08-281-0/+3
| | | | | | | | | | | | | | | | | | This makes it possible to set a cookie client in the C++ part of a QtQuick application to receive notifications about cookies. Add setting for blocking third party cookies to quicktestbrowser. Change-Id: I627eaab067e92a7be5b36ffed68794e54c7be0e8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/dev' into 5.6Allan Sandfeld Jensen2015-08-251-3/+3
|\ \ | | | | | | | | | Change-Id: Iee44f6f41c00838c9efe30f600200307bdef770a
| * | fix revision for httpAcceptLanguage property of WebEngineProfileJoerg Bornemann2015-08-241-3/+3
| | | | | | | | | | | | | | | Change-Id: I374d6ffa968e6cc9a3317f0c8860402da84a1b5b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | | Merge branch '5.5' into 5.6Allan Sandfeld Jensen2015-08-181-0/+11
|\ \ \ | |/ / |/| / | |/ Change-Id: I9977663123560a22f493b8c02d02de8897b38666
| * Add private header warningKai Koehne2015-07-241-0/+11
| | | | | | | | | | Change-Id: I95ae03b34631f166d2eed68e20282eb624ff408a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | add API to set the Accept-Language HTTP request-header fieldJoerg Bornemann2015-08-041-0/+5
|/ | | | | | | | | | Add methods to set the Accept-Language field in QWebEngineProfile and QQuickWebEngineProfile. Task-number: QTBUG-47412 Change-Id: Ifa376bb3551fdc1fb3d68279d734b7f7735782fc Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Clean up global profiles and ownershipAllan Sandfeld Jensen2015-03-121-1/+1
| | | | | | | | | | | | | 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>
* Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-021-0/+4
| | | | | | | | 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>
* Update copyright headersJani Heikkinen2015-02-161-7/+7
| | | | | | | | | 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>
* Update QML download API to match widgets and add documentationAndras Becsi2015-02-061-1/+1
| | | | | | | | | | | | | 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>
* Add settings to WebEngineProfilesAllan Sandfeld Jensen2015-02-051-1/+5
| | | | | | | | | 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>
* Rename HttpCacheMaxSize to HttpCacheMaximumSizeAllan Sandfeld Jensen2015-01-291-4/+4
| | | | | | | | The rename was only done in QWebEngineProfile but is missing in QQuickWebEngineProfile. Change-Id: Ib90d075fe3f4ddf5dbc7e22861d8e76574abb8dd Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Add QML download APIAndras Becsi2015-01-121-0/+4
| | | | | | | | | | | | | | | | 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-121-0/+123
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>