Associate crostini windows and shelf icons with primary profile only

Currently, starting up crostini apps while switching profiles causes
two issues. First, windows other then the terminal are owned by
whichever profile is active when they become visible, not the profile
that owns crostini. Second, if a window becomes visible while it's
owning profile is inactive, then its icon will still be added to the
shelf. On switching to the correct profile, the icon is added
again. If the app is then closed, only one of these shelf entries is
removed, causing crash if the other is used.

As we don't currently support using crostini from non-primary
profiles, this CL fixes the first issue by associating all crostini
app windows with the primary profile, and prevents app icons from
being added to the shelf unless the primary profile is active.

Bug: 846213, 896996, 909590
Change-Id: Ibc888d22eb9567d822ce3e7d1af3603afb02a98e
Reviewed-on: https://chromium-review.googlesource.com/c/1491873
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Commit-Queue: Fergus Dall <sidereal@google.com>
Cr-Commit-Position: refs/heads/master@{#636675}
1 file changed