summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Stabilize navigation after render process terminationv5.10.0-beta1Peter Varga2017-10-042-1/+17
| | | | | | | | | | | | | | When renderProcessTerminated signal is emitted the invalid view of the corresponding RenderWidgetHost is not destructed yet. Having this invalid view during navigation leads to a crash. The proper way to navigate on renderProcessTerminated is to schedule the navigation with QTimer::singleShot(). Otherwise, warn the user and ignore navigation to avoid crash. Task-number: QTBUG-58478 Change-Id: I54ff62f5d306c8cb1fa17e29f349d1e02c4c8cec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Disable IME on password inputPeter Varga2017-10-043-4/+20
| | | | | | Task-number: QTBUG-62433 Change-Id: Icdc3355ca9d1ec4fb25d512c56c19aca94ae8928 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update accessibility roles and tests for Chromium 60Peter Varga2017-10-041-0/+4
| | | | | Change-Id: I8ef0b65fe365f468eeb3336e9bd2569e49257113 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Allan Sandfeld Jensen2017-09-2942-277/+543
|\ | | | | | | refs/staging/5.10
| * Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2017-09-2942-277/+543
| |\ | | | | | | | | | Change-Id: I7094e85a7770303a2ae30baccbc484c04f33600e
| | * Add missing copyright headersKai Koehne2017-09-202-0/+66
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-60006 Change-Id: I75149082f36cd4d56da508283b766df680ed88b8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Add LICENSE.ChromiumKai Koehne2017-09-2034-34/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | The mentioned LICENSE file is not available; add it under the name LICENSE.Chromium. Task-number: QTBUG-60006 Change-Id: Ib2b3cb64467046c7ba1f53b0bbe14c3ec5a5291d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Fix license headers for libraries and pluginsKai Koehne2017-09-2011-101/+130
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-60006 Change-Id: Ibc0507f300f52154e6f131056d826a4dcef009c2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Fix rendering of intersecting quadsJüri Valdmann2017-09-192-7/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split intersecting quads using a BSP tree in the same manner as Chromium's rendering algorithm. Note that these split quads still will not be correctly rendered in software mode as Qt Quick's software renderer is not at all aware of non-rectangular QSGClipNodes. Task-number: QTBUG-62112 Change-Id: Ibfb72b9220817baebf828bc6183af7bd9c25d050 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Fix uninitialized member variable in PrintViewManagerBaseQtJüri Valdmann2017-09-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Valgrind does not approve of the member cookie_ being read by the destructor but never initialized. Change-Id: I419fca616034fb04c4f3ee29edb068881583dac0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Extract DrawQuad handling from DelegatedFrameNode::commitJüri Valdmann2017-09-182-135/+142
| | | | | | | | | | | | | | | | | | | | | | | | Refactoring only, no algorithmic changes. Task-number: QTBUG-62112 Change-Id: I871105ea48cd513e03b957d7daa9fe095c952a52 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Replace use of cfree with freeJüri Valdmann2017-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Quote from Linux man-pages: This function should never be used. Use free(3) instead. Starting with version 2.26, it has been removed from glibc. Arch Linux has switched to glibc 2.26 now, so cfree(ptr) is no longer available. Since cfree(ptr) is equivalent to free(ptr) (even on SunOS?), this patch replaces it with free(ptr). Change-Id: I50859ecfe45c965a9477541b3b7644fcbcc330e2 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * Commit the done-so-far IME composition on touch eventPeter Varga2017-09-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix is based on afc9e2d9674f7ab5800df4803cc68c71d1ae691a Moreover, new quick auto test has been added to check that the commit happens in case mouse and touch input events. Task-number: QTBUG-62942 Change-Id: Ie9d55e0bb5b3bbc34c099502e735b94f37c5d5f8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Adapt IPC logging to the newer version of ChromiumSzabolcs David2017-09-271-2/+2
|/ / | | | | | | | | | | | | Now this feature is laying behind a generated buildflag. Change-Id: I48786315c45df6d2e8a81231ce8941639de16bb1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix selectedText() to return the value of what findText("") findsAlexandru Croitor2017-09-221-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously when a find operation was finished by calling findText(""), the selection buffer was cleared and calling selectedText() would return an empty string, even though on the UI side a blue rectangle selection was still visible. This was due to an incorrect Unselect() call in WebContentsAdapter::stopFinding(). With the new selection change support in the parent patch, and with the removed Unselect() call, selectedText() now properly returns the value of the highlighted blue selection after searching is finished. Task-number: QTBUG-60673 Task-number: QTBUG-54071 Task-number: QTBUG-53134 Change-Id: I89e0eddb0c14af6d6c06ee878e706be65d3b0831 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Fix system-zlib configure name collision with coreMichal Klocek2017-09-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | When -zlib is provided on windows for main configure line the system-zlib feature is forced on webengine. This is not expected since we assume zlib only for unix builds. Prepend 'webengine' for webengine system-zlib feature. Task-number: QTBUG-63367 Change-Id: I983d2e0df0badbaf7a076662ce178009be151406 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix native-spellchecker compilation on macMichal Klocek2017-09-201-1/+1
| | | | | | | | | | | | | | Set correct header. Change-Id: I3bbe0e79afae0e50c88e363079475f872a8bb6a2 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Fix system-harfbuzz and system-png detectionMichal Klocek2017-09-201-7/+2
| | | | | | | | | | | | | | Import gui-private to check for system-png and system-harfbuzz. Change-Id: I26fe98ce3de1f6af8015228260e8ef74952e816e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Remove WEBENGINE_CONFIG from configureMichal Klocek2017-09-208-58/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not store flags in qmake.cache with WEBENGINE_CONFIG. Use directly qtConfig values insted. This makes configuration more consistent, simplifies handling and avoids passing values from qtConfig to WEBENIGNE_CONFIG, which then were passed to gn. [ChangeLog] Removing WEBENGINE_CONFIG from qtwebengine configure Change-Id: I1a773fb4bff6d67ad75c237d044998051d92ab51 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Replace Setting HideScrollbars by ShowScrollBarsViktor Engelmann2017-09-202-3/+3
| | | | | | | | | | | | | | | | | | Positive options are more intuitive and make for a better API. Task-number: QTBUG-63179 Change-Id: I632ee768dba52554e7d37d9da84661a1d01f1f37 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Cleanup skipBuild codeMichal Klocek2017-09-191-4/+2
| | | | | | | | | | | | | | | | | | Move all skipBuild related checks to runConfigure() in configure.prf. Remove some unused functions. Move platform checks to separate prf file. Change-Id: Ia45c837c91c341ed1fbc2e32fc098329da989920 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | [Windows] Disable GPU rasterization when using software WebGLAlexandru Croitor2017-09-161-0/+6
| | | | | | | | | | | | | | | | | | This should improve the CPU usage a bit, due to using software rasterization in Chromium, rather than relying on the mesa implementation in opengl32sw.dll. Change-Id: Ib165aacc6a9d02dd30a6397e48af5616e00eb574 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix memory leak of UserResourceController::RenderFrameObserverHelperAllan Sandfeld Jensen2017-09-161-8/+15
| | | | | | | | | | | | | | | | Use weak pointers to make sure pending calls don't can run after it has been deleted. Change-Id: I6e808794e1d977dd9e236cf4a3a9ab4213ed7efd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Set custom drag data as Chrome doesAllan Sandfeld Jensen2017-09-161-0/+11
| | | | | | | | | | | | | | | | Expose any custom data in the pickled form Chrome uses. Task-number: QTBUG-61503 Change-Id: Ie89bd04f35b1dba94b91e87960cde66238d738df Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Don't pass kInProcessGPU if we pass kDisableGPUAlexandru Croitor2017-09-151-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | The in process GPU thread still starts even if kDisableGPU is passed because kInProcessGPU check has a higher priority in GpuDataManagerImplPrivate::GpuAccessAllowed(). This caused a crash when running on Windows with ANGLE. Make sure not to pass kInProcessGPU if we will disable the GPU. Task-number: QTBUG-63221 Change-Id: I8f9d154951e9143c7b5049eb641bfad2448b855b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2017-09-1412-33/+126
|\| | | | | | | Change-Id: I0860a46b981c1f711bec45d7a495bcec2a80ee1f
| * Allow WebGL to work with a software OpenGL implementation on WindowsAlexandru Croitor2017-09-133-16/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A user can explicitly request software OpenGL rendering via opengl32sw.dll instead of Skia rendering, by passing the --enable-webgl-software-rendering command line argument. This will make sure not to disable GPU processing if and only if software OpenGL rendering is used on Windows (via QT_OPENGL=software environment variable, or the Qt::AA_UseSoftwareOpenGL attribute), so that WebGL is not disabled. Software OpenGL rendering will still use Skia on platforms other than Windows. Change-Id: I8b3601b144e09e3a732abfb74dbbf6f924889b5a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Recreate state in renderer objects after RenderViewCreatedAllan Sandfeld Jensen2017-09-123-9/+12
| | | | | | | | | | | | | | | | | | | | This ensures the scripts and webchannel are added before RunScriptsAtDocumentStart is called. It also means we shouldn't add them later from the changed signal. Task-number: QTBUG-62898 Change-Id: Ib4cd3a69134d0eafc7f2ac4b7927a1c79b63bfa6 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
| * Set referrer on download requestsJüri Valdmann2017-09-124-3/+71
| | | | | | | | | | | | | | | | | | Note that the Referer header still won't be sent if the download is triggered via an anchor element with the 'download' attribute: crbug.com/455987 . Task-number: QTBUG-61354 Change-Id: I5af971af916b2190756e3e58f19736072a213922 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * Fix translation of Qt::Key_MenuJoerg Bornemann2017-09-081-3/+2
| | | | | | | | | | | | | | | | | | | | | | VK_MENU is the virtual key code for the Alt key, but Qt::Key_Menu is the context menu key which maps to VK_APPS. Now the menu key can be used to invoke the context menu on web pages. Task-number: QTBUG-58306 Change-Id: I8674ab84848b5c8732e4d0cf189909191b85d562 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Also set MIPS/Arm flags for host-buildsAllan Sandfeld Jensen2017-09-081-2/+2
| | | | | | | | | | | | | | | | | | QT_ARCH is the current architecture, and if the host is Arm or MIPS, we also need the flags there. Task-number: QTBUG-61846 Change-Id: I38f826e061eff900f6e27f4de0fc913323cf5e3e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add host-pkg-config to linux configurationMichal Klocek2017-09-121-0/+1
| | | | | | | | | | | | | | | | | | | | In case of passing pkg_config also set host_pkg_config otherwise pkg-config for sysroot will inject sysroot root libdir linker flag during host build which leads to weird errors. Change-Id: I57f277e500ba175687f65b9947b9f9c8edd969fc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Migrate configuration lefovers to new configure systemMichal Klocek2017-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Use new configure system for all package detection. Move config test execution to new configure system. However, keep old configure.prf for error hanlding. Split configuration summary into: * optional system libraries used * required system libraries * required system libraries for qpa-xcb (on linux) Change-Id: I5108456caa024a1ada9bb54750693064a2d36f78 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 60Alexandru Croitor2017-09-1137-122/+387
| | | | | | | | | | | | Change-Id: I536258e22c2ec143f2fd3f1cbda229e0611b6af4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Adaptations for Chromium 59Allan Sandfeld Jensen2017-09-1123-290/+313
| | | | | | | | | | Change-Id: I472053e316bfa782d0a6fb8903f4901be12247ae Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Simplify URLRequestCustomJob handlingMichal Klocek2017-09-117-241/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve implementation of URLRequestCustomJob: * remove qmutex, pass values using PostTask * do not use base::WeakPtr which is not thread safe and must always be dereferenced on the same thread * add proxy object to handle interactions between threads * do not use QPointer to track IODevice since it does not solve anything for us * QIODevice in reply method is used only by IO thread * do not make shared object to commit suicide, instead use refcounted object * improve documentation about thread safety issue of QIODevice object in reply method Change-Id: Ic29bf262de8082dfd46cb9217a68f3c982d16b9e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Refactor URLRequestCustomJobMichal Klocek2017-09-119-314/+423
| | | | | | | | | | | | | | | | | | Move URLRequestCustomJobShared to separate file and rename class to URLRequestCustomJobProxy. This commit is a groundwork for following one. Change-Id: I122b2101789e91186a3bffa9a07eed43b7340418 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge "Merge branch '5.9' into 5.10" into refs/staging/5.10Allan Sandfeld Jensen2017-09-1111-28/+86
|\ \
| * | Merge branch '5.9' into 5.10Allan Sandfeld Jensen2017-09-0611-28/+86
| |\| | | | | | | | | | Change-Id: I9fe9946ba47f9ef509a861963c83e275a25fffd0
| | * Compile with Gestures disabledAlan Alpert2017-09-054-0/+14
| | | | | | | | | | | | | | | | | | Change-Id: Ibad2b8ebb90e79ff8337d994b2234eed5e230daa Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Add detection for system re2Allan Sandfeld Jensen2017-09-031-0/+1
| | | | | | | | | | | | | | | | | | Change-Id: Ifa305045f3594f06b0ee106cd43f9d35853f8958 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * Fix multilib builds with different archs of toolchain and systemAllan Sandfeld Jensen2017-08-291-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Set host_cpu to ensure GN gets on the right path matching the host of the toolchain we give it in host_toolchain. Task-number: QTBUG-62673 Change-Id: I99d6dfdbe4cee30bc240049b656d1ec73becce8a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * [macOS] Warn about sending simulated touch events not working on macOSAlexandru Croitor2017-08-291-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chromium itself does not really support processing touch events on macOS, but rather uses native gestures sent by the OS. Warn the user in case they send simulated QTouchEvents. Task-number: QTBUG-62130 Change-Id: If47f25bc06f3d6f99ba70164a585182354ed9b5a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Fix upside down rendering of render-passes in software modeAllan Sandfeld Jensen2017-08-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The software backend version of QSGLayer defaults to not mirroring vertically, where the OpenGL does, and we rely on that. Task-number: QTBUG-62112 Change-Id: Id5368728fd7046d2e4dc35bd4b2b61f2db35dac6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * Handle --explicitly-allowed-portsAllan Sandfeld Jensen2017-08-281-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Chromium handles the flag for the render process, but with multi-process we need to enable it for the browser process as well. Task-number: QTBUG-62808 Change-Id: I1111dd7a2fd58876978ec5299bfb7abea8cb8487 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * Handle content::DropData::file_contentsJoerg Bornemann2017-08-183-1/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DropData::file_contents and DropData::file_description_filename are filled by Chromium if the user drags an image from a web page. Write the file's content into a file with the suggested file name in a temporary directory, and set the drop action to "move". This enables users to drag images from the browser to the desktop or a file browser. The file is moved by the client to the target location. The temporary directory is removed when the page is closed. Note that Chrome doesn't use this temporary directory trick, but employs techniques like XDS [1] on Linux to transfer the data via the native clipboard/DnD MIME object. Unfortunately QDrag doesn't support this. Support could be added, but I consider this solution as good enough. [1] https://www.freedesktop.org/wiki/Specifications/XDS/ Task-number: QTBUG-60790 Change-Id: I44f2b3170a124e861ed4131c421903d895b70715 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * Load libEGL and libGLES2 symbols implicitlyViktor Engelmann2017-08-141-32/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of explicitly loading libraries from hard-coded locations, we now just call dlopen(NULL, RTLD_LAZY). This returns a handle to the host process'es context, which already contains the symbols of both these libraries, because we link against them. It was necessary to bypass LoadLibrary, because that expects a non-NULL file path, so we couldn't pass NULL through that interface. Task-number: QTBUG-57761 Change-Id: I29f037dfe542222b5188a33c7727c81a464a87bb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * Stop forwarding HoverEnter and HoverLeave QEventsJüri Valdmann2017-08-111-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With QtWidgets the QHoverEvent handling is slightly incorrect (HoverEnter and HoverLeave triggering Q_ASSERT), quite unnecessary (Chromium works fine with just MouseMove events when mouse tracking is enabled), and mostly unused (QHoverEvents are only delivered if the WA_Hover widget attribute is set, which it usually is not). QtQuick however does not have the equivalent of QtWidgets mouse tracking, so to get mouse movement information into Chromium we have to use HoverMove QEvents. But the HoverEnter and HoverLeave QEvents are not used or useful for QtQuick either. Task-number: QTBUG-62200 Change-Id: I333de2b6adcc24544935d36645036aedb07e51ac Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * Remove dead code for detecting system SRTPAllan Sandfeld Jensen2017-08-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | We currently don't support unbundling SRTP because Chromium uses a too new unreleased version, but we were still testing for it and claiming to use the system one if found. Change-Id: I250f0d7fc1e09398b3196895bdd529d366cd0a86 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Make FocusOnNavigationEnabled setting disabled by defaultv5.10.0-alpha1Oleg Yadrov2017-09-081-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this setting was added in Qt 5.8, the behavior was that QWebEngineView/WebEngineView got the focus automatically. With the new setting added it is configurable, but it was left enabled for compatibility reasons. It would had to be changed at some point anyway: none of other QML items or widgets grab the focus after creation, so why would QWebEngineView/WebEngineView do? This patch also fixes a bug with the text cursor in WebView (the cursor was blinking as if WebView had the focus when it did not). [ChangeLog][Important Changes][QtWebEngine][General] focusOnNavigationEnabled setting which allows controlling whether a web view will receive focus on a navigation request is now disabled by default. Task-number: QTBUG-60152 Task-number: QTBUG-60149 Change-Id: I78dc9bb9ffc70bf06217952acd456b97651c5185 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michal Klocek <michal.klocek@qt.io>