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

Issue 2645663004: exo: Initial support for multiple displays in ARC (Closed)

Created:
3 years, 11 months ago by Dominik Laskowski
Modified:
3 years, 9 months ago
Reviewers:
reveman, oshima
CC:
chromium-reviews, Mr4D (OOO till 08-26)
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

exo: Initial support for multiple displays in ARC This CL adds the ability to drag ARC windows to external displays, which is achieved by mapping window positions from a single virtual display in ARC to multiple physical displays in Chrome OS. The new version of the Wayland protocol enables the ARC window manager to perform window layout on multiple workspaces, which are mapped to server-side displays. The compositor also handles events from ARC to differentiate between dragging and other geometry updates. This enables it to render phantom windows during dragging, and transfer the window to the target root window when the drag ends. BUG=642894 TEST=samus,minnie: ARC apps can be dragged to external displays using different display settings, e.g. resolution, layout, orientation. Review-Url: https://codereview.chromium.org/2645663004 Cr-Commit-Position: refs/heads/master@{#457249} Committed: https://chromium.googlesource.com/chromium/src/+/623c02906151795123d5b40dfa3b931f98a916cc

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Fix race and refactor #

Total comments: 24

Patch Set 4 : Address comments #

Patch Set 5 : Rebase #

Patch Set 6 : Fix bad merge in test #

Total comments: 4

Patch Set 7 : Split #

Patch Set 8 : Rebase #

Patch Set 9 : Fix bad merge #

Patch Set 10 : Rebase #

Total comments: 1

Patch Set 11 : Rebase #

Patch Set 12 : Split #

Patch Set 13 : Remove ShellSurface tracking #

Patch Set 14 : Rebase #

Total comments: 30

Patch Set 15 : Refactor #

Total comments: 8

Patch Set 16 : Address nits #

Patch Set 17 : Move coordinate conversion to client #

Patch Set 18 : Rebase #

Total comments: 4

