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

Issue 788234 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 788439



Sign in to add a comment

Support low latency input mode for canvas

Project Member Reported by dtapu...@chromium.org, Nov 23 2017

Issue description

Add ability to disable rAF aligned events when canvas enters the low latency mode.
 

Comment 1 by junov@chromium.org, Nov 24 2017

Summary: Support low latency input mode for canvas (was: Support low latency mode for canvas)

Comment 2 by junov@chromium.org, Nov 24 2017

Blocking: 788261

Comment 3 by mustaq@chromium.org, Nov 24 2017

Cc: mustaq@chromium.org

Comment 4 by junov@chromium.org, Nov 24 2017

Blocking: 788439

Comment 5 by junov@chromium.org, Nov 24 2017

Blocking: -788261
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 28 2017

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

commit bafc2ba3b2d740a656e19a2f7473ea7922530a6f
Author: Dave Tapuska <dtapuska@chromium.org>
Date: Tue Nov 28 01:54:37 2017

Add unbuffered dispatch mode to the MainThreadEventQueue

Unbuffered dispatch mode is very analogous to the Android version. It
will send touchmove/mousemoves immediately while the pointer is down.
If the target is a HTML Canvas it is queried if it is in unbuffered
dispatch mode and if it is the mode is requested from the input queue.

BUG= 788234 

Change-Id: Ib92e9f52c9b32e52c6b90dd2c002adaedf361f96
Reviewed-on: https://chromium-review.googlesource.com/789550
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
Reviewed-by: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519518}
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/content/renderer/input/main_thread_event_queue.cc
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/content/renderer/input/main_thread_event_queue.h
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/content/renderer/input/main_thread_event_queue_unittest.cc
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/content/renderer/render_widget.cc
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/content/renderer/render_widget.h
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/third_party/WebKit/Source/core/input/EventHandlerTest.cpp
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/third_party/WebKit/Source/core/input/PointerEventManager.cpp
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/third_party/WebKit/Source/core/loader/EmptyClients.h
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/third_party/WebKit/Source/core/page/ChromeClientImpl.h
[modify] https://crrev.com/bafc2ba3b2d740a656e19a2f7473ea7922530a6f/third_party/WebKit/public/web/WebWidgetClient.h

Status: Fixed (was: Assigned)
Cc: mcasas@chromium.org
@mcasas, I was looking through the code and noticed that only plugins use the kTouchStartOrMoveEventBlockingLowLatency EventHandlerClass. Should low latency canvas be using this codepath too?
#8, I'm not familiar with the Pepper/NaCl version of the lowLatency 
since it was landed before me, but it from the sounds of it it 
should be using that path. What's missing now ? go/stylus-web-devex is
what's being used right now in terms of low latency input for demoing.
No you don't need to use the kTouchStartOrMoveEventBlockingLowLatency...

The pointer event manager checks the target if it is a HTMLCanvasElement and will see if it NeedsUnbufferedInputEvents

If it does it won't rAF align the events.

Labels: LowLatench
Labels: -LowLatench LowLatency

Sign in to add a comment