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

Issue 793688 link

Starred by 7 users

Issue metadata

Status: Verified
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature

Blocking:
issue 830203



Sign in to add a comment

wayland forwarding of socket pairs

Project Member Reported by reve...@chromium.org, Dec 10 2017

Issue description

Chrome and xwl-run has been updated to support copy-and-paste of text data. Socket pair forwarding is the only piece missing for this to work as expected. 
 
Cc: za...@chromium.org reve...@chromium.org chirantan@chromium.org smbar...@chromium.org puneetster@chromium.org
Owner: ----
Status: Available (was: Assigned)
It looks folks using the VM (reveman@) are requesting to raise the priority of this task.  I am hoping Chirantan@ or smbarber@ can take this on.
Components: OS>Systems>Containers

Comment 3 by za...@chromium.org, Mar 15 2018

Owner: za...@chromium.org
Status: Started (was: Available)
Labels: Type-Feature
Labels: Hotlist-Crostini-Platform
Labels: Hotlist-Announce
Project Member

Comment 7 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/29484502829b98f7ac8b8445f75c3d71dd79dbaf

commit 29484502829b98f7ac8b8445f75c3d71dd79dbaf
Author: Zach Reizner <zachr@google.com>
Date: Fri Mar 30 04:59:43 2018

sys_util: add function for creating pipe pairs

Rust's libstd only supports creating socket pairs or pipes for spawning
processes. This change supports creating a unidirectional pipe pair for
any purpose.

BUG= chromium:793688 
TEST=None

Change-Id: Ie148735f18c5b8859d8981b9035d87f806a487ff
Reviewed-on: https://chromium-review.googlesource.com/985614
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/29484502829b98f7ac8b8445f75c3d71dd79dbaf/sys_util/src/lib.rs

Project Member

Comment 8 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/3afab33a8d797433b6742963ac34e5cf1a57bf64

commit 3afab33a8d797433b6742963ac34e5cf1a57bf64
Author: Zach Reizner <zachr@google.com>
Date: Fri Mar 30 04:59:44 2018

sys_util: add type to get open file flags

The only instance of libstd getting file flags is the debug formatter
for `File` which would be hacky to depend on. This change adds a type
and method to directly get open file flags.

TEST=cargo test -p sys_util
BUG= chromium:793688 

Change-Id: I9fe411d8cb45d2993e2334ffe41f2eb6ec48de70
Reviewed-on: https://chromium-review.googlesource.com/985615
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/3afab33a8d797433b6742963ac34e5cf1a57bf64/sys_util/src/lib.rs
[add] https://crrev.com/3afab33a8d797433b6742963ac34e5cf1a57bf64/sys_util/src/file_flags.rs

Project Member

Comment 9 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/b2e528b5758bf852c2092dd5da9e680e66c8c1dd

commit b2e528b5758bf852c2092dd5da9e680e66c8c1dd
Author: Zach Reizner <zachr@google.com>
Date: Fri Mar 30 04:59:45 2018

sys_util: impl Pollable for File

Files are Pollable because they have an FD. Whether this makes sense for
any specific `File` is not enforced, but it will never be unsafe or
undefined when used with Poller.

BUG= chromium:793688 
TEST=None

Change-Id: I2ce7ffd1b408bcee5ffbb3738d26339aa0c466e0
Reviewed-on: https://chromium-review.googlesource.com/985617
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/b2e528b5758bf852c2092dd5da9e680e66c8c1dd/sys_util/src/poll.rs

Project Member

Comment 10 by bugdroid1@chromium.org, Apr 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/containers/sommelier/+/65d4d4911a244ff0134c0dcbfa5dba05d4c41780

commit 65d4d4911a244ff0134c0dcbfa5dba05d4c41780
Author: David Reveman <reveman@chromium.org>
Date: Sun Apr 01 17:17:03 2018

VirtWL data transfer support.

This implements support for using VirtWL driver for data transfers.
When a client asks for data to be written to a FD, we create a VIRTWL
pipe and proxy the data from that pipe to the clients FD.

Bug:  793688 
Change-Id: I9ce6cd9ab63d86da2d8aea8aba45f402b4387dcc
Reviewed-on: https://chromium-review.googlesource.com/989493
Reviewed-by: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>

[modify] https://crrev.com/65d4d4911a244ff0134c0dcbfa5dba05d4c41780/sommelier.c
[modify] https://crrev.com/65d4d4911a244ff0134c0dcbfa5dba05d4c41780/virtwl.h

Project Member

Comment 11 by bugdroid1@chromium.org, Apr 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/containers/sommelier/+/43f34d5561354392550800cfd7ca92c416b145bf

commit 43f34d5561354392550800cfd7ca92c416b145bf
Author: David Reveman <reveman@chromium.org>
Date: Thu Apr 05 00:24:52 2018

Forward --data-driver flag to peer instances.

Bug:  793688 
Change-Id: I9aeb0fb877aaecfe1b98fc53ca65fd01bef7fe44
Reviewed-on: https://chromium-review.googlesource.com/996873
Reviewed-by: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>

[modify] https://crrev.com/43f34d5561354392550800cfd7ca92c416b145bf/sommelier.c

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 6 2018

Labels: merge-merged-chromeos-4.14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/86d20abce9341495773fd05b3fd45d1f220f34be

