| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We are mapping a single QTouchEvent to
multiple MotionEventQt for Chromium.
For gesture recognition it is important
that these motion events are being processed
in a sorted manner, as a move event might
trigger a different gesture depending on
how many ACTION_DOWN or ACTION_POINTER_DOWN
were received before.
It is particularly illegal to process an ACTION_MOVE
with multiple touch points without having received
a ACTION_POINTER_DOWN before.
Change-Id: I75d22dd845774a14b5f590e0e0ce46263c4a49f4
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes widgets rendering on HiDPI displays and notifies
about the a potential device pixel ratio change when the window is
moved. This addresses the blurriness when a web view is moved
between an attached LoDPI screen and HiDPI screen resulting from
the device pixel ratio not being updated.
Change-Id: I97af0199c07deac8bbe4688c665aaa6df1608ae9
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
| |
Change-Id: Ia75177e8759c5ca10f74cc635d600999fb8205fb
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This logic was removed in 3a30ed4ecc9c828641daef85f88f93baf78826b6
but was still needed by the velocity tracker used for fling gestures.
Also disable swipe gestures in the gesture config since they have
unwanted side-effects on the gesture detection and we don't use them.
Change-Id: Icbb44a4c27e2cd243d631484d03a956e9dce64dc
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
| |
Change-Id: Ie9334cc9cdd240b2f5ceea0e31d82258045ea18c
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
| |
Change-Id: I57a85682d132bfefcdb0e3d1b3065f0474317e32
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
Change-Id: Idbe0eafb51d77cc00e3a93179b81770724d5bfaa
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression after the 37 upgrade where the select popups
would have the wrong position. Adjust to the new behavior and also
avoid doing a mapToGlobal of the position received in InitAsPopup.
RWHV::SetBounds has been giving us screen coordinates since the
Chromium 33 update, but popup locations somehow managed to work
properly through some side-effect sorcery.
This also fixes the value of window.screen[XY] in JavaScript which
wasn't updated when the window was moved.
Change-Id: I544499bafedccfb7d389b4abc48f1386c398473f
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
| |
Change-Id: I2cbb4860936c7780a749047b37d8c9852f54e7bc
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ui::GestureRecognizer is now tightly coupled with Aura and won't
be usable on Mac or Android.
Fortunately, the reason for this is that a new gesture recognizer
common to both Android and Aura, ui::GestureProvider has been
introduced. Using it allows us to stop pulling touch event types
from Aura build files.
Most of the change is about using ui::MotionEvent instead of
ui::TouchEvent, and to feed them to the GestureProvider.
A major difference is that the touch events sent to the renderer
are not passed through the gesture recognizer only when the come
back unhandled. They are instead always sent to both the renderer
and the GestureProvider, and the call to OnTouchEventAck on the
gesture filter tells it if the next event in the queue was handled
or not, deciding if the gesture should be cancelled.
Change-Id: Ifccebf85800cdf0ef29cf52b13f1bd659428e3f6
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the patch is about upstream classes/methods that changed.
Other important details:
- icu data files are now used by default
- cygwin is no longer required to build on Windows
- RenderFrameHost has been replacing RenderViewHost in a few places,
following the separate process iframes support in Chromium
- The user agent is accessed through ContentClient::GetUserAgent
instead of from the command line switches
Change-Id: I86cc93aff7ce31176a80b0b4a5d54025674a451c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
| |
QSGEngine was added in Qt 5.4 to allow using the scene graph
without QQuickWindow. Use it for our FBO as well as for the
QOpenGLWidget rendering.
Change-Id: If4665d4f33c9dad69d2d4269309163bb5ffbd8e3
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes:
- Make sure that we call SetInitialFocus when giving focus through Tab
This does the same as would WebContents::FocusThroughTabTraversal
- Implement QWebEnginePagePrivate::passOnFocus
- Set each new RWHVQtDelegate as the focus proxy of the QWebEngineView
- Make sure that the widgets delegate accepts the tab focus policy
Cleaups:
- RenderWidgetHostViewQtDelegateQuick doesn't need to be a focus scope,
it doesn't have any children
- We don't need to reimplement QQuickWebEngineView::forceActiveFocus
since the view is now a focus scope
- Do not explicitly setFocus(true) on the QQuickWebEngineView,
the application should decide this through the API
Change-Id: I817dc2c895d4fff4aa3536c71ecc5d306bb3bee0
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
| |
This fixes the flaky QQuickWebEngineViewGraphics test and extends it
with a new test case.
Change-Id: I2d8a0762716cb9232fdea6473760e67ac2e7146d
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
For now the windows build will simply use the same accessibility
implementation as the rest of Qt and we don't bother with using the native
implementation.
Change-Id: Iaad6734834a562f2ee0bd951d299310e95a5c9e1
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
|
| |
This fixes the windows build after the initial a11y patches landed.
In addition blink a11y works well on this platform so there is no reason
to map it to the Qt one. Since it's based on window handles they mix well.
Change-Id: I4441541864bbdab126cd9412a3640c7284b98193
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
GetViewBounds should return the bounds of the view, not the screen rect.
The view bounds are for example used to calculate the screen position of
accessible objects (which gets fixed with this patch).
Change-Id: I5b342113af737847c1756a13183cd2b8b8db648a
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
| |
This is in line with how other platforms do it.
Change-Id: Ia258511d3fa35387a69c81c9c02c181fc2995e6c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds the basics to bridge the blink
accessibility classes to QAccessibleInterfaces.
Note that it needs two follow up commits to implement the bridging from
the QWidget/Qt Quick worlds.
[ChangeLog][Accessibility] QtWebEngine now has accessibility
support, enabling assistive technology such as screen readers to work
with it.
Change-Id: Ied1d97e61a024115ac7a9245331211f6d9fac1b4
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Arrow keys and page-up/page-down was not working. These are detected
on RayKeyDown events which both the Win and GTK versions sends instead
of KeyDown.
Also fixes a mistake in reading the length of the UTF16 text string that
was using sizeof on a pointer.
Change-Id: I441ef21c15430dafcaeda00d43eb9aec81cd88b8
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
InputHandlerProxy::HandleGestureFling assumes that the timestamp on
the fling gesture is in the same system as base::TimeTicks. By giving
it our smaller relative event timestamps (most often taken from a
QElapsedTimer) this ends up here being calculated as a negative time
on the fling animation curve.
Fix the issue by applying a delta at the ui::TouchEvent conversion so
that the resulting GestureFlingStart has a timestamp that can be
reliably interpreted.
Change-Id: I5e149bf64887305119643359495f89be6e0c3ffb
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Q_UNREACHABLE in RenderWidgetHostViewQt::GetNativeView is now called
through RenderViewHostImpl::OnStartDragging since the last Chromium
update.
Even after removing this, OnStartDragging will now also try fetching
the device pixel ratio through gfx::Screen::GetNativeScreen().
Provide a dummy implementation of gfx::Screen only to avoid the crash,
the class still doesn't do anything and is filled with Q_UNREACHABLEs
to catch if any of those methods are reached in a future Chromium
update.
Change-Id: I2e9dafab5e4622df97100dd7a859523067635118
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since Qt 5.3 QWidget has the same behavior as Qt 4 where it will
replace a second MouseButtonPress event with a MouseButtonDblClick
instead of sending both.
Fix the issue by moving the MouseButtonDblClick ignore code up to the
QtQuick code, assume that upper layers will not send
MouseButtonDblClick events, and re-replace the MouseButtonDblClick
event with a MouseButtonPress in the QtWidgets code.
Change-Id: I529dad2de538f486b00eb900ea6d2ed849a3b1f0
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
This is similar to how the aura code changed with the new snapshot.
Change-Id: I57ef8a8a42c6b880988068c0de26df59fcf436fa
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The experimental.viewport.devicePixelRatio should be applied in
addition to any native devicePixelRatio inherent in the window system
or GUI framework.
This patch updates RenderWidgetHostViewQt::OnSwapCompositorFrame to
match the implementation of RenderWidgetHostViewQt::GetScreenInfo and
take the dpiScale (experimental.viewport.devicePixelRatio) into
account.
Change-Id: Ieadd9fbc73d937d5b5a318091c1157b281bd23c9
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
| |
Now that the widgets view is also using the delegated renderer,
there are no supported configuration that use the BackingStore
rendering path, itself on the way of deprecation in Chromium.
Change-Id: I4ab889f6a7c65e8447c259faf2c7a98b88c1acf5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means that widgets application now need to setup the GL context
sharing as well. QWebEngineWidgets::initialize() must be called,
which has the same effect as QWebEngine::initialize().
The QtWebEngineWidgets now depends on the QtWebEngine module to make
this happen.
Since QOpenGLWidget is only available in Qt 5.3, this patch also
disables the webenginewidgets module completely when building using
Qt 5.2.
Change-Id: I0e99a779d1eb080f2ccf5a338ff0763ad64e6eba
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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 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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Change-Id: If0cc263f36d396fd505c1d8b026e2493bfc29cc4
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Idebde8da0befbea7ccc5942de1e09fcc61ce16d4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Break up the delegate implementation into two distinct subclasses.
The first one offers a way for the WebPage to tap into the
RenderWidgetHostView directly, while a different implementation
that is backed by a top-level widget can be used to show WebUI
popups on screen.
This has the benefit of not having a child widget in the webview
among other things. It also fixes our popups and allows them to fall
outside the window frame.
Change-Id: I80dc1e4f21bb91ff47c75a626d330f88eacce8c6
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
| |
This is needed to get text input working again on Mac.
Underlines are currently being ignored.
Change-Id: I2a1074a1151e9be6f96ebe12fd0bb40a0eb63d6a
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To support reparenting, we make the compositing surface independent of
the window by using gfx::TEXTURE_TRANSPORT. We also need to be able to
keep frame data across window changes so we can reconstruct the QSGNode
tree in a new context, so extract that data into DelegatedFrameNodeData
class. Any context-specific data is still stored in DelegatedFrameNode.
Also hook up window changes to WebContents::WasShown/Hidden for Quick.
Remove checking of Qt isVisible state, this mechanism is used to sync
Chromium with Qt, not the other way around. WasShown/Hidden is
orthogonal to Show/Hide, and can use different triggers. However for
Widgets it probably makes sense to hook both up to widget visibility.
Change-Id: I1ef4b50cd61b8e54b791e03f0b41929c42fec8bf
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
| |
gfx::GLSurfaceHandle needs reinterpret_cast for the first parameter
to match an overload.
Change-Id: I4b89c38b9694ab649e1e623049573675c926a4a7
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
This patch also updates src/3rparty to the new snapshot.
Change-Id: I56da8d795051a828d7b375e57c4dda8bc570229f
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
RenderWidgetHostViewQt::GetViewBounds gets called early than
RenderWidgetHostViewQt::setAdapterClient when a new window is created
by Chromium.
Change-Id: I5ad61fc54ae773200403b222110a1d0ad541f941
Reviewed-by: Arvid Nilsson <anilsson@blackberry.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This specifies a devicePixelRatio to be used by web content instead of
the QScreen::devicePixelRatio(). This is necessary on non-iOS mobile
devices to remain compatible with the mobile web which assumes
devicePixelRatio is computed as the ratio of actual dpi to 160 dpi.
Non-iOS mobile platforms may use different criteria to determine the
QScreen::devicePixelRatio(), depending on the history of the platform,
or simply leave it at 1.0.
For QNX, this setting gets a reasonable default value so developers
don't have to regularly use this experimental API.
These changes were inspired by the Android Chromium port which uses a
GetDpiScale() to accomplish the same in
content/browser/android/content_view_core_impl.cc.
Change-Id: I1bc8878a47dabcdb6986c4fe5c8c4ac230ae2514
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NOTE: To build after this you should rerun init-repository.py or run
$> git submodule sync
$> git submodule update
$> git config qtwebengine.chromiumsrcdir src/3rdparty
This makes everything build by adjusting paths.
Other mixed-in changes:
- Rename qtwebengine_src variables in scripts to qtwebengine_root to
avoid confusion.
- Cleanup the release and debug extra targets that were in lib.pro.
This file has also been split into src.pro and core.pro.
Change-Id: Ieee9158a65f526b15244eaca59e779b7069d337e
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
This only move files without adjusting any paths.
This moves:
- lib/quick -> src/webengine/api (API files)
lib/quick -> src/webengine (other files)
This contains the main QtWebEngine module library since
<ec7b2ee70a8b2db7fb87f50671a001ddd54697b0>.
- lib/widgets -> src/webenginewidgets
Also rename this directory to match its module name and rename Api to api.
- lib -> src/core
- process -> src/process
- resources -> src/core/resources
- tools/* -> tools/scripts/
The build directory is spread as follow:
- build/build.pro -> src/core/gyp_run.pro
- build/qmake_extras/* -> src/core/ (for the host and target .pro files)
- build/qmake -> tools/qmake
- Build related scripts -> tools/buildscripts
Change-Id: I0cded1de772c99c0c1da6536c9afea353236b4a1
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|