1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_MAC_H_
6 #define CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_MAC_H_
8 #include "chrome/browser/ui/views/apps/chrome_native_app_window_views.h"
10 // Mac-specific parts of ChromeNativeAppWindowViews.
11 class ChromeNativeAppWindowViewsMac
: public ChromeNativeAppWindowViews
{
13 ChromeNativeAppWindowViewsMac();
14 ~ChromeNativeAppWindowViewsMac() override
;
17 // ChromeNativeAppWindowViews implementation.
18 void OnBeforeWidgetInit(
19 const extensions::AppWindow::CreateParams
& create_params
,
20 views::Widget::InitParams
* init_params
,
21 views::Widget
* widget
) override
;
22 views::NonClientFrameView
* CreateStandardDesktopAppFrame() override
;
24 // ui::BaseWindow implementation.
26 void ShowInactive() override
;
28 // NativeAppWindow implementation.
29 // These are used to simulate Mac-style hide/show. Since windows can be hidden
30 // and shown using the app.window API, this sets is_hidden_with_app_ to
31 // differentiate the reason a window was hidden.
32 void ShowWithApp() override
;
33 void HideWithApp() override
;
36 // Whether this window last became hidden due to a request to hide the entire
37 // app, e.g. via the dock menu or Cmd+H. This is set by Hide/ShowWithApp.
38 bool is_hidden_with_app_
;
40 DISALLOW_COPY_AND_ASSIGN(ChromeNativeAppWindowViewsMac
);
43 #endif // CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_MAC_H_