Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(408)

Issue 2552853002: [Compositor event queue] Coalesce gesture scroll&pinch of the same sequence (Closed)

Created:
4 years ago by chongz
Modified:
4 years ago
Reviewers:
dtapuska, sadrul, tdresser
CC:
chromium-reviews, jam, darin-cc_chromium.org, dtapuska+chromiumwatch_chromium.org, tdresser+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Compositor event queue] Coalesce gesture scroll&pinch of the same sequence It is possible to have |GestureScrollUpdate| and |GesturePinchUpdate| in the same |GestureScrollBegin/End| sequence. This CL coalesces multiple GSUs and GPUs into 1 GSU and 1 GPU using matrix transformation. e.g. |GSB| -> |GSU| -> |GSU| -> |GPU| -> |GSU| -> |GSE| becomes |GSB| -> |GSU|* -> |GPU|* -> |GSE| * means coalesced events. Note that we have to go through the matrix when there are 2 adjacent pinch events with different pinch point as they would coalesce to 1 scroll event and 1 pinch event. BUG=661601 Committed: https://crrev.com/058c4c7ec00da18c90214ecaa956a84e229548ad Cr-Commit-Position: refs/heads/master@{#438534}

Patch Set 1 #

Total comments: 4

Patch Set 2 : dtapuska's review #

Total comments: 4

Patch Set 3 : dtapuska's review 2 - Allocate |last_gesture_event| on stack; inline |ToWebGestureEvent| #

Total comments: 2

Patch Set 4 : tdresser's review, remov the pointer version of ToWebGestureEvent() #

Total comments: 2

Patch Set 5 : sadrul's comments, fix dependency #

Unified diffs Side-by-side diffs Delta from patch set Stats (+290 lines, -111 lines) Patch
M content/browser/renderer_host/input/gesture_event_queue.h View 1 chunk +0 lines, -1 line 0 comments Download
M content/browser/renderer_host/input/gesture_event_queue.cc View 1 2 3 3 chunks +38 lines, -91 lines 0 comments Download
M ui/events/blink/BUILD.gn View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M ui/events/blink/DEPS View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M ui/events/blink/blink_event_util.h View 1 2 3 3 chunks +17 lines, -2 lines 0 comments Download
M ui/events/blink/blink_event_util.cc View 1 2 4 chunks +86 lines, -1 line 0 comments Download
M ui/events/blink/compositor_thread_event_queue.cc View 1 1 chunk +67 lines, -7 lines 0 comments Download
M ui/events/blink/event_with_callback.h View 1 2 chunks +17 lines, -9 lines 0 comments Download
M ui/events/blink/event_with_callback.cc View 1 1 chunk +14 lines, -0 lines 0 comments Download
M ui/events/blink/input_handler_proxy_unittest.cc View 1 2 chunks +49 lines, -0 lines 0 comments Download

Messages

