It will matter for clients that embed other clients.
I believe the right thing here is for second-level embeddings the owner supplies the LocalSurfaceId. For top-level embeddings, ws2 should provide the LocalSurfaceId.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/42d66957878b2372abc62f54b2d33f9308a956f3 commit 42d66957878b2372abc62f54b2d33f9308a956f3 Author: Scott Violet <sky@chromium.org> Date: Mon Jun 04 16:12:17 2018 reland: ash: makes WindowService deal with LocalSurfaceId correctly For first-level embeddings WindowService should assign LocalSurfaceIds. For all others the LocalSurfaceId should come from the client. BUG= 844789 TEST=covered by tests TBR=xiyuan@chromium.org Change-Id: I1f0a06729f0099414985e1e0712ae9b713b28dbe Reviewed-on: https://chromium-review.googlesource.com/1085373 Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#564110} [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/BUILD.gn [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/ime/ime_focus_handler_unittest.cc [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/public/cpp/immersive/immersive_fullscreen_controller.cc [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/public/cpp/immersive/immersive_fullscreen_controller.h [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/public/cpp/immersive/immersive_fullscreen_controller_test_api.cc [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/public/cpp/immersive/immersive_fullscreen_controller_test_api.h [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/shelf/shelf_layout_manager_unittest.cc [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/test/ash_test_base.cc [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/test/ash_test_base.h [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/test/ash_test_helper.cc [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/test/ash_test_helper.h [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/wm/workspace/workspace_layout_manager_unittest.cc [modify] https://crrev.com/42d66957878b2372abc62f54b2d33f9308a956f3/ash/ws/window_service_owner.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bf6eb7d79da7a4841273397d1e6e38a8ae025698 commit bf6eb7d79da7a4841273397d1e6e38a8ae025698 Author: Scott Violet <sky@chromium.org> Date: Mon Jun 04 20:00:40 2018 ash: makes WindowService deal with LocalSurfaceId correctly For first-level embeddings WindowService should assign LocalSurfaceIds. For all others the LocalSurfaceId should come from the client. BUG= 844789 TEST=covered by tests Change-Id: I91d7db419d2267ade3b9e185c5dc09e318a30a13 Reviewed-on: https://chromium-review.googlesource.com/1083134 Commit-Queue: Scott Violet <sky@chromium.org> Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org> Cr-Commit-Position: refs/heads/master@{#564201} [modify] https://crrev.com/bf6eb7d79da7a4841273397d1e6e38a8ae025698/services/ui/ws2/client_root.cc [modify] https://crrev.com/bf6eb7d79da7a4841273397d1e6e38a8ae025698/services/ui/ws2/client_root.h [modify] https://crrev.com/bf6eb7d79da7a4841273397d1e6e38a8ae025698/services/ui/ws2/client_window.h [modify] https://crrev.com/bf6eb7d79da7a4841273397d1e6e38a8ae025698/services/ui/ws2/window_service_client.cc [modify] https://crrev.com/bf6eb7d79da7a4841273397d1e6e38a8ae025698/services/ui/ws2/window_service_client.h [modify] https://crrev.com/bf6eb7d79da7a4841273397d1e6e38a8ae025698/services/ui/ws2/window_service_client_test_helper.cc [modify] https://crrev.com/bf6eb7d79da7a4841273397d1e6e38a8ae025698/services/ui/ws2/window_service_client_test_helper.h [modify] https://crrev.com/bf6eb7d79da7a4841273397d1e6e38a8ae025698/services/ui/ws2/window_service_client_unittest.cc
Comment 1 by sky@chromium.org
, May 23 2018