New issue
Advanced search Search tips

Issue 714193 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS , Mac
Pri: 1
Type: Bug



Sign in to add a comment

CRD DesktopCanvas.java class should be generalized and moved to native code for sharing.

Project Member Reported by nicho...@chromium.org, Apr 21 2017

Issue description

At least the logic in: remoting/android/java/src/org/chromium/chromoting/DesktopCanvas.java should be moved to the native impl of client display rendering. This will allow iOS to also leverage the scaling math for a screen onto a canvas. 

We might want to move Desktop.java and other related things to drawing / scaling a remoted desktop, ie mouse and mouse feedback screens as well.
 

Comment 1 by yuweih@chromium.org, Apr 25 2017

Owner: yuweih@chromium.org
Status: Assigned (was: Untriaged)
As discussed with Scott, I'll take this bug.
CL https://codereview.chromium.org/2843373005/ belongs to this issue. Forgot to include the BUG number O_o
Project Member

Comment 3 by bugdroid1@chromium.org, May 3 2017

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

commit 5ba48720088b63559dd073eb28dfcbc9c99542a5
Author: yuweih <yuweih@chromium.org>
Date: Wed May 03 18:43:20 2017

[Remoting Client] Fix scaling bug in ViewMatrix

I've forgot to scale the old offset before adding the offset adjustment :P
This CL fixes that bug and adds a test case to guard that pivot point remains
fixed after scaling.

BUG= 714193 

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

[modify] https://crrev.com/5ba48720088b63559dd073eb28dfcbc9c99542a5/remoting/client/desktop_viewport_unittest.cc
[modify] https://crrev.com/5ba48720088b63559dd073eb28dfcbc9c99542a5/remoting/client/view_matrix.cc

Project Member

Comment 4 by bugdroid1@chromium.org, May 4 2017

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

commit a4d96d0d8bdcc688451ad0376a7304df5b41904a
Author: yuweih <yuweih@chromium.org>
Date: Thu May 04 19:08:51 2017

[Remoting iOS] Basic viewport manipulation support

This CL adds some basic zoom and pan support (touch input mode only for now)
for the iOS client.

This is minimum code to make use of DesktopViewport. The client gesture stuff
may still need more refactoring or redesign to support trackpad input mode,
deceleration animation, etc.

BUG= 714193 

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

[modify] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/BUILD.gn
[add] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/gesture_interpreter.cc
[add] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/gesture_interpreter.h
[modify] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/ios/app/host_view_controller.h
[modify] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/ios/app/host_view_controller.mm
[modify] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/ios/client_gestures.h
[modify] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/ios/client_gestures.mm
[modify] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/ios/display/gl_display_handler.h
[modify] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/ios/display/gl_display_handler.mm
[modify] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/ios/session/remoting_client.h
[modify] https://crrev.com/a4d96d0d8bdcc688451ad0376a7304df5b41904a/remoting/client/ios/session/remoting_client.mm

Project Member

Comment 5 by bugdroid1@chromium.org, May 5 2017

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

commit 7d3646bfe269e917e57434dcc3fce46121c136e5
Author: yuweih <yuweih@chromium.org>
Date: Fri May 05 22:49:26 2017

[Remoting Client] Always ResizeToFit when desktop/surface size is changed

Previously in DesktopViewport we only call ResizeToFit when the desktop/surface
is set for the first time. This doesn't always work. Occasionally the host will
send a 0x0 frame before sending the frame with the actual dimensions. This
makes the viewport stuck with inf scale.

This CL always resets the viewport when either of the dimension is changed.
This will also help with the screen rotation case.

In the future we may need exceptions for not calling ResizeToFit, e.g. showing
the keyboard. We might just introduce a parameter or something to disable it,
but lets do it when we get to that point.

BUG= 714193 

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

[modify] https://crrev.com/7d3646bfe269e917e57434dcc3fce46121c136e5/remoting/client/desktop_viewport.cc
[modify] https://crrev.com/7d3646bfe269e917e57434dcc3fce46121c136e5/remoting/client/desktop_viewport.h
[modify] https://crrev.com/7d3646bfe269e917e57434dcc3fce46121c136e5/remoting/client/view_matrix.cc
[modify] https://crrev.com/7d3646bfe269e917e57434dcc3fce46121c136e5/remoting/client/view_matrix.h

Project Member

Comment 6 by bugdroid1@chromium.org, May 12 2017

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

commit 4e32ad08870d1abc5752c1bfe8912a1f4c69dd57
Author: yuweih <yuweih@chromium.org>
Date: Fri May 12 00:16:47 2017

[CRD iOS] Viewport fling animation

This CL implements the viewport fling animation for iOS client. This
re-impements Android client's FlingAnimationJob and impements a simplified
version of Android's Scroller in C++.

BUG= 714193 

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

[modify] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/client/BUILD.gn
[add] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/client/fling_animation.cc
[add] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/client/fling_animation.h
[add] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/client/fling_animation_unittest.cc
[add] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/client/fling_tracker.cc
[add] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/client/fling_tracker.h
[modify] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/client/gesture_interpreter.cc
[modify] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/client/gesture_interpreter.h
[modify] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/ios/client_gestures.h
[modify] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/ios/client_gestures.mm
[modify] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/ios/display/gl_display_handler.h
[modify] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/ios/display/gl_display_handler.mm
[modify] https://crrev.com/4e32ad08870d1abc5752c1bfe8912a1f4c69dd57/remoting/ios/session/remoting_client.mm

Project Member

Comment 7 by bugdroid1@chromium.org, May 30 2017

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

commit 61bed118775724243545580086dc1186e6f66949
Author: yuweih <yuweih@chromium.org>
Date: Tue May 30 20:25:58 2017

[CRD iOS] Preserve viewport state when toggling the soft keyboard

Previously toggling the soft keyboard will always reset the viewport state.
This should only be done when the view frame is undergoing significant
changes, e.g. screen rotated.

For now I just define "significant change" as the change of both of the surface
dimensions, by doing so the viewport will not be reset when it's scrolled up to
show temporary elements like software keyboard.

BUG= 714193 

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

[modify] https://crrev.com/61bed118775724243545580086dc1186e6f66949/remoting/client/ui/desktop_viewport.cc
[modify] https://crrev.com/61bed118775724243545580086dc1186e6f66949/remoting/client/ui/desktop_viewport.h

Comment 8 by yuweih@chromium.org, Jun 23 2017

Status: Fixed (was: Assigned)

Sign in to add a comment