| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: I0860a46b981c1f711bec45d7a495bcec2a80ee1f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I536258e22c2ec143f2fd3f1cbda229e0611b6af4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| | |
Change-Id: I472053e316bfa782d0a6fb8903f4901be12247ae
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \ |
|
| |\|
| | |
| | |
| | | |
Change-Id: I9fe9946ba47f9ef509a861963c83e275a25fffd0
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ibad2b8ebb90e79ff8337d994b2234eed5e230daa
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ifa305045f3594f06b0ee106cd43f9d35853f8958
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We now track the values we send to the loadProgress signal. We store
the last value in a new int WebContentsDelegateQt::m_lastLoadProgress
and only send values that are >= m_lastLoadProgress to ensure
monotonicity.
A value < 0 indicates that no loading is going on. Only on loadStarted
it is set to 0 (and a loadProgress is emitted with progress 0) and
on loadFinished, it is set to -1 (and a loadProgress is emitted with
progress 100).
This way, we ensure that you first get a loadStarted signal, at least
two loadProgress signals (0 and 100) and a loadFinished signal
AND all loadProgress signals come in a monotonous order.
Task-number: QTBUG-57839
Task-number: QTBUG-61815
Change-Id: I219d3bffbd5691adb892a11b79647ba9e1ed248e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|\|
| |
| |
| |
| |
| | |
Includes sha1 bump of src/3rdparty to head of 58-based.
Change-Id: I37743c3979c1b6fb21f71eab7048e82f7aa5d78b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Chromium has since version 50 overridden the global font settings with
the settings of every web contents created, so we need to first set the
global settings in the web contents, to still follow system defaults.
Task-number: QTBUG-62146
Change-Id: If10847c81beda08ecb7bfdf7556e39b1d2989754
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-61910
Change-Id: I894d1f180ba9952213b6f67a2445aa927dfd7e9b
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I4533e28a2c1a338abdb1d373a0a3bfe598a5edce
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous code tried to find out whether a user has set an
application proxy by checking the type of the applicationProxy.
This is wrong, because a system proxy will actually also change the
applicationProxy type.
Instead, we now rely on QNetworkProxyFactory::usesSystemConfiguration
to decide whether to use QtNetwork's application proxy, or Chromium's
logic for the system proxy. We also save the state of
QNetworkProxy::useSystemConfiguration to be able to track changes.
[ChangeLog][Networking] Fixed an issue where system proxy settings were
not picked up correctly.
Task-number: QTBUG-61910
Change-Id: I1d9af3f6006ba187266fe50c645f425a46632e41
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Re-export missing C memory handling functions.
Task-number: QTBUG-61521
Change-Id: I8f94d93a70c81117735a9610e391a1e31c54f15a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This command-line argument makes it possibly to block exposure of
internal IP addresses when WebRTC access hasn't been granted, using
--force-webrtc-ip-handling-policy=default_public_interface_only
Task-number: QTBUG-57505
Change-Id: I0cddd1b20e0814811894204cb31e0c463a75f7be
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unhandled key presses for printable keys were not received by the parent
widget anymore. This was a regression from 5.8.0.
The propagation is suppressed if NativeWebKeyboardEvent::skip_in_browser
is true.
Commit 4501b9d8 accidentally removed the wrong skip_in_browser
assignment.
Task-number: QTBUG-61621
Change-Id: I7eafa1fac5fb9a7edc4af2bc1aac21c106264713
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In Chromium 56 the --touch-events switch controls both the availability
of the Touch Events API in JavaScript (presence of 'ontouchstart' in
'window' object), and whether touch events are dispatched at all.
In Chromium 57, the switch controls only the Touch Events API
availability, and touch events are always dispatched.
In Qt 5.9.0 which is based on Chromium 56, we always dispatched touch
events, ignored the value of --touch-events, and determined the
availability of the Touch Events API by checking if QTouchDevice lists
any touch screen devices (essentially Chromium's --touch-events=auto
option).
This commit changes the behavior of WebEngine to match that of Chromium
57, so that users can choose to enable or disable the Touch Events API
via the --touch-events switch, whereas the default will be 'auto' mode.
Touch events will always be dispatched as usual. Users that wish to
stop dispatching touch events can install an event filter on
WebEngine's view focus proxy.
Task-number: QTBUG-61045
Change-Id: I07404af3336619869aa87a90a1b426036548dd55
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure that a non-Core Profile OpenGL Context is created on the
Chromium side, so that sharing between the Qt global context and the
Chromium ones works.
Change-Id: Ifc5f39268395615fe50c8aa9467f833c0de233a8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously when a default QSurfaceFormat was set with an OpenGL Core
profile, all the contexts created on the Qt side would obey the profile,
but Chromium would still use the Compatibility profile for its contexts
leading to warnings when trying to create shared contexts.
The fix is to check which OpenGL profile is used in the Qt global
shared context, and pass that information along to Chromium.
Note that this works only on macOS for now, and the default non-Core
profile is used on other platforms, even though Core was requested.
Passing CoreProfile to Chromium on Windows and Linux currently leads
to crashes.
Task-number: QTBUG-60605
Change-Id: I27a77091923624d19ccc2019953a5b07f9282916
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I2f2ba754111e198298b7d1a595343fcd773e05e5
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On a Linux system with an installed application, the only places dictionaries
are searched currently are /usr/bin/qtwebengine_dictionaries and
/usr/share/qt/qtwebengine_dictionaries (or similar, depending on the
distribution).
This adds an environment variable which makes it possible to customize the
location dictionaries are in (e.g. to something user-writable).
Documentation is added in the next commit, as it was duplicated in four
different locations and I cleaned it up a bit.
[ChangeLog] New QTWEBENGINE_DICTIONARIES_PATH environment variable to customize
the location for spell checking dictionaries.
Task-number: QTBUG-62236
Change-Id: Iefc90451c537656025abb785291fe55f6a82d50c
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Settings] Added setting to hide scrollbars.
Change-Id: I17695bb54a460621358345d303302b93eb342696
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes the case when the text selection is triggered by JavaScript.
Text selection changes triggered by IME composition text replecement are
ignored. Test has been added for mouse selection clipboard: non-user
text selection should not update the clipboard.
Pulls in Chromium changes:
3deea95 Update TextSelection for non-user initiated events
Task-number: QTBUG-53134
Task-number: QTBUG-60381
Change-Id: Ib94f57a2aa61248fba75f595245fb388b9609b6c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-61969
Change-Id: I3367889041614a5e7489909dd38c8af638edf17c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Use feature permissions system instead of hard-coded dialog.
- Add QML test for getUserMedia() and extend existing widgets test.
Task-number: QTBUG-60832
Change-Id: I533bed5021b3b0ee199b8abc6ddbd516cbd14ff6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\ \ |
|
| |\|
| | |
| | |
| | | |
Change-Id: Idffd0c603f7925b8b9b037ce2d63cb13e964c20e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Debug symbol level 1 is not enough to generate all debug symbols on
Windows. The symbols for the files found in src/core are generated with
symbol_level=1, but no symbols are generated for the files in
src/3rdparty.
Change-Id: I30729981d5956c1c6a8040008bc00af1f19c15d2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|