New issue
Advanced search Search tips

Issue 757101 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Bug



Sign in to add a comment

[CRD iOS] Viewport jumps when hiding/showing keyboard

Project Member Reported by yuweih@chromium.org, Aug 18 2017

Issue description

What steps will reproduce the problem?
(1) Connect to a host
(2) Switch to trackpad mode
(3) Move the cursor to the bottom of the host view
(4) Open the soft keyboard
(5) Just move the cursor a bit

What is the expected result?

The whole process should be smooth. The viewport should keep focusing on the cursor position.

What happens instead?

The viewport is shown on the same position during the animation. After step 5 is done, the viewport just suddenly jumps up to focus on the cursor position.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 21 2017

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

commit dd311f7e075e174fa3a49458e9bfc4e8876766f3
Author: Yuwei Huang <yuweih@chromium.org>
Date: Mon Aug 21 18:55:16 2017

[CRD iOS] Fix broken viewport state when showing the soft keyboard that overlays the cursor

Previously if the cursor is overlaid by the keyboard when the keyboard
is being shown, the viewport will not focus on the cursor when the
animation is done, and moving cursor after that will cause the viewport
to jump and match the cursor position.

This CL fixes this by resetting the viewport center every time the
surface size is changed and adding animation to mitigate the abruptness
of surface size change.

Bug:  757101 
Change-Id: I6d1dcf0b7e34ba08ee24ce92ad7cab993587210b
Reviewed-on: https://chromium-review.googlesource.com/621604
Reviewed-by: Scott Nichols <nicholss@chromium.org>
Commit-Queue: Yuwei Huang <yuweih@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496009}
[modify] https://crrev.com/dd311f7e075e174fa3a49458e9bfc4e8876766f3/remoting/client/gesture_interpreter.cc
[modify] https://crrev.com/dd311f7e075e174fa3a49458e9bfc4e8876766f3/remoting/client/input/direct_touch_input_strategy.cc
[modify] https://crrev.com/dd311f7e075e174fa3a49458e9bfc4e8876766f3/remoting/client/input/direct_touch_input_strategy.h
[modify] https://crrev.com/dd311f7e075e174fa3a49458e9bfc4e8876766f3/remoting/client/input/touch_input_strategy.h
[modify] https://crrev.com/dd311f7e075e174fa3a49458e9bfc4e8876766f3/remoting/client/input/trackpad_input_strategy.cc
[modify] https://crrev.com/dd311f7e075e174fa3a49458e9bfc4e8876766f3/remoting/client/input/trackpad_input_strategy.h
[modify] https://crrev.com/dd311f7e075e174fa3a49458e9bfc4e8876766f3/remoting/ios/app/host_view_controller.mm
[modify] https://crrev.com/dd311f7e075e174fa3a49458e9bfc4e8876766f3/remoting/ios/session/remoting_client.mm

Comment 2 by yuweih@chromium.org, Aug 23 2017

Status: Fixed (was: Assigned)
Status: Verified (was: Fixed)
Verified Fixed in 63.0.3220.0

Sign in to add a comment