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

Issue 688253002: Implemented smooth scrolling using xinput2 in X11. (Closed)

Created:
6 years, 1 month ago by Will Shackleton
Modified:
4 years, 9 months ago
CC:
chromium-reviews, tdresser+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implemented smooth scrolling using xinput2 in X11. Adds support for Xinput 2.1 smooth scrolling for hardware that supports it (such as touchpads and some mice). This provides similar behaviour to that seen on Mac OS X. BUG=384970 Committed: https://crrev.com/c9c1cfcd812112c7cfacbbbe2a2dacbd117b1f48 Cr-Commit-Position: refs/heads/master@{#368645}

Patch Set 1 #

Patch Set 2 : Fixed scrolling after scrolling on another window #

Total comments: 9

Patch Set 3 : Applied sadrul's comments #

Total comments: 2

Patch Set 4 : Moved invalidation check to X11EventSource, refactored device discovery code #

Patch Set 5 : Rebased code, fixed behaviour for latest codebase #

Patch Set 6 : Rebased #

Total comments: 18

Patch Set 7 : Applied comments #

Patch Set 8 : Fixed tab bar scroll behaviour #

Patch Set 9 : Reset scrollclass_devices on device list update, changed invalidate logic to match GTK3 #

Patch Set 10 : Fixed zoom scroll behaviour #

Patch Set 11 : Fixed scrolling jumping around - movement and scroll events no longer coalesce #

Patch Set 12 : Disabled coalescing for all scroll events #

Total comments: 2

Patch Set 13 : Fixed device hotplugging, initialised variable #

Total comments: 25

Patch Set 14 : Applied comments, moved zoom handling to issue 1554253004 #

Total comments: 8

Patch Set 15 : Refactored scroll event creation code, applied nits #

Patch Set 16 : Rebased over split-off CL #

Patch Set 17 : Removed duplicate AUTHORS entry #

Total comments: 12

Patch Set 18 : Applied @msw's comments - renamed amount to remainder #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+309 lines, -50 lines) Patch
M chrome/browser/ui/views/frame/browser_root_view.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +6 lines, -0 lines 0 comments Download
M chrome/browser/ui/views/frame/browser_root_view.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +36 lines, -5 lines 1 comment Download
M ui/base/x/x11_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +5 lines, -6 lines 0 comments Download
M ui/events/devices/x11/device_data_manager_x11.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 chunks +69 lines, -0 lines 0 comments Download
M ui/events/devices/x11/device_data_manager_x11.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 6 chunks +146 lines, -15 lines 0 comments Download
M ui/events/devices/x11/touch_factory_x11.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M ui/events/platform/x11/x11_event_source.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +9 lines, -1 line 0 comments Download
M ui/events/x/events_x.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +34 lines, -23 lines 0 comments Download

Messages

