Extend archive manager to support multiple user profiles.

This CL extends archive manager to support mounting archives under
/home/chronos/u-<userid>/{Downloads,GCache} in the context of multiple
user profiles. As a side effect, it also removes optional AVFS mount
paths.

BUG=chromium:221769
TEST=Tested the following:
1. Build cros-disks for {x86,amd64,arm}-generic.
2. Run cros-disks unit tests.
3. Run platform_CrosDisksArchive tests.
4. Use CrOS File Manager to open a ZIP file:
   - on a removable USB drive
   - in a user's Downloads folder
   - in a user's Google Drive folder
   - in another mounted ZIP file

Change-Id: I7a9930a0b7eefd40ab66d167bc49d58af628af78
Reviewed-on: https://gerrit.chromium.org/gerrit/56897
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
3 files changed
tree: 37cc3bd7d7f0fb3a0c610847a892be8f46921f4a
  1. .gitignore
  2. archive-manager.cc
  3. archive-manager.h
  4. archive-manager_unittest.cc
  5. avfsd-seccomp-amd64.policy
  6. avfsd-seccomp-arm.policy
  7. avfsd-seccomp-x86.policy
  8. common.mk
  9. cros-disks-server-impl.cc
  10. cros-disks-server-impl.h
  11. cros-disks-server.xml
  12. cros-disks.conf
  13. cros-disks.gyp
  14. daemon.cc
  15. daemon.h
  16. device-ejector.cc
  17. device-ejector.h
  18. device-event-dispatcher-interface.h
  19. device-event-moderator.cc
  20. device-event-moderator.h
  21. device-event-moderator_unittest.cc
  22. device-event-queue.cc
  23. device-event-queue.h
  24. device-event-queue_unittest.cc
  25. device-event-source-interface.h
  26. device-event.cc
  27. device-event.h
  28. disk-manager.cc
  29. disk-manager.h
  30. disk-manager_unittest.cc
  31. disk.cc
  32. disk.h
  33. disk_unittest.cc
  34. disks_testrunner.cc
  35. exfat-mounter.cc
  36. exfat-mounter.h
  37. external-mounter.cc
  38. external-mounter.h
  39. external-mounter_unittest.cc
  40. file-reader.cc
  41. file-reader.h
  42. file-reader_unittest.cc
  43. filesystem.cc
  44. filesystem.h
  45. format-manager-observer-interface.h
  46. format-manager.cc
  47. format-manager.h
  48. format-manager_unittest.cc
  49. fuse-mounter.cc
  50. fuse-mounter.h
  51. glib-process.cc
  52. glib-process.h
  53. glib-process_unittest.cc
  54. inherit-review-settings-ok
  55. LICENSE
  56. main.cc
  57. Makefile
  58. metrics.cc
  59. metrics.h
  60. metrics_unittest.cc
  61. mount-info.cc
  62. mount-info.h
  63. mount-info_unittest.cc
  64. mount-manager.cc
  65. mount-manager.h
  66. mount-manager_unittest.cc
  67. mount-options.cc
  68. mount-options.h
  69. mount-options_unittest.cc
  70. mounter.cc
  71. mounter.h
  72. mounter_unittest.cc
  73. ntfs-mounter.cc
  74. ntfs-mounter.h
  75. org.chromium.CrosDisks.conf
  76. OWNERS
  77. platform.cc
  78. platform.h
  79. platform_unittest.cc
  80. process.cc
  81. process.h
  82. process_unittest.cc
  83. sandboxed-process.cc
  84. sandboxed-process.h
  85. session-manager-observer-interface.h
  86. session-manager-proxy.cc
  87. session-manager-proxy.h
  88. system-mounter.cc
  89. system-mounter.h
  90. system-mounter_unittest.cc
  91. udev-device.cc
  92. udev-device.h
  93. udev-device_unittest.cc
  94. usb-device-info
  95. usb-device-info.cc
  96. usb-device-info.h
  97. usb-device-info_unittest.cc