|
|
Created:
4 years, 10 months ago by kelvinp Modified:
4 years, 10 months ago CC:
chromium-reviews, oshima+watch_chromium.org, chromoting-reviews_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionRespect display rotation on Chrome OS.
We need to use layer->GetTargetTransform()
instead of layer->transform() as the display may be animating while we are setting the root window transform.
BUG=515561
Committed: https://crrev.com/5e2d348e7769f8b1d4ac9248ba4542472feb2354
Cr-Commit-Position: refs/heads/master@{#377725}
Patch Set 1 #Patch Set 2 : Fix pixels terminologies #Patch Set 3 : Use Ash Transform #Patch Set 4 : Use GetTargetTransform() #Messages
Total messages: 27 (13 generated)
Description was changed from ========== Respect display rotation on Chrome OS. There is a breaking change in Chrome OS in which ASH (Aura Shell) no longer handles screen rotation and delegate that to a lower layer. As a result, chromoting needs to implement its own transform in handling display rotation. The client always injection mouse move events in root co-ordinates. We need to apply a rotation around the z-axis and then translate the origin as appropriate. BUG=515561 ========== to ========== Respect display rotation on Chrome OS. There is a breaking change in Chrome OS in which ASH (Aura Shell) no longer handles screen rotation in the layer of the window. As a result, chromoting needs to implement its own transform in handling display rotation. The client always injection mouse move events in root co-ordinates. We need to apply a rotation around the z-axis and then translate the origin as appropriate. BUG=515561 ==========
kelvinp@chromium.org changed reviewers: + jamiewalch@chromium.org, spang@chromium.org
PTAL
It seems very brittle to duplicate these transformations for remoting. Isn't that why it regressed? If we ever refactor this to make more sense, it'll break again. Can't you use an aura or ash API for this?
Description was changed from ========== Respect display rotation on Chrome OS. There is a breaking change in Chrome OS in which ASH (Aura Shell) no longer handles screen rotation in the layer of the window. As a result, chromoting needs to implement its own transform in handling display rotation. The client always injection mouse move events in root co-ordinates. We need to apply a rotation around the z-axis and then translate the origin as appropriate. BUG=515561 ========== to ========== Respect display rotation on Chrome OS. There is a breaking change in Chrome OS in which ASH (Aura Shell) no longer handles screen rotation in the layer of the window. As a result, chromoting needs to apply its own transform using the AshRootWindowTransformer. BUG=515561 ==========
Good point. Changed. PTAL
On 2016/02/24 00:07:58, kelvinp wrote: > Good point. Changed. PTAL Spang can you take a another look on my change. I would like to check in before the branch point if possible.
spang@chromium.org changed reviewers: + oshima@chromium.org
Please have the ash guys look at it. +oshima
On 2016/02/25 00:42:09, spang wrote: > Please have the ash guys look at it. > > +oshima Hi, I'm not familiar why remoting needs to be aware of host's screen rotation. Can you elaborate a bit and also let me know which change in chromeos broke old behavior?
On 2016/02/25 15:31:59, oshima wrote: > On 2016/02/25 00:42:09, spang wrote: > > Please have the ash guys look at it. > > > > +oshima > > Hi, > > I'm not familiar why remoting needs to be aware of host's screen rotation. Can > you elaborate a bit and > also let me know which change in chromeos broke old behavior? Here is the scenario in mind: Remote desktop is a software to allow remote input injection (mouse, keyboard) and screen rendering. When the Host screen (has dimensions of 1280 x 640) is rotated 90 degrees, the screen is rendered on the client with portrait orientation (640 x 1280). When the user clicks on (1,1), on the client, we needs to account for rotation and maps the click to (1279, 639) on the host. Since ASH always represent co-ordinates in root window co-ordinates, we need to handle the transform. Kelvin
Patchset #4 (id:60001) has been deleted
PTAL
Description was changed from ========== Respect display rotation on Chrome OS. There is a breaking change in Chrome OS in which ASH (Aura Shell) no longer handles screen rotation in the layer of the window. As a result, chromoting needs to apply its own transform using the AshRootWindowTransformer. BUG=515561 ========== to ========== Respect display rotation on Chrome OS. There is a breaking change in Chrome OS in which ASH (Aura Shell) in display rotation. We need to use layer->GetTargetTransform() instead of layer->transform() as the display may be animating while we try to set the root window transform. BUG=515561 ==========
Can you update the CL description? then lgtm
Description was changed from ========== Respect display rotation on Chrome OS. There is a breaking change in Chrome OS in which ASH (Aura Shell) in display rotation. We need to use layer->GetTargetTransform() instead of layer->transform() as the display may be animating while we try to set the root window transform. BUG=515561 ========== to ========== Respect display rotation on Chrome OS. We need to use layer->GetTargetTransform() instead of layer->transform() as the display may be animating while we try to set the root window transform. BUG=515561 ==========
Description was changed from ========== Respect display rotation on Chrome OS. We need to use layer->GetTargetTransform() instead of layer->transform() as the display may be animating while we try to set the root window transform. BUG=515561 ========== to ========== Respect display rotation on Chrome OS. We need to use layer->GetTargetTransform() instead of layer->transform() as the display may be animating while we are setting the root window transform. BUG=515561 ==========
The CQ bit was checked by kelvinp@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1712343004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1712343004/80001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by kelvinp@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1712343004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1712343004/80001
Message was sent while issue was closed.
Description was changed from ========== Respect display rotation on Chrome OS. We need to use layer->GetTargetTransform() instead of layer->transform() as the display may be animating while we are setting the root window transform. BUG=515561 ========== to ========== Respect display rotation on Chrome OS. We need to use layer->GetTargetTransform() instead of layer->transform() as the display may be animating while we are setting the root window transform. BUG=515561 ==========
Message was sent while issue was closed.
Committed patchset #4 (id:80001)
Message was sent while issue was closed.
Description was changed from ========== Respect display rotation on Chrome OS. We need to use layer->GetTargetTransform() instead of layer->transform() as the display may be animating while we are setting the root window transform. BUG=515561 ========== to ========== Respect display rotation on Chrome OS. We need to use layer->GetTargetTransform() instead of layer->transform() as the display may be animating while we are setting the root window transform. BUG=515561 Committed: https://crrev.com/5e2d348e7769f8b1d4ac9248ba4542472feb2354 Cr-Commit-Position: refs/heads/master@{#377725} ==========
Message was sent while issue was closed.
Patchset 4 (id:??) landed as https://crrev.com/5e2d348e7769f8b1d4ac9248ba4542472feb2354 Cr-Commit-Position: refs/heads/master@{#377725} |