New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 625689 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , All , Chrome , Mac
Pri: 2
Type: Feature
Launch-M-Approved: 63-Dev , 63-Beta , 63-Stable-Exp , 63-Stable
Launch-M-Target: 62-Dev , 63-Beta , 63-Stable-Exp , 63-Stable


Sign in to add a comment

Support vsync aligned input on compositor

Project Member Reported by chongz@chromium.org, Jul 4 2016

Issue description

This issue is only about input on compositor, and won't affect web platform.

We want to align input on
1. Compositor gesture scroll
2. Compositor pinch

The first step is to use a simple approach, e.g. Coalescing in |WebInputEventQueue|.
Then we will decided whether we want to adopt a more complex algorithm, such as the one on Android.
 

Comment 1 by chongz@chromium.org, Aug 12 2016

Blockedon: 637393
Blocking: 315821
Blockedon: 661601
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/679c4fba7375c35179c6802970d7b4255ba1b14d

commit 679c4fba7375c35179c6802970d7b4255ba1b14d
Author: chongz <chongz@chromium.org>
Date: Fri Nov 18 20:04:40 2016

Implement compositor thread VSync aligned event queue

Add compositor thread event queue to |InputHandlerProxy|, queues
|GestureScroll/Pinch| and dispatch on |WillBeginImplFrame()| signal
from |LayerTreeHost|.

Currently behind a feature flag and is disabled.

Future Task:
Coalesce events across start/end boundaries.

Design Doc:
https://docs.google.com/document/d/1SUPPJkqxEYMRso3Jw1wZnqD3g1dmif0ic-x5aQkpHBo/edit?usp=sharing

