New issue
Advanced search Search tips

Issue 855096 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 780160
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

mash: ChromeNativeAppWindowViewsAuraAsh uses ash::wm::WindowState

Project Member Reported by steve...@chromium.org, Jun 21 2018

Issue description

ChromeNativeAppWindowViewsAuraAsh depends on CustomFrameViewAsh which lives in ash/frame.

We will need to do something like:
* Move CustomFrameViewAsh to src/ui and re-factor the existing ash dependencies to work in Ash and (if needed) Chrome.
* Create a separate NonClientFrameView for native apps created by Chrome. 
* Restructure how app windows are created in mash?

 

Comment 1 by sky@chromium.org, Jun 22 2018

Owner: est...@chromium.org
Status: Assigned (was: Untriaged)
Evan has been handling frame related issues.

Comment 2 by est...@chromium.org, Jun 22 2018

The frame part already works fine. CustomFrameViewAsh is only used in classic mode; mash early-outs[1] which allows Ash to create the frame for it.

The WindowState part might need reworking.

[1] https://cs.chromium.org/chromium/src/chrome/browser/ui/views/apps/chrome_native_app_window_views_aura_ash.cc?rcl=92958ccd0c4caf57408bf960713364fb963bedc6&l=306
Right. The remaining dependency is:

ChromeNativeAppWindowViewsAuraAsh::CreateNonClientFrameView() calls

ash::wm::GetWindowState(GetNativeWindow())
      ->SetDelegate(std::unique_ptr<ash::wm::WindowStateDelegate>(
          new NativeAppWindowStateDelegate(app_window(), this)));


Comment 4 by est...@chromium.org, Jun 28 2018

Mergedinto: 780160
Status: Duplicate (was: Assigned)
Summary: mash: ChromeNativeAppWindowViewsAuraAsh uses ash::wm::WindowState (was: mash: ChromeNativeAppWindowViewsAuraAsh depends on CustomFrameViewAsh)
Looked at this today. The WindowState delegate part is just there to handle entering fullscreen as apps have special behavior for that. We'll need to do something like adding a WindowStateDelegate on the ash side which proxies the request to Chrome. I don't know the plan for immersive mode ( bug 640365 ), and I also think this falls under the scope of bug 780160. So, duping.
Labels: Proj-Mustash

Sign in to add a comment