Total messages: 48 (8 generated)
Will Shackleton
I've added code to make smooth scrolling work on Linux Chromium. One problem I've found ...
6 years, 1 month ago (2014-11-15 22:41:25 UTC) #2
Yufeng Shen (Slow to review)
+ sadrul@
6 years, 1 month ago (2014-11-17 16:38:48 UTC) #4
Will Shackleton
Hi, Any update on this change request? Thanks, Will
6 years ago (2014-12-16 13:13:13 UTC) #5
sadrul
Sorry about the delay in review. What device are you testing this with? https://codereview.chromium.org/688253002/diff/20001/ui/events/x/device_data_manager_x11.cc File ...
6 years ago (2014-12-22 17:11:12 UTC) #6
Will Shackleton
I'm testing with my Ubuntu 14.10 laptop which has a Synaptics touch pad and a ...
6 years ago (2014-12-22 19:40:39 UTC) #7
Will Shackleton
Hi, what's the current status of this diff? I've applied the comments you made on ...
5 years, 11 months ago (2015-01-21 11:19:47 UTC) #8
sadrul
Hi! Sorry about the delayed review. I think this code is pretty close. I have ...
5 years, 10 months ago (2015-01-30 15:49:16 UTC) #9
sadrul
miletus@: Do you know if this can interfere with touchpad scrolling on chromeos?
5 years, 10 months ago (2015-01-30 15:49:53 UTC) #10
Will Shackleton
Is this good to go now?
5 years, 9 months ago (2015-03-01 23:43:43 UTC) #11
Yufeng Shen (Slow to review)
On 2015/03/01 23:43:43, Will Shackleton wrote: > Is this good to go now? Sorry, didn't ...
5 years, 9 months ago (2015-03-02 23:43:46 UTC) #12
Will Shackleton
I'm still interested in getting this code in - can I have an update? It's ...
5 years, 4 months ago (2015-08-10 22:25:08 UTC) #13
bokan
Sadrul: My CrOS build doesn't rely on any of the touched files - are we ...
5 years, 4 months ago (2015-08-18 15:27:18 UTC) #15
sadrul
https://codereview.chromium.org/688253002/diff/100001/ui/events/devices/x11/device_data_manager_x11.cc File ui/events/devices/x11/device_data_manager_x11.cc (right): https://codereview.chromium.org/688253002/diff/100001/ui/events/devices/x11/device_data_manager_x11.cc#newcode289 ui/events/devices/x11/device_data_manager_x11.cc:289: int deviceid) { Add a DCHECK here that deviceid ...
5 years, 4 months ago (2015-08-18 16:57:46 UTC) #16
sadrul
On 2015/08/18 15:27:18, bokan wrote: > Sadrul: My CrOS build doesn't rely on any of ...
5 years, 4 months ago (2015-08-18 16:59:16 UTC) #17
Will Shackleton
So many ACKs - I'll publish more code now. https://codereview.chromium.org/688253002/diff/100001/ui/events/devices/x11/device_data_manager_x11.cc File ui/events/devices/x11/device_data_manager_x11.cc (right): https://codereview.chromium.org/688253002/diff/100001/ui/events/devices/x11/device_data_manager_x11.cc#newcode289 ui/events/devices/x11/device_data_manager_x11.cc:289: ...
5 years, 3 months ago (2015-08-26 19:52:48 UTC) #18
sadrul
https://codereview.chromium.org/688253002/diff/100001/ui/events/x/events_x.cc File ui/events/x/events_x.cc (right): https://codereview.chromium.org/688253002/diff/100001/ui/events/x/events_x.cc#newcode443 ui/events/x/events_x.cc:443: return ET_MOUSEWHEEL; On 2015/08/26 19:52:48, Will Shackleton wrote: > ...
5 years, 3 months ago (2015-08-26 19:55:57 UTC) #19
Will Shackleton
On 2015/08/26 19:55:57, sadrul wrote: > https://codereview.chromium.org/688253002/diff/100001/ui/events/x/events_x.cc > File ui/events/x/events_x.cc (right): > > https://codereview.chromium.org/688253002/diff/100001/ui/events/x/events_x.cc#newcode443 > ...
5 years, 3 months ago (2015-08-26 20:10:51 UTC) #20
Will Shackleton
How's this looking now?
5 years, 3 months ago (2015-09-21 13:41:05 UTC) #21
Will Shackleton
I fixed the scrolling tab behaviour mentioned in the issue - tabs now scroll at ...
5 years, 2 months ago (2015-10-21 20:25:52 UTC) #22
Will Shackleton
I fixed the jumping around issue. This is now ready to go I think.
5 years, 1 month ago (2015-11-21 22:14:35 UTC) #23
Will Shackleton
On 2015/11/21 22:14:35, Will Shackleton wrote: > I fixed the jumping around issue. This is ...
5 years ago (2015-11-30 11:25:56 UTC) #24
bokan
https://codereview.chromium.org/688253002/diff/220001/content/browser/web_contents/web_contents_impl.h File content/browser/web_contents/web_contents_impl.h (right): https://codereview.chromium.org/688253002/diff/220001/content/browser/web_contents/web_contents_impl.h#newcode1219 content/browser/web_contents/web_contents_impl.h:1219: float zoom_scroll_amount_; Please initialize this https://codereview.chromium.org/688253002/diff/220001/ui/events/devices/x11/device_data_manager_x11.cc File ui/events/devices/x11/device_data_manager_x11.cc (right): ...
5 years ago (2015-12-01 18:29:27 UTC) #25
Will Shackleton
@bokan: thanks. I've had a go at fixing the scroll jumping you're experiencing. Chrome wasn't ...
5 years ago (2015-12-12 22:06:16 UTC) #26
bokan
On 2015/12/12 22:06:16, Will Shackleton wrote: > @bokan: thanks. I've had a go at fixing ...
5 years ago (2015-12-15 18:31:37 UTC) #27
sadrul
I think the changes in web_contents_impl should be split into its own CL. But other ...
4 years, 11 months ago (2016-01-04 18:51:22 UTC) #28
Will Shackleton
All makes sense. I'll apply these and re-submit (along with a 2nd CL for the ...
4 years, 11 months ago (2016-01-04 21:07:42 UTC) #29
sadrul
Just a few more nits. (Also, please make sure to publish+mail comments after you upload ...
4 years, 11 months ago (2016-01-05 16:46:24 UTC) #30
Will Shackleton
Right, think that's all done. As mentioned inline, I can't actually delete |GetScrollClassEventDetail()| despite having ...
4 years, 11 months ago (2016-01-05 21:27:03 UTC) #31
Will Shackleton
On 2016/01/05 21:27:03, Will Shackleton wrote: > Right, think that's all done. As mentioned inline, ...
4 years, 11 months ago (2016-01-06 21:31:49 UTC) #32
sadrul
+msw@ for chrome/browser/ui owner The rest of the bits lgtm with the following nit. https://codereview.chromium.org/688253002/diff/320001/ui/events/devices/x11/device_data_manager_x11.cc ...
4 years, 11 months ago (2016-01-08 17:10:21 UTC) #34
msw
https://codereview.chromium.org/688253002/diff/320001/chrome/browser/ui/views/frame/browser_root_view.cc File chrome/browser/ui/views/frame/browser_root_view.cc (right): https://codereview.chromium.org/688253002/diff/320001/chrome/browser/ui/views/frame/browser_root_view.cc#newcode140 chrome/browser/ui/views/frame/browser_root_view.cc:140: // Number of integer scroll events that have passed ...
4 years, 11 months ago (2016-01-09 05:23:57 UTC) #35
Will Shackleton
I've fixed all those - @msw, are you happy? https://codereview.chromium.org/688253002/diff/320001/chrome/browser/ui/views/frame/browser_root_view.cc File chrome/browser/ui/views/frame/browser_root_view.cc (right): https://codereview.chromium.org/688253002/diff/320001/chrome/browser/ui/views/frame/browser_root_view.cc#newcode140 chrome/browser/ui/views/frame/browser_root_view.cc:140: ...
4 years, 11 months ago (2016-01-10 14:18:42 UTC) #36
msw
Okay, lgtm, I guess.
4 years, 11 months ago (2016-01-11 18:13:59 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/688253002/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/688253002/340001
4 years, 11 months ago (2016-01-11 19:00:21 UTC) #40
commit-bot: I haz the power
Committed patchset #18 (id:340001)
4 years, 11 months ago (2016-01-11 20:09:09 UTC) #42
commit-bot: I haz the power
Patchset 18 (id:??) landed as https://crrev.com/c9c1cfcd812112c7cfacbbbe2a2dacbd117b1f48 Cr-Commit-Position: refs/heads/master@{#368645}
4 years, 11 months ago (2016-01-11 20:10:01 UTC) #44
msw
https://codereview.chromium.org/688253002/diff/340001/chrome/browser/ui/views/frame/browser_root_view.cc File chrome/browser/ui/views/frame/browser_root_view.cc (right): https://codereview.chromium.org/688253002/diff/340001/chrome/browser/ui/views/frame/browser_root_view.cc#newcode178 chrome/browser/ui/views/frame/browser_root_view.cc:178: void BrowserRootView::OnMouseExited(const ui::MouseEvent& event) { This should probably be ...
4 years, 10 months ago (2016-02-02 19:00:57 UTC) #45
Lei Zhang
Will: We suspect this might be causing https://crbug.com/582547 but I can't CC you on the ...
4 years, 10 months ago (2016-02-23 03:19:18 UTC) #46
Will Shackleton
I'll have a look this morning. On Tue, 23 Feb 2016 03:19 <thestig@chromium.org> wrote: > ...
4 years, 10 months ago (2016-02-23 09:06:42 UTC) #47
dtapuska
4 years, 9 months ago (2016-03-09 20:28:48 UTC) #48
Message was sent while issue was closed.
On 2016/02/23 09:06:42, Will Shackleton wrote:
> I'll have a look this morning.
> 
> On Tue, 23 Feb 2016 03:19  <mailto:thestig@chromium.org> wrote:
> 
> > Will: We suspect this might be causing https://crbug.com/582547 but I
> > can't CC
> > you on the bug.
> >
> > https://codereview.chromium.org/688253002/
> >
> 
> -- 
> You received this message because you are subscribed to the Google Groups
> "Chromium-reviews" group.
> To unsubscribe from this group and stop receiving emails from it, send an
email
> to mailto:chromium-reviews+unsubscribe@chromium.org.

A regression has been caused by this change:
https://bugs.chromium.org/p/chromium/issues/detail?id=591998

Powered by Google App Engine
This is Rietveld 408576698