summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Always disable tcmalloc.Zeno Albisser2014-03-112-8/+6
| | | | | | | | | | | | | | | We cannot enable tcmalloc as otherwise we would have to use it for all of Qt as well. If we allocate with tcmalloc and free without (or the other way round) this leads to errors. Specifically it led to something that looked like a double free corruption on embedded linux for an event that is created in qtwebengine code but deleted within Qt. Change-Id: Ia8c8da09e78968648046761e34f7f674769cfdc2 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix deployment of qtwebengine_locales with make installAndras Becsi2014-03-101-2/+2
| | | | | | | | | | The install_locales target silently fails when running make install with the message "install: omitting directory." Add all the translations to the files variable and set the path to $$[QT_INSTALL_TRANSLATIONS]/qtwebengine_locales. Change-Id: I375077982d9b3e2154cf90ae13142bb42a07e38d Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix QOpenGLContext scene graph declaration in the QtQuick autotestsAdam Kallai2014-03-101-3/+4
| | | | | Change-Id: Ia3e588bcdfd5c0dd094418fa77d5dc67b1e66b9c Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Do not use the system ninjaJocelyn Turcotte2014-03-071-14/+7
| | | | | | | | | | | | | | Always bootstrap and use the bundled ninja to avoid incompatibilities between our bundled gyp and the system ninja, which might be quite old. This patch also removes the ninja location caching, as updating the cache would trigger a re-run of qmake and gyp on all the project, while the benefit of using the cache in this case are low. Change-Id: I843cbe20e1153caecbda00ab3d45a34d560b2423 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu>
* Fix debug_and_release buildsJocelyn Turcotte2014-03-072-16/+27
| | | | | | | | | | | | | | | This makes sure that gyp_run.pro follows the same behavior as core_module.pro and that ninja is run for each config, in the appropriate directory. A special .NOTPARALLEL make fake target is added to avoid running ninja for both configurations in parallel (this would cause build failures). This target will be ignored by nmake, but might cause issues if trying to build with jom. Change-Id: Ibaa5f6aa4972cb24c83cc7a63e496938a5c16a3f Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Use the shadow build directory for the ninja outputJocelyn Turcotte2014-03-075-23/+14
| | | | | | | | | | | | The gyp/ninja build is moved from out/(Debug|Release) to src/core/(Debug|Release). The ninja build as well as generated gyp files and python intermediate files all stay in the source tree for the moment. Change-Id: I6948380c45896540fe508238ceef9fe48e41f5af Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Do not pass linking information from qmake to gyp and to qmake againJocelyn Turcotte2014-03-073-36/+6
| | | | | | | | | | | | | Instead make sure that the QT and QT_PRIVATE variables are identical in both core_gyp_generator.pro and core_module.pro, the former for compilation and the later for linking. This allows working around issues of qmake when handling -l switches in libs. Some features on Windows append version numbers, while this is not done when linking to Qt libraries via the QT variable. Change-Id: I04b58a313335daeffc9510471553517c63908852 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Deploy QtWebEngineCore as a Qt moduleJocelyn Turcotte2014-03-0710-62/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This delegates the linking step from ninja to qmake so that we can let qmake decide the destination of the target itself, easing the deployment and installation logic across platforms. The module is only deployed as a binary and no header are available outside of the source tree. This is only to make sure that the dependence of the QtWebEngine and QtWebEngineWidgets libraries on it is resolved at runtime exactly the same way as with other Qt modules, on all platforms. Ninja still takes care of the compilation and gyp lets qmake know how and what to link by dumping the list of flags and input files in a generated .pri file. This has to be done in a separate .pro file so that we can make sure that ninja is run inconditionally before make reaches the dependency check in core_module.pro, ensured by the parent Makefile. Note 1: This patch removes RPATH hacks that are no longer necessary Note 2: Other targets like ffmpegsumo are still linked by ninja. The same logic could be moved to a qmake file but this require some more work to make sure that some switches (e.g. -stdlib=libc++) are coordinated between gyp and qmake. Change-Id: If65968547bde5b9cf732e31e97931c17ae1921a7 Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix forced exit from fullscreen and reload action in quicknanobrowserAndras Becsi2014-03-061-3/+6
| | | | | | | | The tabs.currentView property was probably removed in some earlier change and is undefined, use the currentWebView property instead. Change-Id: I0fc31b0cc7191f2ed2f57c27306387f062cff2e1 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Corrections for libvpx patchZoltan Arvai2014-03-052-5/+2
| | | | | | | Replace hash with zeros and add patch to update-patches script. Change-Id: I9cd7aa557d7951d5b749037c627095e525dbc924 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Override path for perl, bison and gperf on WindowsZoltan Arvai2014-03-052-0/+29
| | | | | | | | Use these dependencies from environment. No need to include them in the snapshot. Change-Id: I81623cc15e8c1e9431c5569985c90a4fbac638e7 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add comman line switches needed for embedded AndroidAndras Becsi2014-03-041-4/+22
| | | | | Change-Id: I870952054a11ec531e2d2a85ea1331cc67a5b8f3 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add opacity control to video texture streamingMansoor Chishtie2014-03-041-3/+8
| | | | | | | | | Modified fragment shader of StreamVideoMaterialShader class to support alpha. Added m_id_opacity member to the class and update it with state.opacity. Change-Id: I92173fac84c48862fb92f3a6338acf8c9bf91bc1 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add Qt clipboard integrationJocelyn Turcotte2014-03-046-0/+487
| | | | | | | | | | | | The GTK clipboard integration isn't working for us and we need a way to get clipboard requests from the renderer into the system clipboard. This patch adds a Qt implementation to let Qt handle the platform abstraction, even though the Chromium clipboard direct integration could work on some platforms. Change-Id: Ie7af5c6b4c662fc8f4109b2e85e9f594d6d90b0d Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Add HTTP and proxy authentication signals directly to QWebEnginePageJocelyn Turcotte2014-02-2815-59/+304
| | | | | | | | | | | | | | | | | | This allows handling calls that would be signaled by QNetworkAccessManager in QtWebKit. This pulls QtNetwork as a dependency of the QtWebEngineWidgets module to be able to use QAuthenticator, but isn't required otherwise. Only the request URL is available in the case of HTTP authentication (no access to HTTP request headers that the QNetworkReply would allow) and only the proxy host name in the case case of proxy authentication. This keeps the API synchronous the same way, as QtWebKit did, in favor of source compatibility at the cost of requiring a modal dialog, even though the implementation doesn't require it. Change-Id: I9e021def38e6107c9e66d2de8f86bd0328d543df Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Extend search path in libvpx to enable build with QtWebEngineZoltan Arvai2014-02-283-0/+40
| | | | | | | Paths are paritally hardcoded for Windows in libvpx. Change-Id: Ic1c537bcc8b988c9803326709e38f44cb0943ee3 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix missing include in DxDiagNodeZoltan Arvai2014-02-281-2/+4
| | | | | | | DxDiagNode needs build_config.h when using OS_WIN guard. Change-Id: I15e2b115bf41cd648dafecb362d81f0b8722d485 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* GRIT should use unix file paths as dictionary keys on WindowsZoltan Arvai2014-02-281-1/+2
| | | | | | | | | | | | GRIT uses filename strings as keys in its dictionary so generated filenames must be exactly the same strings as they are defined in .grd files. GRIT expects forward slashes as path separator and also .grd files are containing forward slashes. Similar conversion used in the else section of the outer if statement in the same function. Change-Id: I81bbf2e15e7aaefb52176405990d49457fce1589 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Handle CheckerboardDrawQuads in DelegatedFrameNodeAndras Becsi2014-02-261-1/+12
| | | | | Change-Id: I66541842650af4a2cc50cd0443eacde510df566f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Don't try to build examples if RPATH isn't availableJocelyn Turcotte2014-02-261-4/+8
| | | | | | | | | | | QMAKE_LFLAGS_RPATH is stripped from the mkspecs in official Arch Linux Qt packages. Don't force building examples in this case to allow qtwebengine to build using the system Qt with a straight qmake;make. Change-Id: Id406d55d34c0d313d69ba9f689f8f24f33038824 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fixing QQuickWebEngineView.loadingChanged public API test caseAdam Kallai2014-02-255-15/+15
| | | | | | | | | 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>
* Video texture streaming support via external EGLImage texturesMansoor Chishtie2014-02-254-2/+246
| | | | | | | | | | | | Created new StreamVideoNode & StreamVideoMaterial classes for QSG renderer. These classes duplicate the logic of chromium's direct renderer GLRenderer::DrawStreamVideoQuad. Added support for new DrawQuad material in DelegatedFrameNode. Added support for external textures in MailboxTexture. Change-Id: If569b07dfef985f9833de7e64eeb3f952026bca4 Reviewed-by: Arvid Nilsson <anilsson@blackberry.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix unused variable suppression on WindowsZoltan Arvai2014-02-241-4/+4
| | | | | | | | | MSVC fails with undefined type error when an argument passed by reference but suppressed as normal variable. Change-Id: I93a89aea4fae5f820c9ab0d1222d63b01ca3ed3c Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement QWebEnginePage::viewportSizeJocelyn Turcotte2014-02-216-10/+24
| | | | | | | | | | Keep the size in the page itself, and ask the optionally attached QWebEngineView only for the rect position. When the view size change, call setViewportSize on the page like QtWebKit does. Change-Id: I735f1509cab9ef9b5d32bf31249a59c919939804 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Do not disable RTTI for module librariesJocelyn Turcotte2014-02-211-5/+0
| | | | | | | | | | This would prevent QWebEnginePage to be subclassed in applications built with RTTI enabled. We don't need this anymore since all classes inherited from exported core classes are pure virtual and completely defined in their header. Change-Id: I4ce19f893626e9bcb5cd4b11b7264e43ddcbac31 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement QInputMethodEvent::Attribute translation and compositionAndras Becsi2014-02-211-8/+55
| | | | | | | | | | | Translate QInputMethodEvent::Attribute list to WebCompositionUnderline when processing input method events, and implement ImeCancelComposition to fix input method handling with the Qt Virtual Keyboard technology preview. Change-Id: Id06db3d04066841093ed90cabd659def3cb3b73c Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Keep the selection when done searching to match Chromium's behaviorJocelyn Turcotte2014-02-211-1/+1
| | | | | | | | | This basically transforms the "search selection" into normal selected text when findText(QString()) is called and allow pressing enter to trigger links, etc. Change-Id: I590dfddef174d3ebf2f36453b5f44e692bf5f827 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add the Mac debug build fix to patch filesJocelyn Turcotte2014-02-212-3/+45
| | | | | | | | Put it together with the change that enabled the build of event.cc. Also update the 3rdparty submodule. Change-Id: I98bea50d053a108e765c890e55f3886fea5f4e93 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix a crash when using the history on an adopted pageJocelyn Turcotte2014-02-201-0/+1
| | | | | | | | We also need to update the WebContentsAdapter pointer in QWebEngineHistoryPrivate. Change-Id: I8251e9834b179747b6b65630cf4ced5c2b1af27f Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the Mac build with a -no-framework QtJocelyn Turcotte2014-02-201-1/+1
| | | | | | | | | | If QMAKE_FRAMEWORKPATH is empty, this would add an empty entry to the list and would end up with a -F with no argument added to the clang command line. This would fail the build since the next switch would be eaten by the -F. Change-Id: I42657e781278fd56d6664a42fb4222eb83b3cd73 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Implement basic editing actions for QWebEnginePageJocelyn Turcotte2014-02-203-1/+93
| | | | | Change-Id: I1b58d2b2e86f60e296ae48095ed8d5e8172e0d1e Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Cancel ongoing "fling" animations on tap-downAndras Becsi2014-02-191-4/+20
| | | | | | | | Synthesize WebGestureEvent::GestureFlingCancel on if we receive a WebGestureEvent::GestureTapDown to stop the ongoing scroll animation. Change-Id: I5b500ebbde815a54a466736492c2b5781f5ef91e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* QtQuick: add runJavaScript.Pierre Rossi2014-02-195-4/+106
| | | | | | | | | | | 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>
* Add project's directory to includepath on WindowsZoltan Arvai2014-02-194-4/+4
| | | | | | | | | Unlike other OSes, project's directory is not included by default to includepath on Windows. This would cause missing file errors while building. Change-Id: I64b83e13adaae1ee1730caebcf7442973b573c3b Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix filename in core_gyp_generator.pro's makefile on WindowsZoltan Arvai2014-02-191-0/+1
| | | | | | | | | | | Do not add version to end of filename by Qt5/mkspecs/features/resolve_target.prf, otherwise nmake install won't find it. Other projects already have skip_target_version_ext in they CONFIG. None of the Qt libraries has version in they filename on Windows. Change-Id: Ifc56a12b9312e7cefe26f5d19e1d1769e73298f6 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Build fix for public API testSzabolcs David2014-02-184-4/+4
| | | | | | | | 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>
* Avoid locking up the web view when starting a dragJocelyn Turcotte2014-02-142-0/+13
| | | | | | | | | | | We currently don't have an implementation for drag and drop and we need to explicitly call SystemDragEnded to avoid leaving the render process in an inconsisten state. See http://crbug.com/157134 Change-Id: I52220602d4e4832d11ef601589a588c91bb81285 Reviewed-by: Andras Becsi <andras.becsi@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>
* Make Qt 5.2 a minimum requirementPierre Rossi2014-02-1411-33/+2
| | | | | | | | Cleanup version ifdefs and v8-private dependencies. Change-Id: Iac393c06dfba02499e60d713d9f4d04ef0c9e617 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix title getter in WebContentsAdapterPierre Rossi2014-02-131-2/+1
| | | | | | | | Using GetTitle directly seems more reliable than going through the navigation controller. Change-Id: I0529a92295de063c6cea3371cdb9c44602950e9a Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix path service assertionsAndras Becsi2014-02-135-27/+21
| | | | | | | | | | | | | Registering a path provider did not turn out to be a clean enough solution for overriding chromium paths because of debug assertions that require the key range not to collide with already registered path providers. Instead of patching chromium or using workarounds switch back to using PathService::Override and only replace the jni-based default PathProviderAndroid on embedded android. Change-Id: I4530bc8fa3eba36c0d2403729be9a792f3c2120f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update the 3rdparty submoduleJocelyn Turcotte2014-02-133-0/+58
| | | | | | | Also add the matching patch files. Change-Id: I7c9e2ace4070cb1bcbe43286e9d1ad207b389eb6 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement QWebEnginePage::findTextJocelyn Turcotte2014-02-1315-21/+146
| | | | | | | | | | | | | | | | | | | 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-1310-4/+51
| | | | | Change-Id: Idebde8da0befbea7ccc5942de1e09fcc61ce16d4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Update the invoke wrapper to allow bool argumentsJocelyn Turcotte2014-02-132-6/+6
| | | | | | | | Forcing that arguments to be const references isn't necessary and prevents base types to be passed by value. Change-Id: I53ace8cf731ecaeee0b997af72d37843ef54e38f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Refactor the way callbacks are storedJocelyn Turcotte2014-02-132-22/+120
| | | | | | | | | | | | | | | | With the upcoming addition of a new type of callback result, this patch allows storing multiple callback types in the same QHash instead or requiring a different hash table just to please the type system. This does so by managing the ref-counted callback pointers directly instead of relying on a templated QExplicitlySharedDataPointer that requires a different type for each different callback pointer type. The ref-counting, construction and destruction is managed through a run-time type enum. Change-Id: I90ab2e1efc0c9703fc5b6ef57b38204ac8eea828 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Move the requestID argument before the resultJocelyn Turcotte2014-02-139-27/+27
| | | | | | | | | | This tries to get the order of declaration to be consistent. It also follows the order used by Chromium in some places where the routing_id usually comes first, then the request_id and then the result of the asynchronous request. Change-Id: I88e164dee67e1631161a222f7dd7a4679c3d3acd Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix a warning in QWebEnginePage::setHtmlJocelyn Turcotte2014-02-131-1/+0
| | | | | Change-Id: I87c18edb89658433d6dc3487ab92d2ff7bd6c986 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* QQuickWebEngineView new window API refactoringJocelyn Turcotte2014-02-138-101/+215
| | | | | | | | | | | | | | | | | | | | Improve the code and API in a few ways: - Expose a more discoverable "request" argument in the signal. - Use the request as the carrier of the backend WebContentsAdapter and get rid of our handle. - Put the adoption method (renamed to openIn) on the request object and keep the view API clean of a context-specific adoptHandle method. - Use an enum instead of strings for the new view destination. - Do not let JavaScript own the request object since it won't be necessary until we want to support asynchronous view attachment. We can create the request object on the heap and let the JavaScript engine own the object once we want to support it. - Move the request class to its own header. - Replace tabs.currentView by currentWebView in the quicknanobrowser qml code since we now need this property on the root object anyway. Change-Id: I40d7d15255f516ead9f3e414dd587bf345e6ca4b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>