summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash when accessibility is disabledAllan Sandfeld Jensen2017-06-232-2/+1
| | | | | | | | | | | | | With the no-accessibility feature moved to qtgui-config, we don't always include it where web_content_apapter_client.h is included, which gives it an inconsistent binary layout. Solve it by making the optional method always defined as it doesn't rely on anything from accessibility. Task-number: QTBUG-61200 Change-Id: I65f34ab2b6763f3166b945e700994bd8d019a835 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix ASSERT in URLRequestContextGetterQt due to race conditionMichal Klocek2017-06-181-2/+4
| | | | | | | | | | | | Setting httpCacheType followed by persistentCookiesPolicy may lead to io thread calling generateHttpCache just before generateCookieStore, which triggers assert in line 344. Recall generateHttpCache in case generateHttpCache was called before generateCookieStore. Task-number: QTBUG-61047 Change-Id: I1cfe5f18a884bd0d76fce4b30da0e22359cab2af Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix preferences referencesAllan Sandfeld Jensen2017-06-141-10/+10
| | | | | | | | | | We were using the wrong spellcheck preferences, they have moved to the spellcheck component. It mostly worked because their internal names had stayed the same. Change-Id: I485b11d88ee9c6e13d9c2b769c271d27bee4ba30 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Always set a host toolchainAllan Sandfeld Jensen2017-06-121-1/+1
| | | | | | | | | | If we don't give Chromium a host toolchain it will pick one of its own overriding which compiler should be used, and breaking native builds on non-x86 architectuers. Task-number: QTBUG-61128 Change-Id: Ia25a4f43a28214003abcb11dc75a0e57064f76a7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Use MSVC's /WHOLEARCHIVE linker flagJoerg Bornemann2017-06-072-11/+1
| | | | | | | | | | The /WHOLEARCHIVE option was introduced in Visual Studio 2015 Update 2. Since we support no older MSVC version we can unconditionally use this option and remove our hack that simulates whole-archive by writing object file names into a linker reponse file. Change-Id: I32d2cb556c15f9a8aa2f77f608268e0af7ab6a1d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Do not enable debug symbols in windows release buildsAllan Sandfeld Jensen2017-06-071-5/+4
| | | | | | | | | | Clean up the logic for cross-building to x86 on x86-64 windows, avoiding enabling debug symbols when force_debug_info is set, remove them 32-bit builds even it _is_ set, and use the standard logic for getting the GN target arch. Change-Id: Ia6a5a5e7429ffb1cf07629deaeebfb2466280a9b Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix WebRTC screen sharing on macOSAlexandru Croitor2017-06-072-1/+32
| | | | | | | | | | | | | | | Previously when a screen sharing request was accepted on macOS, instead of showing the captured screen, a black rectangle was displayed. This was due to passing an incorrect screen id to the screen capturer, which resulted in a failed attempt to find the main active screen. The fix is to query for all available screen ids from the operating system, and choose the first id as the id to pass along to the screen capturer. Task-number: QTBUG-55165 Change-Id: Id8e648e59755aa2820b05b990adeaa9b58fd26f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix build with -no-spellcheckerMichal Klocek2017-06-061-0/+1
| | | | | | | | Add dependency to spellchecker build_feature Task-number: QTBUG-61165 Change-Id: Ib730280f00b07c9f8a0ffb59399e0a25bc9829a3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix QMimeData to content::DropData conversionJoerg Bornemann2017-06-061-1/+1
| | | | | | | | | | | | | | | | | When files are dropped then it's expected that dataTransfer.files and dataTransfer.items have the same amount of entries. That means that whenever QMimeData contains files we must only convert those and ignore the rest. But while files do not allow other items before them, text and URLs may co-exist in content::DropData. This is consistent with the behavior of Chromium and Firefox and what web pages expect. Task-number: QTBUG-59690 Change-Id: Iad56aac3e071dcfa09fa5dfcc788c1c54c6eeae6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove duplicate installation of resource filesAlexandru Croitor2017-06-061-17/+0
| | | | | | | | | | | | | The resources files are currently installed twice. Once in src/core.pro and once in src/core_module.pro. The core.pro installation steps should be removed, because they do not cover the macOS framework case, thus ending up with creating resources both in the framework directory, as well as in the installation root. Task-number: QTBUG-60707 Change-Id: Id0121c82d7439949474f605c6630ae045125f7ba Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix compilation on clangMichal Klocek2017-06-011-4/+5
| | | | | | | | | | | Use 'visibilty' attribute instead of 'static' to hide extra symbols - clang compiler does not like it. Task-number: QTBUG-61138 Task-number: QTBUG-60565 Change-Id: Ibf4b469a179ad77b68ad4e54ab541e7276367a44 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Store Target URL in WebContentsDelegateQt::WebContentsCreatedViktor Engelmann2017-05-303-2/+9
| | | | | | | | | | | | | | | | | | | | | | | When opening a new window, for example by using the JavaScript method window.open('...'), the requested url is not stored in the content::WebContents object we get in WebContentsDelegateQt::createWindow (at this point, it should at least be stored as pending request in the WebContents' NavigationController, but it is not). Because of this, the QQuickWebEngineNewViewRequest object in QQuickWebEngineViewPrivate::adoptNewWindow never contained the url. We have access to the target url in WebContentsDelegateQt::WebContentsCreated, so now we store it there in a new property m_initialTargetUrl, from where WebContentsDelegateQt::createWindow takes it and passes it to WebContentsAdapter::adoptNewWindow as a new parameter. [ChangeLog][WebEngine] Fix WebEngineNewViewRequest::requestedUrl being empty when opening window from JavaScript Task-number: QTBUG-57675 Change-Id: I7e2c7866899baade17ce2517e6be8b2b2709699e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.9.0' into 5.9Allan Sandfeld Jensen2017-05-299-13/+195
|\ | | | | | | Change-Id: Iba6114263488d6bf84b255b38182904dc5880386
| * Fix typos in symbol namesMichal Klocek2017-05-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The symbol name for delete operators did not match the actual function definitions, however linker had no problem with that and simply skipping the symbol version export. Due to lazy binging in PLT this also got unnoticed when testing with test app, where delete was called on exit. Task-number: QTBUG-60565 Change-Id: I2be2f394a0097f1d06cf9ecda33ae5b22f83a77c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix selectionChanged signal out of input fieldPeter Varga2017-05-172-8/+29
| | | | | | | | | | | | Task-number: QTBUG-60688 Change-Id: I6d0b78e6b8df54c40ae30d5f0909c631c440a9cd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Disable Pepper using OpenGL images on macOSAllan Sandfeld Jensen2017-05-151-0/+2
| | | | | | | | | | | | | | | | | | We don't support textures in the GL_TEXTURE_RECTANGLE_ARB texture target which is used by Pepper now unless explicitly disabled. Task-number: QTBUG-60706 Change-Id: I56c1ba124e9ed666248912a20cf6db0230e6d981 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Document Mac App Store incompatibilityAlexandru Croitor2017-05-151-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The patch also removes the appstore compatibility feature from the feature summary displayed when qmake is invoked, and also makes sure not to pass the relevant compatibility argument to GN. [ChangeLog][macOS] Removed -appstore-compliant configure switch. Task-number: QTBUG-60443 Change-Id: I9c5ced0375195dd62e2416c57484d8e6021ebdd8 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * Fix broken ABI in qtwebengine libs between 5.8/5.9Michal Klocek2017-05-152-0/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to internal chromium 53 change in default allocator qtwebengine 5.8 release exported globally operator new, new[], delete and delete[] with Qt_5 'default' version. The issue was spotted and fixed after official 5.8.0 release. This causes ABI breakage since faulty released symbols are missing in upcoming 5.9.0 release and the software compiled against 5.8.0 will not work due to unresolved symbols at runtime. Readd the symbols, however mark Qt_5 symbols version as non-default, this way they are not picked up during link time, but they still could be resolved during runtime. Task-number: QTBUG-60565 Change-Id: I3320ac7785aea6b03443e8acd4b9d334e574d77f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix backwards compatibilityAllan Sandfeld Jensen2017-05-103-0/+13
| | | | | | | | | | | | | | | | | | | | QtWebEngine supports building with last stable and last LTS Qt releases. Guard some 5.7-5.9 API from being used when not available, and reinstate the default features for 5.6 LTS builds. Change-Id: Ia288a49109d011a2bee883d4a2d38d994b497d59 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix crash on exit with url-request interceptorsAllan Sandfeld Jensen2017-05-081-0/+2
| | | | | | | | | | | | | | | | | | | | If the interceptor is the child of the profile, they will be deleted with the API profile which is before the underlying browser-context, they should therefore be unset from the browser context first. Task-number: QTBUG-60236 Change-Id: I2954e8106863b8b421ef166f6bf8fa79240c95ee Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Disable hardware video decoding on macOSAlexandru Croitor2017-05-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When WebEngine is built with proprietary codecs enabled, this leads to usage of the macOS video hardware acceleration framework. Because of missing support of Rectangle OpenGL textures on the Qt WebEngine side, AVC videos are not displayed correctly. Disable hardware video decoding on macOS until said support is implemented. Task-number: QTBUG-60002 Change-Id: I5faf8df00362d442c5a6f207cc2a9637d663ad00 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Disable accessibility support on Linux by defaultAlexandru Croitor2017-05-081-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For very big HTML pages, accessibility support can slow down the loading and rendering of pages due to creation of many AXNodes for every DOM node, and a lot of serializing and deserializing between processes. Because accessibility is almost always enabled on Linux, and there is no way to query if an accessibility feature was explicitly requested, Qt WebEngine accessibility support on Linux will be disabled by default. Users can set the QTWEBENGINE_ENABLE_LINUX_ACCESSIBILITY environment variable to re-enable accessibility support on Linux. [ChangeLog][Accessibility][Linux] Accessibility is disabled by default for Qt WebEngine on Linux. Task-number: QTBUG-59922 Task-number: QTBUG-54650 Change-Id: Ib0454f6f753043838e4ecf2227d2249afc15a6ef Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Find Google Chrome's flash plugin on newer macOS versionsAllan Sandfeld Jensen2017-05-151-1/+8
| | | | | | | | | | | | | | | | | | Newer versions of Chrome will download the flash plugin to its own application folder instead of a system-wide folder for internet plugins. Task-number: QTBUG-60706 Change-Id: I61d569f7033b2c7bac84f479e3d196e83b07bc35 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Fix error in updating user-agent and accept-languageAllan Sandfeld Jensen2017-05-091-1/+1
|/ | | | | | | | We never reset the state to indicate an update is no longer under way. Task-number: QTBUG-60588 Change-Id: I13e2f85e4c957bb100e5f91ab07b2f2b04db4a11 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Improve Qt Creator indexingAllan Sandfeld Jensen2017-05-034-9/+17
| | | | | | | Includes gn sources, headers and defines Change-Id: I2abfb2c5238211a2305f6bdbcd082e832c048a2b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Detect the scenegraph software backend when it was set programaticallyMichael Brüning2017-05-021-0/+3
| | | | | | | | | | | Since 5.8, it is possible to set the Qt Quick scenegraph backend using QQuickWindow::setSceneGraph backend. However, this is not detectable by WebEngine's implementation as it relied on environment variables or command line options being specified. Task-number: QTBUG-60232 Change-Id: I53291510887ec5c75a15d5927a84e91fb5859e26 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Clean "system" calls to build&run gn and ninjaMichal Klocek2017-04-281-13/+11
| | | | | | | | | | There was a time when gn build was called during make step, however this was not working with recursive qmake calls. Clean up leftovers and fix path and warnings like "Conditional must expand to exactly one word." during builds. Change-Id: I8546520345a5f89ee829558fa0fd9183587848b3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Make python2 usage more robustJoerg Bornemann2017-04-271-1/+2
| | | | | | | | | | | | | | | | | | | | After configuring Qt there will be an error message if a suitable python version could not be found. Add python2 configure test that - first looks for python2 in PATH - then looks for python in PATH - checks the Python version - stores the result in QMAKE_PYTHON2 Use $$QMAKE_PYTHON2 everywhere where we call python. Pass $$QMAKE_PYTHON2 to gn for its exec_script feature. Task-number: QTBUG-60164 Change-Id: I33de1273cbd20a787b3c8889d35280784dbcd5ae Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix undeclared use of QSGFlatColorMaterial when QT_NO_OPENGL is definedJüri Valdmann2017-04-261-4/+4
| | | | | | | | | | | QtWebEngine fails to build with -no-opengl due to src/core/delegated_frame_node.cpp trying to use QSGFlatColorMaterial without including the header. Change-Id: I98c12d3c482f7cacb2f61dd13ae32ee0a5740ae2 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Override shortcuts in HTML input fieldsJoerg Bornemann2017-04-253-0/+116
| | | | | | | | | | | | | | | | | | | When users defined a single-letter short cut it was not possible to type this letter in HTML input fields. Fix this by accepting ShortcutOverride events whenever the web page is editing text. Use QInputControl::isCommonTextEditShortcut for Qt 5.9 and later. For the case where QtWebEngine is built against an older Qt a duplicated code path is used. Also, ensure users do not override web action short cuts. Task-number: QTBUG-59053 Change-Id: Ic26cf2a040a72b118273c6645c00b2913b995b0b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Standardize override declarationAllan Sandfeld Jensen2017-04-2144-481/+466
| | | | | | | | Update our overrides to Qt coding standard getting rid of Q_DECL_OVERRIDE and redundant virtual declarations. Change-Id: Id8b0750eb05c51fc8f50cac4000a811eebcbf918 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Disable setting background color in QInputMethodEventPeter Varga2017-04-211-5/+1
| | | | | | | | | | | | | IME managers may set background and foreground color of the composition string. Since there is no Chromium API for setting the foreground color, changing the background color to black may produce "black-on-black" text. Chromium locks the background color to transparent thus we do the same in this fix. Task-number: QTBUG-58362 Task-number: QTBUG-60031 Change-Id: I939c8aaaa847de191890d6924ba3c7652465f8a0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove superfluous run_gn target from gn_run.proJoerg Bornemann2017-04-211-4/+1
| | | | | | | Gn is called at qmake time. The run_gn target was empty and did nothing. Change-Id: I570094e013c63a78ca6cec6987f119bfda45e085 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Implement proper touch handling on macOSAlexandru Croitor2017-04-214-0/+60
| | | | | | | | | | | | | | | Use the OS provided QNativeGestureEvents for pinching and smart zooming. This replaces the usage of the Android based gesture recognizer on macOS. This also implements multitouch gestures to work with the Qt Quick implementation of QtWebEngine for macOS, because touch events are ignored by default on macOS in QQuickItem. Task-number: QTBUG-58779 Change-Id: I17399e4e89a57557540b2fd0940a445326b682f3 Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add two nullpointer checksViktor Engelmann2017-04-152-4/+9
| | | | | | | | | The two nullpointer checks prevent crashes that happened when one clicked on a link with target="_blank" in 56-based. Task-number: QTBUG-46713 Change-Id: I1f8a20a52726ab05a85dbca2ec49784985384d06 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Enable brotliv5.9.0-beta2Allan Sandfeld Jensen2017-04-121-0/+2
| | | | | | | | Enable brotli if enabled in content features (which it is by default). Task-number: QTBUG-60049 Change-Id: I67ee51be47de4df0960e378f74c323ef30a7b25a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Handle QInputMethodQueryEvent forwarded by RWHVQDWPeter Varga2017-04-122-0/+17
| | | | | | Task-number: QTBUG-58362 Change-Id: I6c80c8063ccad97aa80aff8ee44aa10a899c5ff5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix text selection and input method queryPeter Varga2017-04-122-54/+205
| | | | | | | | | | | | | | | Instruct the render process to change the text selection if it was requested via an input method event. Raise the selectionChanged() signal when all the corresponding input method properties are set. Moreover, add back the remaining input method widget auto tests. The updated tests are moved to the QWebEngineView tests since the corresponding APIs (inputMethodQuery() and input event handling) are now available via the QWebEngineView's focus proxy (aka RWHV). Task-number: QTBUG-55766 Change-Id: Ia0022d5f38b31dd59b084ff42e4abc2780ae90ec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix pepper cdms featureAllan Sandfeld Jensen2017-04-066-12/+14
| | | | | | | Is now also buildflag and not command line define. Change-Id: I3c687981928239f669bd285797b5ceee4e994822 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Install filesystem: protocol handlerSzabolcs David2017-04-051-1/+4
| | | | | | | | | | File creation with FileSystem API is supported, but these files were not accessible through their filesystem: URLs. Change-Id: Ic45a8ad766917947a70eb0079d37490576ea5d22 Task-number: QTBUG-56531 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix spellcheck feature checkAllan Sandfeld Jensen2017-04-049-20/+24
| | | | | | | | | Was changed to generated buildflag headers instead of command line defines. Task-number: QTBUG-59687 Change-Id: Iead64f5321d000c07172ee27a0032394527ec501 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix assert in autotest on windowsAllan Sandfeld Jensen2017-04-041-1/+1
| | | | | | | Chromium now asserts if the clipboard lists the same mimetype twice. Change-Id: Ibfcbb9a7953a8b4b55035e633e0f2740257af6ad Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix source indexing in Qt Creator 4.3Allan Sandfeld Jensen2017-04-044-237/+247
| | | | | | | | Create a fake project, just for including the files compiled by ninja in a qmake project that Qt Creator can index, but which we do not build. Change-Id: I7b4fc7ba23090bddb49ee1e85f76f71fb33544e2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Do not set arm/misp specific gn args for host_buildMichal Klocek2017-03-311-2/+2
| | | | | | | Self build of gn ends with error on embedded builds. Change-Id: I669c61eef7107919dbe11cdb558cf6ae0499621c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix calls to ninja on Windowsv5.9.0-beta1Kai Koehne2017-03-311-2/+2
| | | | | | | | | Make sure that the path to ninja and the directory uses the correct slashes. Without it, the call might silently fail. Task-number: QTBUG-59842 Change-Id: If59eb14b1fb99aae2b78c85a0052e5aefd5d5bf9 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* [Doc] Add doc link between methods for request filteringMichael Brüning2017-03-301-0/+3
| | | | | | | | | | Adds a doc link between QWebEngineUrlRequestInterceptor and QWebEnginePage Task-number: QTBUG-54507 Change-Id: Ic9aa535fbf19c7c5ccf279ee660adf180057b56b Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix build on 32 bit msvc toolchainKai Koehne2017-03-281-0/+27
| | | | | | | | | | | | Bring back the logic to disable debugging symbols for 32 bit native compilers on Windows (symbol_level = 0), or only do minimal debugging symbols useful for e.g. stack traces (symbol_level = 1). The corresponding gyp logic got removed in commit c5282c347929. Change-Id: Ibb7d43814992a00f5413d024f9c362d41dc5a3a5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add gnuwin32\bin directory to PATH on WindowsJoerg Bornemann2017-03-281-7/+18
| | | | | | | | | | | This is necessary for finding gperf, bison, yacc, etc. on Windows. Works only if the gnuwin32 directory is on the same level as the qtwebengine root directory, which is the case with a qt checkout. This is a port of 09e53e79 which did the same for the gyp build. Change-Id: Icd75c44605ba07269f721cd3b9877463c43f8beb Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Register a Mojo SensitiveInputVisibilityServiceAllan Sandfeld Jensen2017-03-272-0/+68
| | | | | | | | We don't use or need the service, but Mojo doesn't like when it doesn't get to do pointless things. Change-Id: I1be66d1679bf688aa0139e84822de32a28ba3132 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations for Chromium 56Allan Sandfeld Jensen2017-03-2732-109/+175
| | | | | Change-Id: I78240d7956de4716757761fc6517f031b4adb822 Reviewed-by: Michael Brüning <michael.bruning@qt.io>