| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: Ic6686df8f82f710a3441501b7eeaffe69fbcbdf7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously while entering a Japanese succession of characters, followed
by transforming a substring into a word suggestion, the caret would
disappear, and pressing the arrow keys would not indicate which part of
the pre-edit string will be transformed next.
This change makes sure the caret is always present, to indicate which
part of the pre-edit string will be replaced by a possible IME
suggestion.
Change-Id: I350310c198bcacf0bcb48217f84b08e95ab8e8ef
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently if a QInputMethodEvent is received, which contains text in
both the pre-edit and commit strings, Chromium would only show the
commit string in the text input (or other html element). The IME though
still knows about the non-empty pre-edit string, which means that
if another key is pressed, Chromium will suddenly show the content of
the previous pre-edit string AND the result of the new key press.
To fix this, WebEngine will now properly set the pre-edit string as the
new composition, after confirming the previous commit string.
Change-Id: If22dd2038aca35a6fe6bb58a521f0a7124c7d468
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently when composing a word using an IME, and backspace
is pressed to remove the last character present in the pre-edit
string, instead of the character being removed, nothing happens.
In reality the character is removed, but Chromium isn't notified
of it, and the change will be seen only after another key is
pressed.
Fix consists in notifying Chromium to cancel the IME composition
when both the pre-edit string and the commit string are empty.
There is still an issue with japanese, when trying to
input "aaa", press space, then "b" and you don't see
the "b" until you press one more key.
Change-Id: Idf2ef4888caead26d19eabbbdf4f98fbee601049
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before this change, it was possible to select parts of the pre-edit
text in an ongoing IME composition, by click-dragging with the mouse
(which also looked wrong, because the styling of the text did not
change to a selection box to signal selection).
This is inconsistent with how Chrome does it, which commits the
pre-edit string entered so far, when clicking anywhere in the content
area or in the input.
This change makes sure to commit the pre-edit string when a mouse
click is done anywhere on the displayed web page.
The behavior was present on Windows and Linux.
Change-Id: I9cb148c591b5d09fb4dd477ae96c29ca32cc34de
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an asian IME is used to compose a new word, and a modifier key is
pressed (shift, alt, etc), WebEngine would notify Chromium to cancel
the composition, thus clearing the text. But the actual IME window
would still be present, and if another "letter" key was pressed, the
composition would continue with the previous pre-edit text, which leads
to unusual text flickering.
The previous behavior was introduced in 31efe25d14 to fix a Windows
double character input bug.
The current change makes sure to clear the IME composition only in case
the last received QInputMethodEvent pre-edit and commit strings were
empty, which is not the case when pressing a modifier key for instance.
Change-Id: Ic968404c90e1e0eb703fe1c2849990467bedd5e1
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: If4d8a25f5a2192a658d031252435935cbc675725
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Suppose QWebEnginePage is destroyed while there's still a combobox popup
open. We would crash with the following stack trace:
1 QtWebEngineCore::RenderWidgetHostViewQt::dpiScale
2 QtWebEngineCore::RenderWidgetHostViewQt::GetViewBounds
3 content::RenderWidgetHostImpl::SendScreenRects
4 content::RenderWidgetHostImpl::OnRenderViewReady
...
16 base::MessageLoop::DoWork
17 WebEngineContext::destroy
18 `anonymous namespace'::destroyContext
19 qt_call_post_routines
20 QApplication::~QApplication
RenderWidgetHostViewQt still holds a pointer to WebContentsAdapterClient.
To fix this, expose the QObject owning the adapter client, and
hide RenderWidgetHostViewQt when it is destroyed so it won't try to render.
Change-Id: Ide5543197b35038a3e1c7491ceda3f5ad10f6f07
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use Chromium's Aura cursors when we don't have Qt equivalents.
These cursors were also supported in QtWebKit. Note this
depends on Aura being used, which means OS X still doesn't
have the new cursors.
Task-number: QTBUG-53593
Change-Id: I9fbbf102dd313da5a6836069b4d7ece057d8c946
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
We shouldn't ignore defined hotspots for cursors we adapt from pixmaps.
Change-Id: Ia9c1e29e6374116d4564b306d0e199baaf5d494f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Blink can not handle more than the three main mouse-buttons, and we were
translating a press of an extra mouse-button as a mouse-down of the
button ButtonNone.
Instead ignore mouse-button events blink does not currently support.
Task-number: QTBUG-53799
Change-Id: If1d3ba6bd331ec8ad0ff45bcd674e67763ee9097
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before the change, chromium would process an onclick handler twice,
once due to a touch event, and another time due to the OS synthesized
mouse event.
Patch makes sure only the touch events are forwarded to Chromium. This
is consistent with mainline Chrome behavior.
Task-number: QTBUG-53201
Change-Id: I16f46b94890c2f6fa9a9089f7c721ec79e0bc96b
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ib010ede9756fb02992a3276ae7ec90ef1ab56a00
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Touch events have causesScrollingIfUncanceled flag that is used by
TouchEventQueue::TouchMoveSlopSuppressor for determining whether they
can be suppressed or not. Previously it was always false what caused
the events be suppressed. Then, it was set to true what caused the
events cannot be suppressed event if they can. Now the flag can be
dinamically changed depending on the result of
ui::FilteredGestureProvider::OnTouchEvent.
Change-Id: I625a5c5d9b7597e25406e55c461efb7187e7c482
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I53645ee5405b1c43807123fd3c196e314cfd1ce9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a QWebEngine link is clicked on, and as a result a modal dialog is
opened, a QEvent::TouchCancel without any touch points is forwarded
to Chromium, which tries to access the first touch point
position, and causes a QList assertion.
Fix consists of two parts:
1) Make sure that no TouchCancel is forwarded, in case if no TouchBegin
or TouchUpdate was issued beforehand.
2) Because QEvent::TouchCancel events might contain an empty touch
point list, and Chromium expects at least one point, make sure
to forward the last saved touch points (saved in previous TouchUpdate)
together with the TouchCancel.
Task-number: QTBUG-48661
Change-Id: I1eeb2980417b1b04e8387dc9f82f935ef2bd8f00
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Converts types, callbacks and headers to match Chromium 49.
Task-number: QTBUG-51173
Change-Id: I544ef46e187105e250fea1b48b72d2c81a906640
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: If884b8b8bc087a6a726476b49cdb48a0efaa173e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On Windows, when exiting the IME by pressing a cursor key or clicking
into the edit field, we do not receive an QInputMethodEvent with a
commitText. Instead, we get an empty QInputMethodEvent and a
key{Press|Release}Event pair with a key of zero. The committed text
is in the event's text property.
Do not call ImeConfirmComposition for the empty QInputMethodEvent
but for the later keyReleaseEvent. Do not forward those key events.
Change-Id: I844aa05493aca4c388a8b1de835baf2a819558f5
Task-number: QTBUG-50252
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I0bb971f01ee1e02da768f336680c8ec0254ab2b0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Generate touch events with the "causesScrollingIfUncanceled"
property set to true. This is checked by
TouchEventQueue::TouchMoveSlopSuppressor
Task-number: QTBUG-50511
Change-Id: I5260100db75ed7afdd7afeff8f530221c22090b0
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update files using old header.LGPL3 to use header.LGPL
Update files using old header.FLD to use new header.FDL
Update files using old header.BSD to use new header.BSD
Change-Id: I36a67aaa8c3ca6c7946308defc9c03c3571a7d23
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I4272eb59cac08c69eaa58dd4d94debf1b8c5cf78
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty
src/webenginewidgets/api/qwebenginepage.cpp
src/webenginewidgets/api/qwebenginepage_p.h
Change-Id: I050b4c7691a070e04cace2663ad633903f6d96a9
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When opening a new tab by middle clicking on a link in a web page, two
MouseMove events are sent to Chromium consecutively, without getting
proper acknowledgment events, which causes further move events not
to be handled properly.
Fix consists in preventing the second move event from being sent.
Change-Id: Ia0a64698476226e472faa53f75b51dfb6ed477c9
Task-number: QTBUG-50031
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move flagsFromModifiers from render_widget_host_view_qt.cpp to a new
file type_conversion.cpp. We will use it in a subsequent commit.
Added a separate source file to not include qcoreapplication.h in
type_conversion.h.
Change-Id: I6dfd54dd99d640ff48cb1a710271c7f8115891e5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: I052fdc4245e25e58457d51f6e49703bc7dd8ff00
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-43009
Change-Id: Ic36554c5137a55d9d4b9143c204d9d4400e23ff8
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: I05fe27b8321944cf68cc96dfa9dfcaeb54c8c8cd
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Most of our Qt specific versions of Chromium classes have Qt appended,
but a few observers have it prepended. This patch renames them to keep
naming consistent.
Change-Id: I004b61e16bc47f39a6bbc16a5f5c10585626865c
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty
Change-Id: I49acdd9b5ca94f2807b0c13a97f508a67f1c5750
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-48766
Change-Id: Idcae6dc84829fe96db62c6cb30ab193873d36709
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Updating to Chromium 47 and adapting API.
Change-Id: Id465bbcd4facd7c47cb8a9f4bd4e18cbdc0d1120
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds API to read contentsSize to go with scrollPosition.
This property used to be in QWebFrame in QtWebKit.
Change-Id: I498075e4c0ad916e5c96dbfb02101ce8a0c298ee
Task-number: QTBUG-48323
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds an API to read the main-frame scrollPosition.
In QtWebKit this property used to be in QWebFrame.
Task-number: QTBUG-48323
Change-Id: Ic8312afac0dcdcfd8c7fd4589be774d327bb6268
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows users to implement a "sad tab" feature and/or track
rendering process crashes using a crash reporting service.
Task-number: QTBUG-48227
Change-Id: I97ef934fe5d0912cd0f41967a39052316b3c66b0
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We should not set the background color coming from the
input method event since its color scheme might not match
the color scheme of the web page, which can make the
entered text unreadable. Instead we should set the default
as used by the aura and mac implementations of transparent
background and black underline of the current editing context.
Change-Id: I3a4ec5672a917b029fb57cfcc6b36bf93209af2c
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
Fixing the minor differences needed to work with Chromium 45.
Change-Id: I5036b4b9a069d45e8dd37e24fab84cdfe5e67acc
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This also allows setting a transparent color to see through
the web view's body if its background color isn't specified.
The color is initially held by the top API view and is pulled
by the WebContentsAdapter in order to set it on the RenderView.
Since both blink and our local compositors (in the QOpenGLWidget
case) need to know about this color, RWHVQt takes care of pushing
it to both. The former through an IPC message and the latter
directly on the RWHVQtDelegate.
Task-number: QTBUG-41960
Change-Id: Ie13317b2d087f5612ad9c5fb0e05ca3e91aec9af
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
Not currently used by Chromium except asserted not to be zero.
Change-Id: I8eaab67fa316c80bd5b18af46993395c06aa8801
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Handle moved and refactored methods, and the removal of the short-cut
to not forward events.
Change-Id: I11ef205c5d575a15ee6fe8f36b8a71505d656fe8
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces a new public C++ API layer in preparation to make
it possible to integrate with lower level Chromium features related mostly
to networking operations like accessing and blocking cookies, custom
request headers, etc.
This API layer can be used both by Qt Widgets and Qt Quick applications
with a small C++ core. It should contatain API to access features that
usually run on the IO thread to make it possible to perform heavy tasks
that would otherwise require costly context switches to the UI thread.
Furthermore for these features a QML API does either not make sense,
since they are non-UI-related, or a QML API is simply not feasible,
because the API is meant for advanced usecases like web browser
development (i.e. custom protocol handlers, network traffic
interception cookie syncing, etc.).
In the long term this layer could also make it possible to reduce code
duplication in the widgets and quick layers by moving common parts to
the core layer.
The new API is built entirely by qmake as a separate static library which
is then linked into the QtWebEngineCore library built by gyp and ninja,
to prevent the build options passed to Chromium to break the API layer.
As a first step this only contains the global headers for core.
Change-Id: Iccf8544587cde7c0d9c6abd462e4766bf9ec81ae
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Notify the RenderWidgetHost about visibility changes so that we
receive updates with non-empty DelegatedFrameData when a page was
loaded in an invisible WebEngineView and then made visible.
Task-number: QTBUG-42789
Change-Id: I4856efcd9c0ce44b66a228d5a414198df46b95eb
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Disable new gestures swipe and two-finger tap which seem to
interfere with scroll and single finger tap in our current
gesture provider code.
Change-Id: Ib6d3590cafcc8bbd6ff2399d94a1ee9334070a5a
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Adds the QtWebEngineCore namespace to all internal core API. This
ensures we don't export any internal symbols in the global namespace.
Change-Id: I26af888ea7c6c4c4d0f04c24a377c1a9d3c92751
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: Ieb6bac7a1be5c25eb7cb917495b58b6a870ca6d4
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows applications to receive unhandled key events from the page
by setting an event handler on the view's parent widget/item, like
it was possible with QtWebKit.
This is different in that events first have to asynchronously go
through the QtWebEngineProcess. If the WebEngine view has the
keyboard focus, the events will be consumed inconditionally by the
RenderWidgetHostViewQtDelegates, and a copy will be resent to the
view's parent if it wasn't consumed.
This sends it to the parent instead of the QWebEngineView directly
since those are only unhandled events, unlike with other widgets
where you can first intercept events. It is done that way also in
cases where the QWebEngineView would be be the focus widget directly
in the future, instead of the RWHV.
If applications want to intercept key events before they reach the
page, they need to use an event filter on the QWebEngineView's
children or globally on the application.
Change-Id: I3b48f5212d3f238a1c0497cec1db6ae3badbad26
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds guards that for QT_NO_ACCESSIBILITY being not defined
around the code that uses accessibility types.
It disables the quicknanobrowser and quicktestbrowser examples
which need Qt QuickControls, which has a hard dependency to
accessibility being enabled.
Task-number: QTBUG-43305
Change-Id: Ifa39e3ce447ebc2124f52e00b29b1d7d2231035e
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Also fix the mapping of Ctrl and Meta keys on Mac OSX.
On this platform Qt automatically maps Meta to Control
and vice versa. Chromium however does not expect such
behavior.
Change-Id: Ia9913322ae8ae6ffd99feb6edfc91b9ea752c5cb
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Adopt Accessibility functions from render_frame_host_impl.cc
Change-Id: Ifa6752fd9daa3429d4016a91b85d7145b1fc2775
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|