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

Issue 2548363007: Emulate Android joystick scroll with synthetic mouse wheel event (Closed)

Created:
4 years ago by Tima Vaisburd
Modified:
4 years ago
CC:
chromium-reviews, jam, darin-cc_chromium.org, agrieve+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Emulate Android joystick scroll with synthetic mouse wheel event The JoystickScrollProvider Java class used to emulate a View scroll events and call ContentViewCore.scrollBy(), now it emulates the mouse wheel events directly, dropping the calculation of the current event position (it is set to (0,0)). This CL also removes JoystickScrollProvider dependency on ContentViewCore, it talks to its own native counterpart. BUG=620929, 650351 Committed: https://crrev.com/4537fa801ee646b95ef496083e824e468978a374 Cr-Commit-Position: refs/heads/master@{#437826}

Patch Set 1 #

Total comments: 30

Patch Set 2 : Native side and ContentViewCore.java cleanup #

Total comments: 3

Patch Set 3 : Rebase only #

Patch Set 4 : Turned JoystickScrollProvider into independent DisplayObserver #

Total comments: 5

Patch Set 5 : Addressed comments #

Patch Set 6 : Fixed tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+263 lines, -52 lines) Patch
M content/browser/BUILD.gn View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/android/browser_jni_registrar.cc View 2 chunks +2 lines, -0 lines 0 comments Download
A content/browser/android/joystick_scroll_provider.h View 1 1 chunk +44 lines, -0 lines 0 comments Download
A content/browser/android/joystick_scroll_provider.cc View 1 2 3 4 5 1 chunk +97 lines, -0 lines 0 comments Download
M content/public/android/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ContentView.java View 1 2 1 chunk +1 line, -1 line 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java View 1 2 3 4 5 13 chunks +17 lines, -18 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java View 1 2 3 4 9 chunks +99 lines, -33 lines 0 comments Download

Messages

Total messages: 35 (15 generated)
Tima Vaisburd
As discussed offline with Alex I made the JoystickScrollProvider emulate synthetic mouse events through it's ...
4 years ago (2016-12-07 02:57:46 UTC) #3
boliu
https://codereview.chromium.org/2548363007/diff/1/content/browser/android/joystick_scroll_provider.cc File content/browser/android/joystick_scroll_provider.cc (right): https://codereview.chromium.org/2548363007/diff/1/content/browser/android/joystick_scroll_provider.cc#newcode50 content/browser/android/joystick_scroll_provider.cc:50: DCHECK(!web_contents_->GetUserData(kJoystickScrollUserDataKey)); move this DCHECK to Init conceptually, this is ...
4 years ago (2016-12-07 06:06:44 UTC) #4
Tima Vaisburd
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode129 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:129: mLastAnimateTimeMillis = SystemClock.uptimeMillis(); On 2016/12/07 06:06:44, boliu wrote: > ...
4 years ago (2016-12-07 18:14:40 UTC) #5
boliu
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode129 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:129: mLastAnimateTimeMillis = SystemClock.uptimeMillis(); On 2016/12/07 18:14:40, Tima Vaisburd wrote: ...
4 years ago (2016-12-07 18:23:21 UTC) #6
Tima Vaisburd
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode144 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:144: nativeScrollBy( On 2016/12/07 18:23:21, boliu wrote: > That did ...
4 years ago (2016-12-07 18:54:44 UTC) #7
boliu
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode144 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:144: nativeScrollBy( On 2016/12/07 18:54:44, Tima Vaisburd wrote: > On ...
4 years ago (2016-12-07 19:05:01 UTC) #8
Tima Vaisburd
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode144 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:144: nativeScrollBy( On 2016/12/07 19:05:01, boliu wrote: > Not necessarily. ...
4 years ago (2016-12-07 19:29:57 UTC) #9
boliu
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode144 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:144: nativeScrollBy( On 2016/12/07 19:29:57, Tima Vaisburd wrote: > On ...
4 years ago (2016-12-07 19:58:30 UTC) #10
Tima Vaisburd
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode144 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:144: nativeScrollBy( On 2016/12/07 19:58:30, boliu wrote: > On 2016/12/07 ...
4 years ago (2016-12-07 20:56:03 UTC) #11
boliu
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode144 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:144: nativeScrollBy( On 2016/12/07 20:56:03, Tima Vaisburd wrote: > On ...
4 years ago (2016-12-07 21:02:26 UTC) #12
Tima Vaisburd
https://codereview.chromium.org/2548363007/diff/1/content/browser/android/joystick_scroll_provider.cc File content/browser/android/joystick_scroll_provider.cc (right): https://codereview.chromium.org/2548363007/diff/1/content/browser/android/joystick_scroll_provider.cc#newcode50 content/browser/android/joystick_scroll_provider.cc:50: DCHECK(!web_contents_->GetUserData(kJoystickScrollUserDataKey)); On 2016/12/07 06:06:43, boliu wrote: > move this ...
4 years ago (2016-12-08 00:35:48 UTC) #13
boliu
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode55 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:55: public void initialize(WebContents webContents, View containerView) { On 2016/12/08 ...
4 years ago (2016-12-08 06:03:09 UTC) #14
Tima Vaisburd
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode77 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:77: public void setDeviceScaleFactor(float dipScale, WeakReference<Context> displayContext) { On 2016/12/08 ...
4 years ago (2016-12-08 18:23:20 UTC) #15
Tima Vaisburd
https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/1/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode55 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:55: public void initialize(WebContents webContents, View containerView) { On 2016/12/08 ...
4 years ago (2016-12-08 20:32:20 UTC) #18
boliu
https://codereview.chromium.org/2548363007/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode28 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:28: public void onRotationChanged(int rotation) {} hmm, use a private ...
4 years ago (2016-12-08 21:42:24 UTC) #19
Tima Vaisburd
https://codereview.chromium.org/2548363007/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java File content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java (right): https://codereview.chromium.org/2548363007/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java#newcode28 content/public/android/java/src/org/chromium/content/browser/input/JoystickScrollProvider.java:28: public void onRotationChanged(int rotation) {} On 2016/12/08 21:42:24, boliu ...
4 years ago (2016-12-08 22:50:10 UTC) #22
boliu
lgtm
4 years ago (2016-12-08 22:51:20 UTC) #23
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/2548363007/100001
4 years ago (2016-12-12 05:54:18 UTC) #30
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years ago (2016-12-12 06:47:29 UTC) #33
commit-bot: I haz the power
4 years ago (2016-12-12 15:10:51 UTC) #35
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/4537fa801ee646b95ef496083e824e468978a374
Cr-Commit-Position: refs/heads/master@{#437826}

Powered by Google App Engine
This is Rietveld 408576698