summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Fixing QQuickWebEngineView.loadingChanged public API test caseAdam Kallai2014-02-252-3/+3
| | | | | | | | | Rename QQuickWebEngineView.loadingStateChanged signal name to QQuickWebEngineView.loadingChanged. Change-Id: I0e01034f7b2eea57f5211ff0d8258d9f27d278f0 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* QtQuick: add runJavaScript.Pierre Rossi2014-02-193-1/+84
| | | | | | | | | | | Much like the widgets version. This should be helpful to start testing QWebChannel integration. Includes a very basic autotest that checks both approaches (with or without callback) through the view's title property. Change-Id: Id9c3e3736f36d53cecf1dd52e8811c4b921dcf08 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Build fix for public API testSzabolcs David2014-02-182-2/+3
| | | | | | | | Patch by Jocelyn Turcotte This fixes the inclusion of private headers. Change-Id: I490336ac30571bf292d88e2747102c75027b8dc6 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add public API test to Quick API.Szabolcs David2014-02-173-0/+223
| | | | | | | | | | | | This test checks the compatibility of WebEngineView and QtWebKit's WebView. (The differences are marked as expected failure.) The QQuickWebEngineNavigationRequest class has not been implemented yet. Change-Id: Ie03d605b06d141c6ca352ae1cd5c6a38f4c80039 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fixup QtQuick autotests with scene graph usagePierre Rossi2014-02-142-0/+7
| | | | | | Change-Id: Ib49ac987af9fd6af32708048613fc5e6442bb73f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement QWebEnginePage::findTextJocelyn Turcotte2014-02-132-5/+40
| | | | | | | | | | | | | | | | | | | A few changes to the API: - Return the success result asynchronously. - FindWrapsAroundDocument and HighlightAllOccurrences are enabled by defaults and cannot be disabled. - Found text isn't updating the selection on the page like QtWebKit did, but triggers a separate state not available. A find count and current index could be exposed, but isn't in this case to keep the API delta lower. This also adds the possibility to pass bool results through the CallbackDirectory and add a new tst_QWebEnginePage::findTextResult test since the old test relied on the selection to be updated when the searched text is found. Change-Id: I8189b5aea8d832df183c6c1ae03e3f08198a9c45 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Implement QWebEnginePage::selectedTextJocelyn Turcotte2014-02-131-4/+4
| | | | | Change-Id: Idebde8da0befbea7ccc5942de1e09fcc61ce16d4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Adjust some widget auto test expectationsJocelyn Turcotte2014-02-122-1/+15
| | | | | | | | | | More need to be adjusted, but this is a first step. Also move the QSKIP form tst_QWebEngineFrame::loadInSignalHandlers to its _data method to avoid seeing the skip message for every entry. Change-Id: If8d17fd992cb12a4a35cf036f80431e0cab3bb2f Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix flakiness in tests related to load signals being received while spinning ↵Jocelyn Turcotte2014-02-121-25/+24
| | | | | | | | | | | | | | | the event loop Since our sync wrappers spin an event loop, tests that assuming that load signals would only be triggered in the next waitForSignal can fail. Replace ::waitForSignal calls with QTRY_COMPARE/VERIFY on the QSignalSpy::count() instead to support the case where the signal was already emitted before starting the wait. Change-Id: I18246dc643a5280ebfd0b5099af10b10cf6845fe Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Add the Sync suffix to testing sync wrapperJocelyn Turcotte2014-02-124-15/+15
| | | | | Change-Id: I0c6594a9758edc97f658717388c20f9e79be0f70 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Implement QWebEnginePage::requestedUrlJocelyn Turcotte2014-02-121-26/+2
| | | | | Change-Id: I6accd8fd40ad72041770439aa6a7aa59ba904418 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix tst_QWebEngineFrame::baseUrlJocelyn Turcotte2014-02-122-17/+22
| | | | | | | | | | | Update tests to check that we can keep the same functionality by querying document.baseURI through runJavaScript instead of implementing QWebEnginePage::baseUrl. This also removes QWebEnginePage::baseUrl from the header. Change-Id: I549e57d3986e22986438f8a23e469bbd220633b7 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Implement loadHtml function for QQuickWebEngineViewSzabolcs David2014-02-112-0/+62
| | | | | | | | Implement unreachableUrl support for WebContentsAdapter::setContent and add loadProgressAfterLoadHtml QML test case. Change-Id: I2d0d7834cbbf8f508de4fa9cb72240f2ac6ebf83 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Quick: Support reparentingArvid Nilsson2014-01-311-6/+0
| | | | | | | | | | | | | | | | | To support reparenting, we make the compositing surface independent of the window by using gfx::TEXTURE_TRANSPORT. We also need to be able to keep frame data across window changes so we can reconstruct the QSGNode tree in a new context, so extract that data into DelegatedFrameNodeData class. Any context-specific data is still stored in DelegatedFrameNode. Also hook up window changes to WebContents::WasShown/Hidden for Quick. Remove checking of Qt isVisible state, this mechanism is used to sync Chromium with Qt, not the other way around. WasShown/Hidden is orthogonal to Show/Hide, and can use different triggers. However for Widgets it probably makes sense to hook both up to widget visibility. Change-Id: I1ef4b50cd61b8e54b791e03f0b41929c42fec8bf Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Disable test discovery from the build systemJocelyn Turcotte2014-01-312-2/+6
| | | | | | | | | | CONFIG += testcase enables make check and the CI test planner to find and execute tests. Since our tests aren't 100% passing yet, disable them for now. Change-Id: I0dbafa7f6d6176979b28249b0642905611d791c2 Reviewed-by: Arvid Nilsson <anilsson@blackberry.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Make the QWebEngineFrame tests passPierre Rossi2014-01-301-22/+24
| | | | | | | | | The unskipped ones that is. This highlights some behavior changes, notably the fact that loadFinished now fires as many times as there were loads initiated. Change-Id: I75665cdf06f4692fbeccb5227aa056e598038748 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* WebPage: Implement javaScriptConsoleMessagePierre Rossi2014-01-301-5/+3
| | | | | | | And unskip the corresponding autotest. Change-Id: Ida2dcee38b261b2ba4ad0c5c016f5510ed1590a4 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix tst_QWebEnginePage's use of evaluateJavaScriptPierre Rossi2014-01-302-129/+128
| | | | | | | Mostly speculative autotest adjustments due to lacking features Change-Id: I5b0cfa8fb586ae4531327c21d03b064d9c307d06 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add loadIgnoreEmptyUrl test case to loadUrl QML test.Szabolcs David2014-01-281-0/+50
| | | | | Change-Id: I56c78aa7e60194888123d372c6dbbb60624856c5 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add loadUrl QML test with stopStatus test case.Szabolcs David2014-01-282-0/+72
| | | | | | | Fix the webEngineView.stop() function in the WebContentsAdapter. Change-Id: I82c5000fb3cbc5aff59dd0c4c7c86ca7755a6329 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Get rid of tr1/functionalJocelyn Turcotte2014-01-272-15/+19
| | | | | | | | | | This header requires rtti in libstdc++ on Mac, which we can't recommend since Qt itself is usually built without rtti. Replace its uses with simpler hand-made template functors. Change-Id: Ic020dcceaf262f77d92b31a8318a513fa200428d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Add properties QML test.Szabolcs David2014-01-272-0/+68
| | | | | Change-Id: I55fcbd7958f6dbc51c119133ee631fc2ccad1152 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add loadProgressSignal QML test.Szabolcs David2014-01-242-0/+74
| | | | | Change-Id: I785bbcd81061228d437fd7334809c9b85ab18f38 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add loadProgress QML test.Szabolcs David2014-01-243-0/+70
| | | | | Change-Id: I3989f114520900246fa78f7f6bb6068be398ee63 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Clear callbacks with an empty value on page destructionJocelyn Turcotte2014-01-222-3/+28
| | | | | | | | | | | | | | | The current implementation offers no way to cancel async requests. This means that normal applications could easily allow callbacks to dereference a destroyed object unless they use a smart pointer within the callback function object. This patch will empty the pending callback list by calling each of them with an empty value. This will at least allow applications to cover the cases where the page is expected to have a shorter or equal lifetime than objects referenced in the callback. Change-Id: Ia9fc556b03f5d83f904a0ff4b05dc9e440ea488c Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Unskip and ajust tests using setHtml, setContent, toHtml and toPlainTextJocelyn Turcotte2014-01-225-60/+79
| | | | | | | | | | Replace direct calls of toHtml and toPlainText to use a blocking helper function that spins a QEventLoop to wait for the async result. This should work fine for tests where the event loop is less polluted by other events that could cause code reentrancy through stacked stacks. Change-Id: Ic46a06a9abad782a39a620ceecdc51c3bbb6b5a1 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Make tst_QWebEngineFrame compileJocelyn Turcotte2014-01-222-273/+388
| | | | | | | | Even though this code now test QWebEnginePage, keep it in its original file to allow easier tracking of differences with QtWebkit. Change-Id: Id001c2fcba0ee4a756fe5f32d8002e15368a191b Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Implement QWebEnginePage::toHtml and toPlainTextJocelyn Turcotte2014-01-221-0/+7
| | | | | | | | | | | | | | | | Those methods are now made asynchronous and need to be given a callback to handle the result. Update the code in the browser and fancybrowser examples using std::bind when using C++11 or tr1::bind with C++03 (which should be available with compilers on platforms that we support). Add a (currently failing) earlyToHtml test to make sure that an empty page doesn't crash because of a possibly incomplete attachment of the QtRenderViewObserver. Change-Id: I3ab7cb6f25b91b584dd80df5e4e9ad1e3214348e Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Add QML test framework and titleChanged test caseAdam Kallai2014-01-207-0/+323
| | | | | | | Change-Id: Ie38ee02e485702d10d0c171f2168f2685c2de2a6 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix QWebEngineView to page reattachment.Jocelyn Turcotte2014-01-171-0/+23
| | | | | | | | This fixes the crash in tst_QWebEngineView::reusePage. Also add a test to check the case where show() would react incorrectly. Change-Id: I40247c7c225d74b26675b6a7fa5ff1f06d3bb3e6 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Moving sources to src part 2: Adjust paths.Jocelyn Turcotte2013-11-282-6/+2
| | | | | | | | | | | | | | | | | | | NOTE: To build after this you should rerun init-repository.py or run $> git submodule sync $> git submodule update $> git config qtwebengine.chromiumsrcdir src/3rdparty This makes everything build by adjusting paths. Other mixed-in changes: - Rename qtwebengine_src variables in scripts to qtwebengine_root to avoid confusion. - Cleanup the release and debug extra targets that were in lib.pro. This file has also been split into src.pro and core.pro. Change-Id: Ieee9158a65f526b15244eaca59e779b7069d337e Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix the build with Qt 5.1Andras Becsi2013-11-261-1/+2
| | | | | | | | We are still able to build with Qt 5.1 if we disable the hardware acceleration codepaths. Change-Id: Ic748dac0a7f25bbd79f2f711a18431872cebd917 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Remove the need for application to set an RPATH.Jocelyn Turcotte2013-11-182-2/+2
| | | | | | | | | | | | | The WebEngineWidgets module and the WebEngine QtQuick plugin libraries already have the RPATH set properly in their headers and the application won't need to link any symbol directly to the Core library. Remove the RPATH directive for examples and tests and fix the build issue by making sure that the link directive isn't passed to dependencies through the prl or pkgconfig file. Change-Id: Id1f5efb8c9823613e804e8e6356d711d561d72ec Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add some QQuickWebView graphics stack tests.Jocelyn Turcotte2013-11-156-1/+233
| | | | | | | | | | | This does basic sanity testing of the graphics stack for both the hardware accelerated and software codepaths. This also adds a required signal to report the CompositingSurface later on if the QWindow wasn't available yet when Chromium asked for it. Change-Id: I402ec5ade9114c78bea7960c5f0de989f54110e3 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Fixup Webkit bug linksPierre Rossi2013-11-131-14/+14
| | | | | | | There's no such thing as bugs.webengine.org ;) Change-Id: Ie8ac6a6a0a4e6b23580084d36f334e2fd1cb25fb Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Use explicit dependencies to specify build orderAndras Becsi2013-10-251-3/+3
| | | | | | | Explicit dependencies make proper parallel builds possible. Change-Id: I71f7d7fbee1244490dfcb040bb4145ab74d5c416 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Build fix for the Widgets tests can be running by make check.Adam Kallai2013-10-162-0/+7
| | | | | Change-Id: Ic5ec80679f19235f441108e99e06d489ff2cabc3 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Turn on to run all widgets tests by make check. Move widgets test to tests/auto.Adam Kallai2013-10-1447-0/+1
| | | | | | Change-Id: If3617d86ea44f665a44a54b6ba57935b69220a9e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement window creation through QWebEnginePage::createWindow.Jocelyn Turcotte2013-09-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This makes the necessary changes to handle WebContentsDelegateQt::AddNewContents and funnel the callback through createWindow in QWebEnginePage and QWebEngineView. - Expose the AddNewContents callback through WebContentsAdapterClient - Allow creating a WebContentsAdapter attached only on the Chromium side, leaving the choice to QWebEnginePage to either adopt it and call WebContentsAdapter::initialize to attach itself as the client, or destroy it if the application isn't handling the call. - Delay the InitAsChild handling in RenderWidgetHostViewQt when it is called before an adapter client has been attached. - Since WebContentsAdapterClient::CreateRenderWidgetHostViewQtDelegate is only a factory method, not creating any link with the callee client, allow using the creating window's adapter client to create the RWHVQtDelegate. This allows an unparented delegate to be created instead of needing to add numerous null-checks in RWHVQt. Use content::WebContents::CreateParams::context for this purpose, which can be used both when creating a WebContents ourselves and when a new window's WebContents is created for us. Change-Id: I032262e867931dc40a7c2eca0c993027a555f56e Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix the linking of tst_qwebenginepage on MacAndras Becsi2013-08-231-0/+4
| | | | | | | | Skip Mac specific tst_QWebEnginePage::macCopyUnicodeToClipboard() which uses the unimplemented QWebEnginePage::setHtml. Change-Id: I39c2d0d7b61517646e1702ca4f1ac119daef1585 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Implement the basic parts of QWebEngineHistory.Jocelyn Turcotte2013-08-202-60/+37
| | | | | | | | | | | | | | Mark the remaining methods as not implemented to allow enabling most of the dependent code in the demo browser and in API tests. Add two new tests to cover cases that might be problematic with the index-based implementation. This also renames WebContentsAdapter::navigateHistory to navigateToOffset in order to avoid confusion with navigateToIndex. Change-Id: I7c5cb9f5f878e34206fdfe48334a2dc7d9d95a1d Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement QWebEnginePage::action for basic navigation.Jocelyn Turcotte2013-08-201-8/+0
| | | | | | | | This imports code from qwebpage.cpp and QWebPageAdapter.cpp of WebKit into qwebenginepage.cpp and thus also restrict the license accordingly. Change-Id: Ic5da8f2b469109cb10132cbe6585f2d941b14403 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* API tests: Make them link.Jocelyn Turcotte2013-08-207-16/+390
| | | | | | | | | Add the tests to the build. Very few of the test cases pass already, but this should allow to progress on the implementation while fixing/unskipping those tests. Change-Id: Id96d22748f8effad963232c2451fb8719d299fee Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* API tests: Make them compile with QtWebEngine.Jocelyn Turcotte2013-08-207-1011/+1002
| | | | | | | | | | | They still won't link since most methods aren't implemented yet. The changes to tst_qwebengineframe.cpp are mostly esthetic as those tests should be merged with tst_qwebenginepage.cpp once the implementation has progressed a bit further. Change-Id: If6627820069b51d7461d667716aafa6e250a684b Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Import relevant QtWebKit API tests.Jocelyn Turcotte2013-08-2046-0/+6487
This import the tests as-is, without adding them to the build. Change-Id: I8b8e11a9f62b2a8f2be299347d2621b10fb61f20 Reviewed-by: Andras Becsi <andras.becsi@digia.com>