New issue
Advanced search Search tips

Issue 723881 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on:
issue 889178

Blocking:
issue 678705



Sign in to add a comment

mash: Remove ash::Shell access from chrome/browser/resource_coordinator

Project Member Reported by jamescook@chromium.org, May 17 2017

Issue description

Replace with mojo apis. See ash/README.md and go/mustash.

 

Comment 1 by est...@chromium.org, Aug 18 2017

Status: WontFix (was: Untriaged)
seems like it's already gone away

Comment 2 Deleted

Comment 3 by est...@chromium.org, Sep 12 2017

James, do you have any pointers to code or docs for what's happening to windows in mash? The tldr is that the resource coordinator is listening for window activation.[1]

[1] https://cs.chromium.org/chromium/src/chrome/browser/resource_coordinator/tab_manager_delegate_chromeos.cc?rcl=5136cc20c3980f201853b975a9d3c25527c2b837&l=71
Hrm, this is a little tricky. Conceptually, only the window manager (ash) has knowledge of all windows in the system. For example, an arbitrary mojo app may not be known to the chrome process, so chrome can't see its activation changes.

If that code is just looking at browser windows, it might be possible to use BrowserList observers:

https://cs.chromium.org/chromium/src/chrome/browser/ui/browser_list.h?q=browserlist&sq=package:chromium&l=71

Components: -Internals>MUS Internals>Services>WindowService

Comment 6 by est...@chromium.org, Mar 13 2018

Cc: est...@chromium.org
Owner: ----
Status: Available (was: Started)
It's looking for [de]activation of ARC++ windows.
 Issue 826366  has been merged into this issue.
Status: Untriaged (was: Available)
See //chrome/browser/resource_coordinator/tab_manager_delegate_chromeos.cc

This sets process priorities and OOM scores based on window activation and window Z-sort order. It reaches into ash to do this. It also needs to know about tabs and ARC++ apps.
Components: -Internals>Services>WindowService Internals>Services>Ash
Labels: -Proj-Mustash-Mash
Labels: Proj-Mustash
Labels: -Proj-Mustash Proj-Mash-MultiProcess Proj-Mash-SingleProcess
This is needed for single-process mash. I suggest we get it working in single-process-mash, and once working there retarget to multi-process-mash for the longer term solution.

The issue for single-process mash is that this code uses Shell's activation client. That will work, but then Windows returned are in the window-service side. We aren't mirroring aura::client::kAppType, which means none of the windows passed to the activation client will have aura::client::kAppType. The easy short solution for single-process-mash is to mirror aura::client::kAppType via the property mirror. Then I think this code will just work.
Labels: -Pri-3 Pri-2
Owner: rcui@chromium.org
Status: Assigned (was: Untriaged)
Ryan, could you look into the fix I outlined in comment # 11 for single-process-mash.
Blocking: 889178
There is currently a bug where the registration for window activation events never occurs because the TabManagerDelegate is instantiated before Ash.  Filed bug crbug.com/889178 to track the fix for that issue, or possibly removing the code if the metric isn't useful anymore.  We'll want/need to wait until that's resolved before making more progress here.
Cc: sky@chromium.org
Blockedon: 889178
Blocking: -889178
Labels: -Proj-Mash-SingleProcess
Given resource_coordinator doesn't really work right now, I'm removing this from the single-process-mash list. We may need to reevaluate if 889178 is fixed.
Owner: ----
Status: Available (was: Assigned)

Sign in to add a comment