commit 86d20abce9341495773fd05b3fd45d1f220f34be
Author: Zach Reizner <zachr@google.com>
Date: Fri Apr 06 05:12:48 2018

CHROMIUM: virtwl: add pipe vfd support

This change supports the new pipe VFD type, which is critical for
supporting clipboard and drag and drop operations for wayland. These
operations use unidirectional pipes to transport data offers and
sources.

TEST=use copy/paste with wayland app
BUG= chromium:793688 

Change-Id: I378e078d94755f249570aaa9e7c5dbfc99534c01
Signed-off-by: Zach Reizner <zachr@google.com>
Reviewed-on: https://chromium-review.googlesource.com/983034
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/86d20abce9341495773fd05b3fd45d1f220f34be/include/uapi/linux/virtwl.h
[modify] https://crrev.com/86d20abce9341495773fd05b3fd45d1f220f34be/drivers/virtio/virtio_wl.c
[modify] https://crrev.com/86d20abce9341495773fd05b3fd45d1f220f34be/include/uapi/linux/virtio_wl.h

Project Member

Comment 13 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/bac9c79e88d31838e28e1c6b2600bac793c02dde

commit bac9c79e88d31838e28e1c6b2600bac793c02dde
Author: Zach Reizner <zachr@google.com>
Date: Fri Apr 06 05:12:08 2018

linux-headers: update virtwl NEW_PIPE ioctls

TEST=emerge-tatl vm_tools
BUG= chromium:793688 

Change-Id: I2d8cccfe83c24470ba423c6cfaa9904350e36fba
Reviewed-on: https://chromium-review.googlesource.com/983035
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/bac9c79e88d31838e28e1c6b2600bac793c02dde/sys-kernel/linux-headers/files/0019-virtwl-add-virtwl-driver.patch
[rename] https://crrev.com/bac9c79e88d31838e28e1c6b2600bac793c02dde/sys-kernel/linux-headers/linux-headers-4.4-r16.ebuild

Project Member

Comment 14 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/129bc9c2c82bb5bc10e0e544d8edd0881c0d5096

commit 129bc9c2c82bb5bc10e0e544d8edd0881c0d5096
Author: Zach Reizner <zachr@google.com>
Date: Fri Apr 06 05:12:32 2018

wl: add pipe vfd support

Pipe VFDs are used to send and recieve data offer bytes, often used for
copy/paste and drag/drop operations.

TEST=use copy/paste with wayland app
BUG= chromium:793688 

Change-Id: Ifc3f231dcdf90ce6791a98039405c7c404cf6942
Reviewed-on: https://chromium-review.googlesource.com/983037
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/129bc9c2c82bb5bc10e0e544d8edd0881c0d5096/devices/src/virtio/wl.rs
[modify] https://crrev.com/129bc9c2c82bb5bc10e0e544d8edd0881c0d5096/seccomp/x86_64/wl_device.policy

Project Member

Comment 15 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/74ae21606c4b92412e51c16e278f7c46aee06ec5

commit 74ae21606c4b92412e51c16e278f7c46aee06ec5
Author: Zach Reizner <zachr@google.com>
Date: Fri Apr 06 05:12:09 2018

vm_tools: virtwl_guest_proxy: support unidirectional pipe proxying

This functionality is required for wayland data offer protocol to work.
This is most often used for copy/paste and drag/drop operations.

TEST=use copy/paste with wayland app
BUG= chromium:793688 
CQ-DEPEND=CL:983035

Change-Id: I133ecf05e56491cce35c47679a0afae215c6fe9e
Reviewed-on: https://chromium-review.googlesource.com/983033
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>

[modify] https://crrev.com/74ae21606c4b92412e51c16e278f7c46aee06ec5/vm_tools/virtwl_guest_proxy/main.c
[modify] https://crrev.com/74ae21606c4b92412e51c16e278f7c46aee06ec5/vm_tools/guest.gypi

@zachr is there a separate bug tracking the remaining chrome-side work to enable copy & paste that you mentioned yesterday?
zachr@ put up the CL for it, reusing this bug: https://chromium-review.googlesource.com/c/chromium/src/+/1000523
Status: Verified (was: Started)
No, but we probably should make one. Marking this one fixed because the virtio-wayland aspects are "done".
Blocking: 830203
Project Member

Comment 20 by bugdroid1@chromium.org, Apr 7 2018

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

commit c57fd97ca6df93c57e7c96205f5eb38ab7c55763
Author: Zach Reizner <zachr@google.com>
Date: Sat Apr 07 23:11:41 2018

Attach UTF8_STRING type data to data offer

The version of GTK3 used in Debian stretch does not use clipboard data
marked as test/plain, but will use UTF8_STRING.

Bug:  793688 
Test: Paste from Chrome into gedit
Change-Id: Id1b08e270fd385d287c729fe5594832753b845df
Reviewed-on: https://chromium-review.googlesource.com/1000523
Commit-Queue: Zach Reizner <zachr@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549074}
[modify] https://crrev.com/c57fd97ca6df93c57e7c96205f5eb38ab7c55763/components/exo/data_offer.cc
[modify] https://crrev.com/c57fd97ca6df93c57e7c96205f5eb38ab7c55763/components/exo/data_offer_unittest.cc

Sign in to add a comment