summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert part of the RenderWidgetHostViewQtDelegate refactoringJocelyn Turcotte2014-04-087-4/+22
| | | | | | | | | | | This reverts parts of commit 9c198939be1ef064d1a2430a4b9991f2fe16f359. This does keeps the popup fixes and removes support for QWebEnginePage::setViewportSize and QWebEnginePage::render until we can evaluate the needs vs the cost of such feature. Change-Id: I1b55b751d463717b1462393ea8cd353422f8fdbb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Add Chrome version to our user agent stringPierre Rossi2014-04-022-1/+11
| | | | | | | | Some websites still rely on user agent strings to detect available features in 2014 apparently. Change-Id: If7240be15d6bfb24618bea0d45ed8dc0d7392af4 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix iconChanged signal and add favIconLoad QML testSzabolcs David2014-04-011-3/+20
| | | | | | | | | | If WebContentsDelegateQt::DidUpdateFaviconURL was not called after a page load, we need to reset the favicon URL. We can use the navigation entries to store favicon related information. Change-Id: I7bcfbd46c176fabce319eba32c379a293f8ebba6 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Add the base qualifier where base::string16 is usedArvid Nilsson2014-04-016-14/+14
| | | | | | | | | Be explicit about this since the "using base::string16" statement will be going away eventually. Change-Id: I292928345eec746bea04e15a3f25e46193704463 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update clipboard selection when selection changesAllan Sandfeld Jensen2014-03-311-0/+9
| | | | | | | | Update the selection when selection changes similar to what is done by Gtk and Aura RenderWidgetHostView's. Change-Id: I92ddd2925c6401693b001baf9ff9f5858c9c504b Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Easily enable proprietary codecsPierre Rossi2014-03-311-0/+2
| | | | | | | | | | | | | | | While we can't ship this by default in our binary packages in the future, it would be nice for users who can afford it to easily build with support for h264 among others. And for our private use, that means we can now watch videos from Vimeo. This simply requires passing WEBENGINE_CONFIG+=proprietary_codecs to qmake when building. Change-Id: Ib2274a7cfd053aaa3d38ac18e360310691e11534 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Centralize OpenGL initializationSimon Hausmann2014-03-311-1/+3
| | | | | | | | | | We now require the user to use QWebEngine::initialize() in main (preferably) and print out an error message if this wasn't set up accordingly. This limits the use of private scene graph API to inside QWebEngine and offers public API for users of the API. Change-Id: I787c176a85ab7784dbc8787d9876960b4872959e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Implement QWebEngineHistoryItem::lastVisitedJocelyn Turcotte2014-03-313-0/+15
| | | | | | Change-Id: I105cb2a0a2479b146e2ab68db6d194ac2ac2d3f9 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Implement QWebEngineHistory serializationJocelyn Turcotte2014-03-312-8/+166
| | | | | | | | | | | | | | This does uses logic taken from Chromium's state save and restore code. The history version is incremented from the same method in QtWebKit in cases where the application would try loading a stream from a previous version using QtWebKit. In all cases where Chromium does a restore of a serialized history, it does so on a fresh WebContents instance, thus we must do the same and some of the initialization code has to be updated. Change-Id: I45abb052073bd44c9cb47bc2abcf4b558fe3dbbd Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix QtWebEngineProcess name on WindowsZoltan Arvai2014-03-311-0/+5
| | | | | | | | QtWebEngineProcess has an exe extension that need to be added to processPath. Change-Id: I2ab1691f7af35c76bf693046396b5464e0f2dde2 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add SurfaceFactoryQt and OzonePlatformEglfs.Zeno Albisser2014-03-316-2/+327
| | | | | | | | | | | | | | | | | | | SurfaceFactoryQt::loadEGLGLES2Bindings is needed to find and load EGL and GLES2 libraries on embedded linux. It also provides a function to query the native display. We are using qmake variables at compile time to detect where we should look for the libraries at runtime. For EGLFS we query the native display through PlatformNativeInterface. If the resource is not exposed by Qt (pre 5.4), then we assume EGL_DEFAULT_DISPLAY, which is the right parameter for close to 100% of the cases anyway. OzonePlatformEglfs is just boiler plate code. Change-Id: I3ad08a56c50d6160be653ffb168b3f1f791e5245 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add more options for gyp on WindowsZoltan Arvai2014-03-281-0/+8
| | | | | | | | Turning off gyp's parallel processing that broken on Windows. Disable nacl, remoting and ash. Change-Id: If695799f94111135fcdf4130180e998d0094055d Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Override OPENSSLDIR for embedded linux.Zeno Albisser2014-03-281-14/+16
| | | | | | | | | | | Boot2Qt will ship openssl configuration and ca certificates in /usr/lib/ssl. At runtime the environment variable SSL_CERT_DIR can be used to override the location for certificates. Change-Id: Ib5a55f0ff6874e497b3ca9163e4a11f3a1805de0 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add overrides to RenderWidgetHostViewQt on WindowsZoltan Arvai2014-03-281-0/+5
| | | | | | | | More overrides for not yet implemented methods after snapshot update. Change-Id: I2fb7c7a4c7ae2094ccf0d791a75d268fc03f1602 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Force disable libstdc++ debug modeAndras Becsi2014-03-281-0/+2
| | | | | | | | | This reduces the debug library size by about 20% which should make it possible again to successfully link on the CI. Change-Id: Id0ced6b821032eb49a8e34aff81a7e1648a3dfff Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Introduce platform specific pri files for all platforms.Zeno Albisser2014-03-287-27/+76
| | | | | | | | Define qt_os for all supported platforms. Move simple platform specific flags into the pri files. Change-Id: I09b030f4a8a815f48a8100d81669a7729218efc2 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Get rid of GTK dependenciesAndras Becsi2014-03-289-43/+130
| | | | | | | | | | Build with aura by default and remove GTK related code. This patch introduces a mechanism for setting gyp build configuration variables using a GYP_CONFIG and adds a desktop_linux.pri configuration for this target. Change-Id: I6b044ba52ebb20c187572669af94a6fc280b0412 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Adapt to API changes in new stable branch 1750Andras Becsi2014-03-2819-161/+216
| | | | | | Change-Id: If0cc263f36d396fd505c1d8b026e2493bfc29cc4 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Remove WebContentsView::SetPageTitle functionAdam Kallai2014-03-272-6/+1
| | | | | | | | | The titleChanged signal is emitted in WebContentsDelegateQt::NavigationStateChanged so We do not need to send this signal in SetPageTitle function any more. Change-Id: Id9a7efa59caae7aa99a82e840061adb7c5e8832b Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Remove wrong library path that is reported by icu-config.Zeno Albisser2014-03-251-1/+1
| | | | | | | | | icu-config reports the path to icu resources on the host so we need to remove this path again, when compiling for an embedded target. Change-Id: Ifaf1c07ad3d0a8794a109b253764834ea3ff6ddc Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add qt_os embedded_linux for platform specific configuration.Zeno Albisser2014-03-252-6/+15
| | | | | | Change-Id: I2c7878b0f5a84bc299d6c033a69e1f2f904168f3 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix a missing titleChanged signal on navigationJocelyn Turcotte2014-03-241-0/+2
| | | | | | | | | | | WebContentsView::SetPageTitle is only called when the Blink page updated its title. For navigations we have to listen for NavigationStateChanged. Also update the history test to check this case. Change-Id: Ia89c61b32913d647a63b2fb9a4cdf3f6867c4f0c Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Base load signals on Blink loader eventsJocelyn Turcotte2014-03-213-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | This mainly remove the use of the LoadingStateChanged callback, which is tied to DidStartLoading and DidStopLoading. Those signals are handled from the browser process side, also wrapping the time where the render process is initialized. We can't rely on those signals for loadStarted, but afterward rely on the Blink loader for loadFinished. We must use the same source for both. Instead only rely on Blink callbacks ultimately related to network events. This gives us a behavior closer to QtWebKit. The major compromise that this forces us to to accept is that loadStarted is now triggered asynchronously. This will basically break anything expecting loadStarted to be emitted synchronously from the load method. This also adjust autotests to get a few more passing. Initial-patch-by: Pierre Rossi <pierre.rossi@digia.com> Change-Id: Ib6c0170df891d1b7f8ed4dc1d483985523e267dc Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix the HighDPI rendering of QQuickWebEngineViewJocelyn Turcotte2014-03-203-2/+12
| | | | | | | | | | | | | Use the ratio given with the compositor frame instead of taking it directly from the QWindow to make sure that we scale according to the rasterizing of the tiles. Set the scale directly on the DelegatedFrameNode by making it a QSGTransformNode to avoid creating an extra QSGNode. Change-Id: I95bd33c7c6d26e0d456d6df188779dc4e82f9d3b Reviewed-by: Arvid Nilsson <anilsson@blackberry.com> 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>
* Tooltip support.Pierre Rossi2014-03-143-4/+5
| | | | | | | | | | 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-141-0/+2
| | | | | | | | 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>
* Always disable tcmalloc.Zeno Albisser2014-03-111-6/+0
| | | | | | | | | | | | | | | 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 debug_and_release buildsJocelyn Turcotte2014-03-071-14/+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-073-7/+7
| | | | | | | | | | | | 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-072-3/+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-074-19/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Override path for perl, bison and gperf on WindowsZoltan Arvai2014-03-051-0/+3
| | | | | | | | 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-044-0/+443
| | | | | | | | | | | | 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-286-1/+224
| | | | | | | | | | | | | | | | | | 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-281-0/+6
| | | | | | | Paths are paritally hardcoded for Windows in libvpx. Change-Id: Ic1c537bcc8b988c9803326709e38f44cb0943ee3 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>
* 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 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>
* Implement basic editing actions for QWebEnginePageJocelyn Turcotte2014-02-202-0/+50
| | | | | 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>
* 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>
* 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>
* Make Qt 5.2 a minimum requirementPierre Rossi2014-02-145-15/+0
| | | | | | | | 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>