Patch Set 19 : Address nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+305 lines, -111 lines) Patch
M components/exo/display.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M components/exo/display.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +1 line, -2 lines 0 comments Download
M components/exo/display_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -3 lines 0 comments Download
M components/exo/shell_surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 6 chunks +14 lines, -2 lines 0 comments Download
M components/exo/shell_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 chunks +199 lines, -88 lines 0 comments Download
M components/exo/shell_surface_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +2 lines, -2 lines 0 comments Download
M components/exo/wayland/server.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 10 chunks +48 lines, -13 lines 0 comments Download
M components/exo/wm_helper.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +13 lines, -0 lines 0 comments Download
M components/exo/wm_helper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +15 lines, -0 lines 0 comments Download
M components/exo/wm_helper_ash.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +5 lines, -0 lines 0 comments Download
M components/exo/wm_helper_ash.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +6 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 76 (53 generated)
Dominik Laskowski
PTAL. Dragging edge cases were split out: https://codereview.chromium.org/2396883003/
3 years, 11 months ago (2017-01-19 18:43:03 UTC) #4
Dominik Laskowski
Ping.
3 years, 11 months ago (2017-01-25 03:39:33 UTC) #7
Dominik Laskowski
PTAL. As discussed offline, the client now uses screen coordinates for geometry updates, and acknowledges ...
3 years, 10 months ago (2017-02-04 01:09:23 UTC) #13
reveman
Some early feedback. I haven't looked at server.cc code yet and need to review the ...
3 years, 10 months ago (2017-02-06 19:49:34 UTC) #14
Dominik Laskowski
PTAL. Instead of waiting for a client request, the compositor now aborts dragging when the ...
3 years, 10 months ago (2017-02-08 18:07:40 UTC) #15
reveman
I haven't had time to review this yet but can you start by pulling out ...
3 years, 10 months ago (2017-02-08 22:04:44 UTC) #29
Dominik Laskowski
Split out unrelated refactoring: https://codereview.chromium.org/2688483003/ https://codereview.chromium.org/2645663004/diff/100001/components/exo/shell_surface.h File components/exo/shell_surface.h (right): https://codereview.chromium.org/2645663004/diff/100001/components/exo/shell_surface.h#newcode50 components/exo/shell_surface.h:50: enum class BoundsMode { ...
3 years, 10 months ago (2017-02-09 03:01:36 UTC) #30
Dominik Laskowski
Ping.
3 years, 10 months ago (2017-02-15 23:04:47 UTC) #35
reveman
I'm not sure about the resizer related code. E.g. I don't think we should include ...
3 years, 10 months ago (2017-02-17 01:29:34 UTC) #36
Dominik Laskowski
On 2017/02/17 01:29:34, reveman wrote: > I'm not sure about the resizer related code. E.g. ...
3 years, 10 months ago (2017-02-17 04:15:11 UTC) #37
reveman
On 2017/02/17 at 04:15:11, domlaskowski wrote: > On 2017/02/17 01:29:34, reveman wrote: > > I'm ...
3 years, 10 months ago (2017-02-17 17:50:13 UTC) #38
Dominik Laskowski
On 2017/02/17 17:50:13, reveman wrote: > Can you leave ShellSurface::Move() not implemented for the CLIENT ...
3 years, 10 months ago (2017-02-23 17:38:07 UTC) #40
Dominik Laskowski
Ping.
3 years, 9 months ago (2017-02-28 22:00:39 UTC) #45
Dominik Laskowski
3 years, 9 months ago (2017-03-02 01:38:51 UTC) #46
reveman
https://codereview.chromium.org/2645663004/diff/260001/components/exo/shell_surface.cc File components/exo/shell_surface.cc (left): https://codereview.chromium.org/2645663004/diff/260001/components/exo/shell_surface.cc#oldcode1216 components/exo/shell_surface.cc:1216: // Cannot start another drag if one is already ...
3 years, 9 months ago (2017-03-02 02:00:38 UTC) #47
Dominik Laskowski
https://codereview.chromium.org/2645663004/diff/260001/components/exo/shell_surface.cc File components/exo/shell_surface.cc (left): https://codereview.chromium.org/2645663004/diff/260001/components/exo/shell_surface.cc#oldcode1216 components/exo/shell_surface.cc:1216: // Cannot start another drag if one is already ...
3 years, 9 months ago (2017-03-03 13:50:41 UTC) #50
reveman
lg after addressing latest set of comments https://codereview.chromium.org/2645663004/diff/260001/components/exo/shell_surface.cc File components/exo/shell_surface.cc (right): https://codereview.chromium.org/2645663004/diff/260001/components/exo/shell_surface.cc#newcode1031 components/exo/shell_surface.cc:1031: display_config_changed_callback_.Run(); On ...
3 years, 9 months ago (2017-03-06 19:02:13 UTC) #53
Dominik Laskowski
https://codereview.chromium.org/2645663004/diff/260001/components/exo/shell_surface.cc File components/exo/shell_surface.cc (right): https://codereview.chromium.org/2645663004/diff/260001/components/exo/shell_surface.cc#newcode1031 components/exo/shell_surface.cc:1031: display_config_changed_callback_.Run(); On 2017/03/06 19:02:13, reveman wrote: > On 2017/03/03 ...
3 years, 9 months ago (2017-03-08 23:13:23 UTC) #54
Dominik Laskowski
PTAL. As discussed offline, the client is now responsible for converting between screen and virtual ...
3 years, 9 months ago (2017-03-15 21:04:44 UTC) #62
reveman
lgtm https://codereview.chromium.org/2645663004/diff/340001/components/exo/shell_surface.cc File components/exo/shell_surface.cc (right): https://codereview.chromium.org/2645663004/diff/340001/components/exo/shell_surface.cc#newcode1034 components/exo/shell_surface.cc:1034: display::Display primary_display; nit: maybe s/primary_display/old_primary_display/ to make the ...
3 years, 9 months ago (2017-03-15 21:26:14 UTC) #63
Dominik Laskowski
https://codereview.chromium.org/2645663004/diff/340001/components/exo/shell_surface.cc File components/exo/shell_surface.cc (right): https://codereview.chromium.org/2645663004/diff/340001/components/exo/shell_surface.cc#newcode1034 components/exo/shell_surface.cc:1034: display::Display primary_display; On 2017/03/15 21:26:14, reveman wrote: > nit: ...
3 years, 9 months ago (2017-03-15 21:43:57 UTC) #66
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/2645663004/360001
3 years, 9 months ago (2017-03-15 22:53:08 UTC) #73
commit-bot: I haz the power
3 years, 9 months ago (2017-03-15 23:00:31 UTC) #76
Message was sent while issue was closed.
Committed patchset #19 (id:360001) as
https://chromium.googlesource.com/chromium/src/+/623c02906151795123d5b40dfa3b...

Powered by Google App Engine
This is Rietveld 408576698