BUG= 625689 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2429953002
Cr-Commit-Position: refs/heads/master@{#433275}

[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/cc/input/input_handler.h
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/cc/trees/layer_tree_host_unittest_scroll.cc
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/content/common/input/event_with_latency_info.cc
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/content/common/input/event_with_latency_info.h
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/content/renderer/input/main_thread_event_queue_unittest.cc
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/BUILD.gn
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/blink_event_util.cc
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/blink_event_util.h
[add] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/blink_features.cc
[add] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/blink_features.h
[add] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/compositor_thread_event_queue.cc
[add] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/compositor_thread_event_queue.h
[add] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/event_with_callback.cc
[add] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/event_with_callback.h
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/input_handler_proxy.cc
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/input_handler_proxy.h
[modify] https://crrev.com/679c4fba7375c35179c6802970d7b4255ba1b14d/ui/events/blink/input_handler_proxy_unittest.cc

Comment 5 by danakj@chromium.org, Dec 29 2016

Hey chongz, I'd like to make changed to compositor timings but I don't think we want to do that behind a flag that would be kinda awkward.. if possible. What's the path toward enabling this without the command line flag? Or do we need to coordinate changing compositor behaviour along with it?
The plan was to run a Finch trial in the new year. If that is good then we'd do an intent to ship. 

Comment 7 by danakj@chromium.org, Dec 29 2016

Awesome, thanks!

Comment 8 by enne@chromium.org, Jan 24 2017

Blocking: 486072

Comment 9 by enne@chromium.org, Jan 25 2017

Blocking: 551134
Project Member

Comment 10 by bugdroid1@chromium.org, Feb 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/92f5f351ace34c217f4a2adf3dd717fc30df2fac

commit 92f5f351ace34c217f4a2adf3dd717fc30df2fac
Author: chongz <chongz@chromium.org>
Date: Mon Feb 13 17:12:10 2017

[VSync Queue] Support multiple in-flight events in |GestureEventQueue|

Currently |GestureEventQueue| is holding on events until it receives
ack for the last one.

This CL adds support for multiple in-flight events so
|GestureEventQueue| can forward events immediately and have them
coalesced in compositor event queue.

This feature is behind a flag and disabled by default.

BUG= 625689 

Review-Url: https://codereview.chromium.org/2677903003
Cr-Commit-Position: refs/heads/master@{#449984}

[modify] https://crrev.com/92f5f351ace34c217f4a2adf3dd717fc30df2fac/content/browser/renderer_host/input/gesture_event_queue.cc
[modify] https://crrev.com/92f5f351ace34c217f4a2adf3dd717fc30df2fac/content/browser/renderer_host/input/gesture_event_queue.h
[modify] https://crrev.com/92f5f351ace34c217f4a2adf3dd717fc30df2fac/content/browser/renderer_host/input/gesture_event_queue_unittest.cc

Blockedon: 636332
Project Member

Comment 12 by bugdroid1@chromium.org, Feb 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/846acfd108a39beb4f9087d1daf0c00eb5aae6ea

commit 846acfd108a39beb4f9087d1daf0c00eb5aae6ea
Author: chongz <chongz@chromium.org>
Date: Thu Feb 23 00:17:46 2017

[Android] Add switch to disable native event batching

This CL is the preparation for enabling compositor event queue.

We should disable Android native event batching once the compositor event queue
was enabled.

BUG= 625689 

Review-Url: https://codereview.chromium.org/2710683003
Cr-Commit-Position: refs/heads/master@{#452298}

[modify] https://crrev.com/846acfd108a39beb4f9087d1daf0c00eb5aae6ea/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
[modify] https://crrev.com/846acfd108a39beb4f9087d1daf0c00eb5aae6ea/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java

Blockedon: 693289
Project Member

Comment 14 by bugdroid1@chromium.org, Mar 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8bdf2092362cd7cb60c38ce99c9ee8904d482b4e

commit 8bdf2092362cd7cb60c38ce99c9ee8904d482b4e
Author: chongz <chongz@chromium.org>
Date: Thu Mar 16 20:44:04 2017

[Android] Trigger native event batching through Feature API

Previous CL https://crrev.com/2710683003 added command line flag to disable
Android native batching. However it's hard to run Finch Trial with command line flags.

This CL created 'ContentFeatureList.java' (similar to 'ChromeFeatureList.java') as
suggested by isherman@ in go/finch-trial-on-command-line-flags, thus we can use
Feature API instead of command line flags.

BUG= 625689 

Review-Url: https://codereview.chromium.org/2755673005
Cr-Commit-Position: refs/heads/master@{#457540}

[modify] https://crrev.com/8bdf2092362cd7cb60c38ce99c9ee8904d482b4e/chrome/browser/android/chrome_feature_list.cc
[modify] https://crrev.com/8bdf2092362cd7cb60c38ce99c9ee8904d482b4e/content/browser/BUILD.gn
[modify] https://crrev.com/8bdf2092362cd7cb60c38ce99c9ee8904d482b4e/content/browser/android/browser_jni_registrar.cc
[add] https://crrev.com/8bdf2092362cd7cb60c38ce99c9ee8904d482b4e/content/browser/android/content_feature_list.cc
[add] https://crrev.com/8bdf2092362cd7cb60c38ce99c9ee8904d482b4e/content/browser/android/content_feature_list.h
[modify] https://crrev.com/8bdf2092362cd7cb60c38ce99c9ee8904d482b4e/content/public/android/BUILD.gn
[add] https://crrev.com/8bdf2092362cd7cb60c38ce99c9ee8904d482b4e/content/public/android/java/src/org/chromium/content/browser/ContentFeatureList.java
[modify] https://crrev.com/8bdf2092362cd7cb60c38ce99c9ee8904d482b4e/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
[modify] https://crrev.com/8bdf2092362cd7cb60c38ce99c9ee8904d482b4e/content/public/android/java/src/org/chromium/content/common/ContentSwitches.java

Project Member

Comment 15 by bugdroid1@chromium.org, Mar 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8eabf60aaa6009c9383970ffbc0cfa15e50b9951

commit 8eabf60aaa6009c9383970ffbc0cfa15e50b9951
Author: chongz <chongz@chromium.org>
Date: Mon Mar 20 21:17:18 2017

[Compositor event queue] FlingCancel should clear on-going gesture flag

We don't receive |GestureScrollEnd| when the scroll was turned into fling, thus we
need to clear flag |has_ongoing_compositor_scroll_fling_pinch_| on
|GestureFlingCancel| to avoid queueing latency on next |GestureScroll/PinchBegin|.

BUG= 625689 

Review-Url: https://codereview.chromium.org/2744243009
Cr-Commit-Position: refs/heads/master@{#458187}

[modify] https://crrev.com/8eabf60aaa6009c9383970ffbc0cfa15e50b9951/ui/events/blink/input_handler_proxy.cc
[modify] https://crrev.com/8eabf60aaa6009c9383970ffbc0cfa15e50b9951/ui/events/blink/input_handler_proxy.h
[modify] https://crrev.com/8eabf60aaa6009c9383970ffbc0cfa15e50b9951/ui/events/blink/input_handler_proxy_unittest.cc

Blockedon: 704134
Labels: -Type-Bug Type-Launch
Technical feature description:
Queue gesture events on compositor and dispatch on Vsync signal for better scheduling.
Other events will be dispatched immediately.
(Will disable Android's native event batching to avoid double buffering)

Eng owner: chongz

Design doc (send to chrome-design-docs@):
https://docs.google.com/document/d/1SUPPJkqxEYMRso3Jw1wZnqD3g1dmif0ic-x5aQkpHBo/edit?usp=sharing

Metrics:
Event.CompositorThreadEventQueue.CoalescedCount should increase
Event.CompositorThreadEventQueue.Continuous.HeadQueueingTime should be within a frame but larger than TailQueueingTime
Event.CompositorThreadEventQueue.Continuous.TailQueueingTime should be within a frame but smaller than HeadQueueingTime
Event.CompositorThreadEventQueue.NonContinuous.QueueingTime should slightly increase

Event.Latency.ScrollBegin.Touch.TimeToScrollUpdateSwapBegin2
Event.Latency.ScrollBegin.Wheel.TimeToScrollUpdateSwapBegin
Event.Latency.ScrollUpdate.Touch.TimeToScrollUpdateSwapBegin2
Event.Latency.TouchToScrollUpdateSwapBegin
Should decrease a lot (7ms maybe) on Android, and increase by around 1ms on other platforms.

Finch: 50/50 trial
Labels: Launch-M-Target-62-Dev Launch-M-Target-62-Beta Launch-M-Target-62-Stable-Exp Launch-M-Target-62-Stable
Blockedon: 752593
Labels: Launch-Status-Review-Requested
Canary/Dev Finch Name: "VsyncAlignedInput"
Result: As expected. (Large latency improvement on Android, small acceptable regression on other platforms)

Requesting launch review.
Labels: -Launch-Status-Review-Requested
Actually this should be considered as a change of implement instead of feature launch.

Removing review request.
Project Member

Comment 22 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/016df4c2f13d49b26c9472c3ca43ceae6d3a943d

commit 016df4c2f13d49b26c9472c3ca43ceae6d3a943d
Author: Chong Zhang <chongz@chromium.org>
Date: Wed Aug 16 23:29:15 2017

Preserve event order when handling multiple in-flight gesture events

With VSync Aligned Input |GestureEventQueue| will sent gesture
events immediately instead of waiting for an ACK.
However the problem is ACKs may come back out of order due to
different dispatch types.

This CL fixed the ordering issue by storing ACKs in
|GestureEventQueue|, and only forward ACKs according to the original
order.

This CL also ensures
|SitePerProcessBrowserTest.ScrollBubblingFromOOPIFTest| doesn't fail.

Bug:  625689 
Change-Id: If89d2684ab838f22bd80ca3b2646d495bb50e033
Reviewed-on: https://chromium-review.googlesource.com/617161
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Chong Zhang <chongz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494997}
[modify] https://crrev.com/016df4c2f13d49b26c9472c3ca43ceae6d3a943d/content/browser/renderer_host/input/gesture_event_queue.cc
[modify] https://crrev.com/016df4c2f13d49b26c9472c3ca43ceae6d3a943d/content/browser/renderer_host/input/gesture_event_queue.h
[modify] https://crrev.com/016df4c2f13d49b26c9472c3ca43ceae6d3a943d/content/browser/renderer_host/input/gesture_event_queue_unittest.cc

**Bulk edit**

Feature freeze for M-62 is tomorrow, Aug 18th, and we are trying to lock down the shipping set of features. Your feature has either M=62 or Launch-M-Target=62-Beta/Stable-Exp, but has not moved to a review requested state yet (Launch-M-Status=Review-Requested/Approval-Requested).

To help clarify what's shipping, we will change the milestone label for your launch to M-63 by Fri, 8/25 (since there appears to be no activity in review). If you still plan to ship for M-62, please transition to a review/request state now (Launch-M-Status=Review-Requested/Approval-Requested).

Thanks for your help in making our data set cleaner, it's a big help to the cross functional teams!
Labels: -Launch-M-Target-62-Stable -Launch-M-Target-62-Beta -Launch-M-Target-62-Stable-Exp Launch-M-Target-63-Beta M-63 Launch-M-Target-63-Stable Launch-M-Target-63-Stable-Exp
**Bulk edit**

We are now past M-62 FF. Since you still haven't transitioned to a review state, we are assuming that you are not planning to launch in M-62. As such, we're updating the MStone to M-63.

If you still intend to launch in M-62, feel free to change this back, but *please begin your xfnl reviews now*!

Thanks for your help with ensuring a smooth process.
Project Member

Comment 25 by bugdroid1@chromium.org, Aug 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/064c205088a033abefae6ba45c6768c98e6039af

commit 064c205088a033abefae6ba45c6768c98e6039af
Author: Chong Zhang <chongz@chromium.org>
Date: Tue Aug 29 16:05:31 2017

Allow completing overscroll on GestureScrollEnd ACK

Currently we only try completing overscroll before sending the event
to renderer. However with the new GestureEventQueue which allows
multiple in-flight events, GSE could be processed and sent to renderer
before the previous GSU was ACKed.

This CL moves the logic to only allow completing/resetting overscroll
when processing ACKs.

This CL also ensures
|TouchSelectionControllerClientAuraTest.HiddenAfterOverscroll| doesn't
fail.

Bug:  625689 
Change-Id: Ibe5cc1d415bdd6c2aac3641849f87de639c63ee9
Reviewed-on: https://chromium-review.googlesource.com/617163
Reviewed-by: Mohsen Izadi <mohsen@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Chong Zhang <chongz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498126}
[modify] https://crrev.com/064c205088a033abefae6ba45c6768c98e6039af/content/browser/renderer_host/overscroll_controller.cc
[modify] https://crrev.com/064c205088a033abefae6ba45c6768c98e6039af/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Sep 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5e25cf62955e58df4b35d39d83040453ac978c2b

commit 5e25cf62955e58df4b35d39d83040453ac978c2b
Author: Chong Zhang <chongz@chromium.org>
Date: Fri Sep 01 23:40:09 2017

Fix unit tests in prepare for enabling VsyncAlignedInput by default

Change expectations since GestureEventQueue now allows multiple
in-flight events. e.g.
1. For async wheel events we should expect multiple MouseWheel+GSU
   pairs.
2. For blocking wheel events we should expected all gesture events sent
   immediately for last ACKed wheel event.
3. The ACKs should come back in order & blocked by outstanding blocking
   events. (As fixed in cl/617161)

Bug:  625689 
Change-Id: Ie54947edfac76ce0d7bcbe7af826ab3137555ac0
Reviewed-on: https://chromium-review.googlesource.com/610705
Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Commit-Queue: Chong Zhang <chongz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499340}
[modify] https://crrev.com/5e25cf62955e58df4b35d39d83040453ac978c2b/content/browser/renderer_host/input/input_router_impl_unittest.cc
[modify] https://crrev.com/5e25cf62955e58df4b35d39d83040453ac978c2b/content/browser/renderer_host/input/legacy_input_router_impl_unittest.cc
[modify] https://crrev.com/5e25cf62955e58df4b35d39d83040453ac978c2b/content/browser/renderer_host/input/mock_input_router_client.cc
[modify] https://crrev.com/5e25cf62955e58df4b35d39d83040453ac978c2b/content/browser/renderer_host/input/mock_input_router_client.h
[modify] https://crrev.com/5e25cf62955e58df4b35d39d83040453ac978c2b/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/5e25cf62955e58df4b35d39d83040453ac978c2b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/5e25cf62955e58df4b35d39d83040453ac978c2b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/5e25cf62955e58df4b35d39d83040453ac978c2b/content/public/test/mock_render_process_host.cc
[modify] https://crrev.com/5e25cf62955e58df4b35d39d83040453ac978c2b/content/public/test/mock_render_process_host.h

Project Member

Comment 27 by bugdroid1@chromium.org, Sep 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6323663ac5864aeec5db3993f336b6232e80be17

commit 6323663ac5864aeec5db3993f336b6232e80be17
Author: Chong Zhang <chongz@chromium.org>
Date: Wed Sep 06 20:18:18 2017

Forward events for SynchronousInputHandler immediately

WebView uses |SynchronousInputHandler| to control animating timing, so
events should be forwarded immediately (instead of being queued by
Vsync queue).

This CL prevents multiple failures in |AndroidScrollIntegrationTest|
when |kVsyncAlignedInputEvents| was enabled.

Bug:  625689 
Change-Id: I68a233043f4d48e21664fd753317be7d9782177d
Reviewed-on: https://chromium-review.googlesource.com/651557
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Chong Zhang <chongz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500062}
[modify] https://crrev.com/6323663ac5864aeec5db3993f336b6232e80be17/ui/events/blink/input_handler_proxy.cc

Project Member

Comment 28 by bugdroid1@chromium.org, Sep 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a8d338393f7ab70be591959b247e6c0e6dcf11b1

commit a8d338393f7ab70be591959b247e6c0e6dcf11b1
Author: Chong Zhang <chongz@chromium.org>
Date: Tue Sep 12 01:50:21 2017

[WebView] Disable UnbufferedDispatch when UsingSynchronousCompositing

WebView has different frame model and may handle events differently
(e.g. Synchronous zoom). We don't want to enable VsyncAlignedInput
on WebView for now, and will leave it as a separate issue as suggested
in cl/606990.

Note:
cl/651557 updated InputHandlerProxy to forward events immediately.

Bug:  625689 
Change-Id: I88617698c09b12d35cf930b497b14bb84dd568b5
Reviewed-on: https://chromium-review.googlesource.com/655998
Reviewed-by: Alexandre Elias <aelias@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Chong Zhang <chongz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501148}
[modify] https://crrev.com/a8d338393f7ab70be591959b247e6c0e6dcf11b1/content/browser/android/content_view_core.cc
[modify] https://crrev.com/a8d338393f7ab70be591959b247e6c0e6dcf11b1/content/browser/android/content_view_core.h
[modify] https://crrev.com/a8d338393f7ab70be591959b247e6c0e6dcf11b1/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
[modify] https://crrev.com/a8d338393f7ab70be591959b247e6c0e6dcf11b1/ui/events/blink/input_handler_proxy.cc

Project Member

Comment 29 by bugdroid1@chromium.org, Sep 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d935caf59f216d9dce99fd19ecf39ebac73b0003

commit d935caf59f216d9dce99fd19ecf39ebac73b0003
Author: Chong Zhang <chongz@chromium.org>
Date: Tue Sep 12 23:30:21 2017

Enable VsyncAlignedInput and RequestUnbufferedDispatch by default

This patch:
1. Enables VsyncAlignedInput on all platforms, and
2. Enables RequestUnbufferedDispatch on Android to avoid native event
   batching.

Note that the feature was disabled in WebView due to compatibility
issues.

This feature won't affect / has minimum effect to Web Platform, thus
doesn't require an Intent-to-Ship.

Bug:  625689 
Change-Id: I3c698904c049fea4d8fb7b53e2250d96adf76f66
Reviewed-on: https://chromium-review.googlesource.com/606990
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Chong Zhang <chongz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501451}
[modify] https://crrev.com/d935caf59f216d9dce99fd19ecf39ebac73b0003/content/browser/android/content_feature_list.cc
[modify] https://crrev.com/d935caf59f216d9dce99fd19ecf39ebac73b0003/ui/events/blink/blink_features.cc

Components: Blink>Input
Labels: Launch-M-Approved-63-Dev Launch-M-Approved-63-Beta Launch-M-Approved-63-Stable-Exp Launch-M-Approved-63-Stable
Status: Fixed (was: Assigned)
This feature won't affect / has minimum effect to Web Platform, thus doesn't require an Intent-to-Ship.
(Not sure why I cannot remove Restrict-View-Google)
Is this feature applicable to iOS? If yes, please apply OS=iOS. Thank you.
Cc: gov...@chromium.org
Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
Re #31: No, it's not applicable to iOS.

I'm not sure how Fuchsia works though, but leaving it unchecked as well since I didn't receive any data from experiments.
Thank you chongz@. 
Is this feature code complete and ready for manual testing if needed? Als please update cross functional bits. 
Re #33: Sorry for the late reply (was OOO).

Yes the feature is code complete and ready for manual testing.

I'm not sure about cross functional bits though, but this feature shouldn't cause any visual behavior change, except that gesture scroll/pinch should be a tiny bit smoother (less delay) on Android post-Lollipop.
Chong@: are you working with any PM on this feature who can help with the launch process? 
Labels: -Type-Launch Type-Feature
emilyschechter@: No, and this issue shouldn't need to go through launch process. (See # 21)

I'm not sure how to remove those "Launch-" labels though.
Project Member

Comment 37 by bugdroid1@chromium.org, Nov 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67

commit 9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67
Author: David Bokan <bokan@chromium.org>
Date: Tue Nov 13 22:42:47 2018

Remove vsync aligned input feature flag

This feature has been shipping by default since M63.

This means the browser-side gesture queue no longer coalesces events so
I've removed the related code and unit tests.

Bug:  625689 
Change-Id: I8b943df47b2623656735f24f98a0b980daadbcce
Reviewed-on: https://chromium-review.googlesource.com/c/1332769
Commit-Queue: David Bokan <bokan@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607777}
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/content/browser/renderer_host/input/gesture_event_queue.cc
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/content/browser/renderer_host/input/gesture_event_queue.h
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/content/browser/renderer_host/input/gesture_event_queue_unittest.cc
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/testing/variations/fieldtrial_testing_config.json
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/ui/events/blink/blink_features.cc
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/ui/events/blink/blink_features.h
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/ui/events/blink/input_handler_proxy.cc
[modify] https://crrev.com/9ba52d6c2cb39d01d4ea0f2d7a03b7ccae03ee67/ui/events/blink/input_handler_proxy_unittest.cc

