Merge lp://qastaging/~osomon/oxide/override-touchUngrabEvent into lp://qastaging/~oxide-developers/oxide/oxide.trunk

Proposed by Olivier Tilloy
Status: Merged
Merged at revision: 1358
Proposed branch: lp://qastaging/~osomon/oxide/override-touchUngrabEvent
Merge into: lp://qastaging/~oxide-developers/oxide/oxide.trunk
Diff against target: 222 lines (+56/-7)
9 files modified
qt/core/browser/oxide_qt_event_utils.cc (+18/-2)
qt/core/browser/oxide_qt_event_utils.h (+3/-1)
qt/core/browser/oxide_qt_web_view.cc (+5/-0)
qt/core/browser/oxide_qt_web_view.h (+1/-0)
qt/core/glue/oxide_qt_web_view_proxy.h (+1/-0)
qt/quick/api/oxideqquickwebview.cc (+12/-0)
qt/quick/api/oxideqquickwebview.h (+1/-0)
shared/browser/oxide_touch_event_state.cc (+13/-3)
shared/browser/oxide_touch_event_state.h (+2/-1)
To merge this branch: bzr merge lp://qastaging/~osomon/oxide/override-touchUngrabEvent
Reviewer Review Type Date Requested Status
Chris Coulson Approve
Review via email: mp+283257@code.qastaging.launchpad.net

Commit message

Override OxideQQuickWebView::touchUngrabEvent().

To post a comment you must log in.
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Thanks, but there's a few issues with this (comments inline)

review: Needs Fixing
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I've added another comment as well.

Also, one other issue is that this will leave stale touch points in oxide::qt::UITouchEventFactory.

Another way to fix this might be:

- Fix oxide::TouchEventState so that calling Update() with an event that has the type ui::ET_TOUCH_CANCELLED results in all touch points being marked inactive.
- Add code to oxide::qt::UITouchEventFactory::MakeEvents that handles a QTouchEvent with the type Qt::TouchCancel, by injecting a single ui::TouchEvent with the appropriate type in to the results and clearing out any state.
- Add a Cancel() method to oxide::qt::UITouchEventFactory that just calls MakeEvents with a dummy Qt::TouchCancel event and returns the appropriate ui::TouchEvent.
- Make handleTouchUngrabEvent() just call Cancel() and then oxide::WebView::HandleTouchEvent() with the cancel event.

1319. By Olivier Tilloy

Merge the latest changes from trunk.

1320. By Olivier Tilloy

Revert most of the previous change, per review comments.

1321. By Olivier Tilloy

Override OxideQQuickWebView::touchUngrabEvent().

1322. By Olivier Tilloy

Merge the latest changes from trunk and resolve minor conflicts.

1323. By Olivier Tilloy

Copy cancel event to prevent using a freed object.

1324. By Olivier Tilloy

Reset the active touch point counter when marking all touch points inactive.

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

This looks ok, with one minor change

review: Approve
1325. By Olivier Tilloy

Return a scoped pointer to make ownership transfer explicit.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches