summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update .gitignoreJocelyn Turcotte2014-03-191-15/+18
| | | | | | | | | | | | Adapt to the move of out/(Debug|Release) to src/core/(Debug|Release) This also changes individual tests binary rules into a tst_* rule and a negating tst_*.* to unmatched non target binaries. Move more general file globs at the end of the list so that the negation doesn't also negate those general rules (e.g. *.o). Change-Id: Ie953da6cf255adfee7d4b04e91a6528558918ebc Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fork the quicknanobrowser as tests/quicktestbrowserJocelyn Turcotte2014-03-1913-69/+543
| | | | | | | | | | | | | | This also removed experimental API uses from the quicknanobrowser example, which should be used mainly for documentation purposes. The quicktestbrowser should be the one that we use from now on as a raw testbed of new APIs. As with other targets in the tests directory, it will only be built by default if Qt is configured with -developer-build (and without -nomake tests). Change-Id: Ib4461c898cd3227bbb810493daac4d841d0d8f3e Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Uncomment the binary install of the fancybrowser exampleJocelyn Turcotte2014-03-191-2/+2
| | | | | | | | Its sources are going to be installed and the binary should end up at the same place. Change-Id: Iad7c732ba9f49cb0f02eb2c10b797298034ef38d Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Rename example directories to match the source install destinationJocelyn Turcotte2014-03-1989-6/+6
| | | | | | | | | | | | | To match other modules example directory structures we should deploy our examples in a directory matching the module name, webengine and webenginewidgets in our case. qmake uses the relative directory of each example up to the upper "examples" directory to decide where they will be deployed when running the sources install target. Change-Id: I59ce7ff8a30f98fad20064c7eecf72b784f1d275 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Remove the widgetsnanobrowser exampleJocelyn Turcotte2014-03-1914-279/+10
| | | | | | | | | This example hasn't been touched since we imported QtWebKit examples. If we need to have a more test-purpose widgets browser in the future, we can dig it back from the history. Change-Id: Icee9bd7f09827a97b33c6783b87311e331d963b1 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix the Mac build when using the Qt SDKAndras Becsi2014-03-181-0/+3
| | | | | | | | | To fix the build of the core library override Qt's default minimum target version of 10.6 because we need to use libc++ for chromium which is only available from 10.7. Change-Id: I8896c4741d1c9b7bfe6b1c045704aeb2d5affd17 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* UI: fix a crash on shutdownPierre Rossi2014-03-142-10/+13
| | | | | | | | | | Use a raw pointer instead of QScopedPointer for the UI components. Since the components are always parented to the view and deleted through the QObject cleanup mechanism, it was not correct to use QScopedPointer in the first place. Change-Id: I0c8fd9526e898439c52c6a6f538a66f8a1185ef9 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Tooltip support.Pierre Rossi2014-03-149-6/+26
| | | | | | | | | | Basic tooltip support for widgets relying on the existing QToolTip mechanism. Left unimplemented on the Qt Quick side for now since ToolTip support is still very much a work in progress there. Change-Id: Ia4bfd715a224e0cbc147c8860e131d1545cebe1e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix clipboard build on WindowsZoltan Arvai2014-03-142-3/+14
| | | | | | | | Add missing guard to clipboard.h. Exclude unneeded Windows specific source files from build. Change-Id: I40fbea35dc1721ddf4e9c184515d57428a7ffe4d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix focus in Quick APISzabolcs David2014-03-133-11/+17
| | | | | | | | | | | | | | | The forceActiveFocus() doesn't work in the QML tests. We need to call forceActiveFocus() in RenderWidgetHostViewQtDelegateQuick instead of the one in WebEngineView. To make this work, I replaced RWHV with QQuickWebEngineView in the focus chain. This is necessary in order to extend tst_loadUrl QML test with urlProperty test case. Change-Id: Ifba0c824a7ce9f00d328110233402d3563f967aa Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* 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>