Total messages: 68 (50 generated)
chongz
dtapuska@ PTAL, thanks!
4 years ago (2016-12-06 16:53:59 UTC) #21
chongz
tdresser@ PTAL, thanks!
4 years ago (2016-12-08 14:53:16 UTC) #30
dtapuska
https://codereview.chromium.org/2552853002/diff/80001/ui/events/blink/compositor_thread_event_queue.cc File ui/events/blink/compositor_thread_event_queue.cc (right): https://codereview.chromium.org/2552853002/diff/80001/ui/events/blink/compositor_thread_event_queue.cc#newcode42 ui/events/blink/compositor_thread_event_queue.cc:42: std::pair<blink::WebGestureEvent, blink::WebGestureEvent> coalesced_events = Isn't this complicated logic if ...
4 years ago (2016-12-08 15:18:37 UTC) #31
chongz
dtapuska@ I've updated as per our discussion, PTAL again, thanks! https://codereview.chromium.org/2552853002/diff/80001/ui/events/blink/compositor_thread_event_queue.cc File ui/events/blink/compositor_thread_event_queue.cc (right): https://codereview.chromium.org/2552853002/diff/80001/ui/events/blink/compositor_thread_event_queue.cc#newcode42 ...
4 years ago (2016-12-09 20:52:25 UTC) #34
dtapuska
https://codereview.chromium.org/2552853002/diff/100001/content/browser/renderer_host/input/gesture_event_queue.cc File content/browser/renderer_host/input/gesture_event_queue.cc (right): https://codereview.chromium.org/2552853002/diff/100001/content/browser/renderer_host/input/gesture_event_queue.cc#newcode316 content/browser/renderer_host/input/gesture_event_queue.cc:316: ui::WebInputEventTraits::Clone(coalesced_gesture_events_.back().event); Does last_gesture_event really need to be heap allocated? ...
4 years ago (2016-12-13 15:57:23 UTC) #38
chongz
dtapuska@ I've updated as per your comments, PTAL again, thanks! https://codereview.chromium.org/2552853002/diff/100001/content/browser/renderer_host/input/gesture_event_queue.cc File content/browser/renderer_host/input/gesture_event_queue.cc (right): https://codereview.chromium.org/2552853002/diff/100001/content/browser/renderer_host/input/gesture_event_queue.cc#newcode316 ...
4 years ago (2016-12-13 16:30:44 UTC) #41
dtapuska
On 2016/12/13 16:30:44, chongz wrote: > dtapuska@ I've updated as per your comments, PTAL again, ...
4 years ago (2016-12-13 16:33:43 UTC) #42
chongz
tdresser@ PTAL, thanks!
4 years ago (2016-12-13 16:35:06 UTC) #43
tdresser
LGTM https://codereview.chromium.org/2552853002/diff/120001/ui/events/blink/blink_event_util.h File ui/events/blink/blink_event_util.h (right): https://codereview.chromium.org/2552853002/diff/120001/ui/events/blink/blink_event_util.h#newcode96 ui/events/blink/blink_event_util.h:96: inline const blink::WebGestureEvent* ToWebGestureEvent( The asymmetry of these ...
4 years ago (2016-12-13 17:18:19 UTC) #44
chongz
https://codereview.chromium.org/2552853002/diff/120001/ui/events/blink/blink_event_util.h File ui/events/blink/blink_event_util.h (right): https://codereview.chromium.org/2552853002/diff/120001/ui/events/blink/blink_event_util.h#newcode96 ui/events/blink/blink_event_util.h:96: inline const blink::WebGestureEvent* ToWebGestureEvent( On 2016/12/13 17:18:19, tdresser wrote: ...
4 years ago (2016-12-13 18:55:45 UTC) #49
tdresser
Sorry, my comment was nonsensical, but what you did made sense. Still LGTM.
4 years ago (2016-12-13 19:04:46 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2552853002/140001
4 years ago (2016-12-13 20:26:13 UTC) #55
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/325092)
4 years ago (2016-12-13 20:34:01 UTC) #57
chongz
sadrul@ PTAL at "ui/events/blink/DEPS", thanks!
4 years ago (2016-12-13 20:37:20 UTC) #59
sadrul
lgtm https://codereview.chromium.org/2552853002/diff/140001/ui/events/blink/BUILD.gn File ui/events/blink/BUILD.gn (right): https://codereview.chromium.org/2552853002/diff/140001/ui/events/blink/BUILD.gn#newcode40 ui/events/blink/BUILD.gn:40: "//ui/gfx:gfx", just ui/gfx https://codereview.chromium.org/2552853002/diff/140001/ui/events/blink/DEPS File ui/events/blink/DEPS (right): https://codereview.chromium.org/2552853002/diff/140001/ui/events/blink/DEPS#newcode18 ...
4 years ago (2016-12-14 01:00:21 UTC) #60
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2552853002/160001
4 years ago (2016-12-14 15:55:30 UTC) #63
commit-bot: I haz the power
Committed patchset #5 (id:160001)
4 years ago (2016-12-14 16:58:59 UTC) #66
commit-bot: I haz the power
4 years ago (2016-12-14 17:03:13 UTC) #68
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/058c4c7ec00da18c90214ecaa956a84e229548ad
Cr-Commit-Position: refs/heads/master@{#438534}

Powered by Google App Engine
This is Rietveld 408576698