Project Member

Comment 38 by bugdroid1@chromium.org, Nov 14

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3e34b190866767a53598230f4a2668ec45b1bdfa

commit 3e34b190866767a53598230f4a2668ec45b1bdfa
Author: David Bokan <bokan@chromium.org>
Date: Wed Nov 14 16:11:28 2018

Minor cleanups in GestureEventQueue

In https://crrev.com/c/1332769 we removed the vsync aligned feature
flag. This caused the removal of much code in GestureEventQueue. Namely,
it no longer attempts to coalesce and queue events.

This CL cleans up the nomenclature and commentary in the class to better
reflect its current duties.

Bug:  625689 
Change-Id: I295fec7923b8d251853b9522c54641edfcac076a
Reviewed-on: https://chromium-review.googlesource.com/c/1334203
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607998}
[modify] https://crrev.com/3e34b190866767a53598230f4a2668ec45b1bdfa/content/browser/renderer_host/input/gesture_event_queue.cc
[modify] https://crrev.com/3e34b190866767a53598230f4a2668ec45b1bdfa/content/browser/renderer_host/input/gesture_event_queue.h
[modify] https://crrev.com/3e34b190866767a53598230f4a2668ec45b1bdfa/content/browser/renderer_host/input/gesture_event_queue_unittest.cc
[modify] https://crrev.com/3e34b190866767a53598230f4a2668ec45b1bdfa/content/browser/renderer_host/input/input_router_impl.cc

Sign in to add a comment