summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Stabilize failed load sub-test of urlSchemeHandlerAllan Sandfeld Jensen2016-02-051-3/+3
| | | | | | | | | | When a failed load is replaced by an error-page we currently get two loadFinished signals. So disable error-pages to make the test of failed load simpler. Change-Id: I3baaf0f5a06c5e755695d6540316287a860e0d5f Task-number: QTBUG-50752 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* OS X: Fix crash when setting a custom default QSurfaceFormat.Alexandru Croitor2016-02-048-0/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting a new default QSurfaceFormat after QtWebEngineCore::initialize() is called, might lead to a crash. This happens when the new surface format has a different OpenGL profile, compared to the profile created by web engine in the RenderWidgetHostViewQtDelegateWidget constructor. The default constructed QSurfaceFormat has an OpenGL Compatibility profile. Inside the Cocoa platform plugin when a new shared OpenGL context is created, it fails to initialize the new context because of the difference in profiles, and thus ultimately creates an unshared context, which leads to a crash. Fix consists in using the shared context QSurfaceFormat in the RenderWidgetHostViewQtDelegateWidget constructor, and also printing a fatal warning to notify the developer only to set the new QSurfaceFormat before the application instance is declared. Bottom line, if the QSurfaceFormat OpenGL profile has to be changed, it should be done before QtWebEngineCore::initialize() is called. Doing so after initialize() is called, will lead to a crash. Change-Id: I8a07211b592143d736b001556b944d4759802396 Task-number: QTBUG-50665 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
* Stabilize tst_QWebEngineProfile::urlSchemeHandlers some moreJoerg Bornemann2016-02-041-0/+2
| | | | | | | | | Work around QTBUG-50752 in URL scheme handler test. Triggering the failing load makes subsequent calls to toPlainTextSync unreliable. Change-Id: I370d59b935b186fa4e3be3097ee921802f951720 Task-number: QTBUG-50752 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Stabilize tst_QWebEngineProfile::urlSchemeHandlersJoerg Bornemann2016-02-041-13/+21
| | | | | | | | Sometimes the emission of loadFinished wasn't caught. Use a QTRY_VERIFY-like function to synchronously load a page. Change-Id: Ib260a126c0cff7f254c97b1cd89f49b806010235 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Use fictional schemes in URL scheme handler testJoerg Bornemann2016-02-041-7/+7
| | | | | | | Avoid the usage of mailto. It might get forwarded to QDesktopServices. Change-Id: I2e8c889e8b0107b11c22c182a64685bc5ac16aae Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Preserve webchannel and userscripts when restoring historyAllan Sandfeld Jensen2016-01-311-0/+36
| | | | | | | | | | | Most page-state is set in webcontentsadapter::initialize except user scripts and webchannel. This patch ensures those are initialized too when changing to a new adapter during history restore. Change-Id: I4dca23ddab50480b1a72252a038834ce1802ad77 Task-number: QTBUG-50751 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: David Rosca <nowrep@gmail.com>
* Fix crash on exit for view-owned QWebEngineUrlSchemeHandler objectsJoerg Bornemann2016-01-281-0/+7
| | | | | | | | | | | | | | For view-owned URL scheme handlers the destructor would remove the handler and then trigger URLRequestContextGetterQt::generateStorage. This would access the browser context from the IO thread while it already has been destroyed on the browser thread. Increment the ref count for the browser context before every call of generateStorage, and decrement it when generateStorage is finished. Task-number: QTBUG-50160 Change-Id: Id8b1505891ec56e93bf9d47f33bb8bc3304eb55a Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Stabilize tst_QQuickWebEngineViewGraphicsJoerg Bornemann2016-01-241-3/+4
| | | | | | | | Fix a race condition where loadVisuallyCommitted was emitted before the QSignalSpy in waitForSignal could be connected. Change-Id: I7fcb9e3b423430405daf99c588ae8b70645333a1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Stabilize tst_QQuickWebEngineViewJoerg Bornemann2016-01-221-6/+26
| | | | | | | | Remove the 200 ms wait and instead try to grab the window contents repeatedly until a certain condition is met. Change-Id: I96dd720ef41ced9bdb48772939d25dd957081c33 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix deadlock on QWebEngineUrlRequestJob::failJoerg Bornemann2016-01-221-0/+23
| | | | | | | | | | | URLRequestCustomJob::notifyFailure calls NotifyStartError(status), which in turn will result in a call to URLRequestCustomJob::Kill. We must release the lock of m_mutex before calling NotifyStartError, otherwise m_mutex.lock() will wait forever in Kill. Change-Id: I319e45049766c2192dfc46a91b352b92ec677bc6 Task-number: QTBUG-50160 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Add autotest for URL scheme handlersJoerg Bornemann2016-01-191-0/+75
| | | | | Change-Id: I372366afce46703b9960ef2a8e5f575eaedb2514 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Remove FilterRequest from qwebenginecookiestoreMichal Klocek2016-01-152-15/+1
| | | | | | | | | | OnCanSetCookie and OnCanGetCookies should both be mapped to API. Since the other call is missing (filter cookies which should be send) remove existing one from 5.6 Change-Id: I4f42c4a1fee6add7a5efffaf4c38877a1f35ce61 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Remove callback functions from qwebenginecookiestoreMichal Klocek2016-01-151-25/+19
| | | | | | | | | | Remove all callback api calls, rename getAllCookies to loadCookies, update documentation. New function name reflects the fact the cookieAdded signal is always emitted when cookies are loaded from the store. Change-Id: Iab7bb04871c7396d2e23306a10084d425426a19f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Fix tst_QQuickWebEngineViewGraphics::showHideShow for OS XJoerg Bornemann2016-01-131-1/+8
| | | | | | | | | Defer the TestView::exposeChanged signal. On OS X exposeEvent is called directly by view->show(). Thus exposeChanged was emitted before signalSpy.wait() was called and the check on wait consequently failed. Change-Id: Ie318f8ddc0d1bcc35a14c73e615798b3e164739c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Stabilize tst_QWebEnginePage::symmetricUrl some moreJoerg Bornemann2016-01-111-1/+2
| | | | | | | | The second call to setUrl might override the first setUrl, depending on the timing. Change-Id: I30a8257751be3256a61668bd57195b1a12154d68 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Stabilize tst_QWebEnginePage::symmetricUrlJoerg Bornemann2016-01-081-1/+4
| | | | | | | | | | | | The sequence view.setUrl(dataUrl2); view.setUrl(dataUrl3); might result in a navigation entry for dataUrl2 or not, depending on whether the first call completes before the second call would overwrite the pending load. Change-Id: I487ada16517daa218078af007083a68c01697c9c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Stabilize tst_QQuickWebEngineViewGraphics::showHideShowJoerg Bornemann2015-12-211-3/+3
| | | | | | | Increase wait timeouts to let the test pass under heavy conditions. Change-Id: I412d5d6a33c33ce698e15a487355c5a5e51a9905 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Stabilize test_urlPropertyv5.6.0-beta1Allan Sandfeld Jensen2015-12-141-0/+2
| | | | | | | | | | Pulls in Chromium patches that fixes crashes in the test, and add a missing waitForLoadSucceeded, that otherwise might cause the next test to fail. Task-number: QTBUG-48031 Change-Id: I4844aee0ccf159e50de955f3b3da704160a4a0f5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Make QQuickWebEngineProfile publicKai Koehne2015-12-122-11/+5
| | | | | | | | | 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>
* Build qmltests only if QML testsupport API is availableJoerg Bornemann2015-12-111-1/+2
| | | | | Change-Id: Id54356024f60e5f877271b29895912e2bf0cb84f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Fix path issues tst_QQuickWebEngineViewJoerg Bornemann2015-12-111-25/+36
| | | | | | | | | Compare URLs, not paths. This saves us a bunch of conversions and fixes the test on Windows. Change-Id: Iaf91e7be2b015545bb7b2b1141bc316f85e629ea Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Update tests/auto/quick/publicapiJoerg Bornemann2015-12-111-1/+5
| | | | | Change-Id: Ia40857762cffb8e9fc47b55e3f9e41a177a6fa26 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Stabilize tst_QWebEnginePage::getUserMediaRequestJoerg Bornemann2015-12-101-3/+3
| | | | | | | Do not use 100 ms timeouts. Change-Id: Ied4a9a8b9af6ac33c025930a823d334000be2945 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Stabilize tst_download.qmlJoerg Bornemann2015-12-101-4/+8
| | | | | | | | | Connect to WebEngineViewDownloadItem.stateChanged to collect state changes. This makes sure that state changes from tests that ran before do not interfere with the current test. Change-Id: I360ac325711bf041f82375b3714a9cfe7a42398c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* enable tests/auto/widgetsJoerg Bornemann2015-12-073-3/+12
| | | | | | | Enable autotests and blacklist tests that are known to fail. Change-Id: Iea23c69aa5a7bbd44c21803e352d17a92e9178a0 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* stabilize tst_qwebenginepage some moreJoerg Bornemann2015-12-071-6/+5
| | | | | | | | Remove a qWait, and use the default timeout of waitForSignal. Do not expect the CI to be as fast as your desktop machine. Change-Id: I30b060422a285a2110ee7e065a3f17f80039e775 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Change QWebEngineUrlRequestInterceptor::interceptRequest to void.Michael Bruning2015-12-021-5/+3
| | | | | | | | Now uses a flag in QWebEngineUrlRequestInfoPrivate to store if the interceptor actually changed the request. Change-Id: Idccbd1c15696e577ee69248e53b75ba6ec1c571c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Remove unneeded qWaits from tst_QWebEngineCookieStoreJoerg Bornemann2015-12-011-2/+0
| | | | | | | The issue why these waits were introduced is not valid anymore. Change-Id: Ie8d562ba1b27b8ddbf3b0dfd27c12904b0f6a20e Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Rename QWebEngineCookieStoreClient to QWebEngineCookieStoreMichal Klocek2015-12-018-25/+25
| | | | | Change-Id: I8f9a4c5c155a65ede24908799218fd867db0767c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Make QWebEngineFullScreenRequest const correctKai Koehne2015-11-121-1/+1
| | | | | | | | | | | | Let QWebEngineFullScreenRequest be logically const-correct. It feels weird to be allowed to call "accept()" or "reject()" on a constant object. Also allow the user to copy the request, but check whether the page is still valid in the implementations of accept(), reject(). Change-Id: Ibf139a126734fc8e2db68ec26dc8f24cd4438942 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* stabilize tst_QWebEngineScript::injectionPointJoerg Bornemann2015-11-121-4/+4
| | | | | | | | Use QTRY_COMPARE instead of a hard-coded timeout. Fix usage of setTimeout in DOMContentLoaded event listener. Change-Id: I915ea0d2c54cf45be42803963d03b19c15135fd4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Fix resetting attributes in top level WebEngineSettingsSzabolcs David2015-11-123-0/+66
| | | | | | | | | | | Store default values in separate containers and remove related FIXMEs from WebEngineSettings. Add API test case in order to demonstrate the bug. Change-Id: If9d98265cab0f41b543fe690d534879b65f2b577 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* add dummy positioning pluginJoerg Bornemann2015-11-065-0/+147
| | | | | | | | | | | The QtPositioning plugin loader only loads plugins that are marked as testable whenever it detects that a Qt autotest is running. We now provide our own very simple positioning plugin that always provides the same location: the western beacon of port entrance Warnemünde. Change-Id: I747188dc261ba47c10056ad50754bb686e75c783 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* remove "CONFIG += ordered" where applicableJoerg Bornemann2015-11-062-4/+0
| | | | | | | We will specify proper dependencies when they are needed. Change-Id: Ic62d891dcf3ee97fd98788e848c9ac7c69922282 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Print JS console messages by defaultKai Koehne2015-11-061-17/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the behavior of QWebEnginePage/WebEngineView to print JavaScript console.warn and console.error messages by default in a 'js' logging category. This matches also the behavior for QtQml, where console messages end up in a 'qml' logging category by default. So far access to the JavaScript console required either use of the remote debugging functionality, subclassing of QWebEnginePage, or implementing a custom handler. Anyhow, even then writing a seamless forwarding of the data and metadata to the Qt message handler is difficult. This patches implements this forwarding by default. The behavior can be changed by either setting up rules for the 'js' category, e.g. setFilterRules("js.*=false"); or by implementing onJavaScriptConsoleMessage(), or overriding QWebEnginePage::javaScriptConsoleMessage. [ChangeLog] Unhandled JS console messages are now forwarded to to the Qt message handler inside a 'js' category. Change-Id: I5480383a80dcf7a122496f9b7915264ef9036db3 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* enable tests/auto/coreJoerg Bornemann2015-10-303-4/+3
| | | | | | | | Enable autotests and blacklist tests that are known to fail. Add skips and waits and mark them with the corresponding task numbers. Change-Id: I993e366ba3b07239a8ba15eae2ee8e3e2aaa8308 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-283-2/+82
|\ | | | | | | | | | | | | Conflicts: src/3rdparty Change-Id: I49acdd9b5ca94f2807b0c13a97f508a67f1c5750
| * Set off-the-record to true as documentedAllan Sandfeld Jensen2015-10-133-2/+82
| | | | | | | | | | | | | | | | | | | | The API had no way of setting off-the-record, because the constructor meant for it set it to false. The patch fixes the constructor and adds basic API tests for the QWebEngineProfiles. Change-Id: I407eb4a4b0524b6c4eb944d17d744620dd9db6fb Task-number: QTBUG-48724 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Fullscreen notification popups for the Quick examplesSzabolcs David2015-10-274-2/+111
| | | | | | | | | | | | Change-Id: If1057d74b4fa2cb98565e6a0a6f569e24b520753 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Remove userAgentApplicationName API test caseSzabolcs David2015-10-271-23/+0
| | | | | | | | | | | | | | | | | | | | We can't support this functionality, because we have multiple QCoreApplications in QtWebEngine and the user agent would pick up "QtWebEngineProcess" as value from the core layer. The users have to do it themselves. Change-Id: Id2b92d919ed47390f46b31da50a1e8e224c163ad Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Fix build of tst_qwebenginepageSzabolcs David2015-10-211-2/+8
| | | | | | | | | | Change-Id: Ic6cff6bed5ec1120ce8147ea02eeaea697788d16 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Fix ABI breakage due to fullscreen featureAllan Sandfeld Jensen2015-10-191-20/+5
| | | | | | | | | | | | | | | | | | | | | | We can not add a new virtual method without breaking ABI on some platforms, instead we need to use a setter. The API now uses a request object, and a separate signal for canceling, since canceling can not be rejected. Change-Id: If8069c343e86926293c30e8de179bf4e3cbd5886 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Do not require to subclass/install QWebEngineCookieStoreClientKai Koehne2015-10-192-47/+30
| | | | | | | | | | | | | | | | | | 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>
* | Add firstPartyUrl to QWebEngineUrlRequestInfoDavid Rosca2015-10-123-0/+26
| | | | | | | | | | | | | | | | Add firstPartyUrl that can be used to identify third-party requests. Change-Id: I2b8e48ff0a1a4402af224c80f91d4e599a61a89c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | add RequestClose web actionJoerg Bornemann2015-10-094-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Web pages can set the onbeforeunload handler to let the user confirm whether to leave the page or not. Until now, only when leaving the page via a link, a confirmation was shown. Before actually closing a web page, applications can now trigger the RequestClose web action. This will give the use the chance to confirm or deny the close request. If the request is confirmed, the signal windowCloseRequested is emitted. Task-number: QTBUG-36155 Change-Id: Icc1fabc37a2ac537f674c2f00bc8966e4dc4e610 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Remove whitespaces from custom HTTP user agentsSzabolcs David2015-09-291-20/+9
| | | | | | | | | | | | | | | | | | This prevents adding additional headers to the outgoing HTTP request through overridden user agent and unskips userAgentNewlineStripping API test. Change-Id: If9b3a88b0346058a7dc462471637d9777683fe82 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | update tst_publicapiJoerg Bornemann2015-09-281-79/+132
| | | | | | | | | | | | | | Added QQuickWebEngineSingleton and updated the expected API list. Change-Id: If91aadd2353b94732da18734bdfe68fbf3245d53 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Remove unnecessary test ifdefAllan Sandfeld Jensen2015-09-211-2/+1
| | | | | | | | | | | | | | We have settings and plugin setting now. Change-Id: Id999c20a0e1d5d2b7272207827de8fd31377ba01 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Unskip loadFinishedAfterNotFoundError test caseSzabolcs David2015-09-141-10/+6
| | | | | | | | | | Change-Id: Ie9f1aea1c7aad3e5a188667d1a38e5bc516564f8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Change some QNAM tests to use URLRequestInterceptorSzabolcs David2015-09-142-128/+103
| | | | | | | | | | Change-Id: I83536664df15375622e1b24496685ae19ab829c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>