| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_WIN_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_WIN_H_ |
| 6 #define CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_WIN_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_WIN_H_ |
| 7 | 7 |
| 8 #include "chrome/browser/ui/views/apps/chrome_native_app_window_views.h" | 8 #include "chrome/browser/ui/views/apps/chrome_native_app_window_views.h" |
| 9 | 9 |
| 10 namespace web_app { | 10 namespace web_app { |
| 11 struct ShortcutInfo; | 11 struct ShortcutInfo; |
| 12 } | 12 } |
| 13 | 13 |
| 14 class GlassAppWindowFrameViewWin; | 14 class GlassAppWindowFrameViewWin; |
| 15 | 15 |
| 16 // Windows-specific parts of the views-backed native shell window implementation | 16 // Windows-specific parts of the views-backed native shell window implementation |
| 17 // for packaged apps. | 17 // for packaged apps. |
| 18 class ChromeNativeAppWindowViewsWin : public ChromeNativeAppWindowViews { | 18 class ChromeNativeAppWindowViewsWin : public ChromeNativeAppWindowViews { |
| 19 public: | 19 public: |
| 20 ChromeNativeAppWindowViewsWin(); | 20 explicit ChromeNativeAppWindowViewsWin(extensions::AppWindow* app_window); |
| 21 | 21 |
| 22 GlassAppWindowFrameViewWin* glass_frame_view() { | 22 GlassAppWindowFrameViewWin* glass_frame_view() { |
| 23 return glass_frame_view_; | 23 return glass_frame_view_; |
| 24 } | 24 } |
| 25 | 25 |
| 26 private: | 26 private: |
| 27 void ActivateParentDesktopIfNecessary(); | 27 void ActivateParentDesktopIfNecessary(); |
| 28 | 28 |
| 29 void OnShortcutInfoLoaded( | 29 void OnShortcutInfoLoaded( |
| 30 const web_app::ShortcutInfo& shortcut_info); | 30 const web_app::ShortcutInfo& shortcut_info); |
| 31 | 31 |
| 32 HWND GetNativeAppWindowHWND() const; | 32 HWND GetNativeAppWindowHWND() const; |
| 33 bool IsRunningInAsh(); | 33 bool IsRunningInAsh(); |
| 34 void EnsureCaptionStyleSet(); | 34 void EnsureCaptionStyleSet(); |
| 35 | 35 |
| 36 // Overridden from ChromeNativeAppWindowViews: | 36 // Overridden from ChromeNativeAppWindowViews: |
| 37 virtual void OnBeforeWidgetInit(views::Widget::InitParams* init_params, | 37 virtual void OnBeforeWidgetInit(views::Widget::InitParams* init_params, |
| 38 views::Widget* widget) OVERRIDE; | 38 views::Widget* widget) OVERRIDE; |
| 39 virtual void InitializeDefaultWindow( | 39 virtual void InitializeDefaultWindow( |
| 40 const extensions::AppWindow::CreateParams& create_params) OVERRIDE; | 40 const native_app_window::AppWindowCreateParams& create_params) OVERRIDE; |
| 41 virtual views::NonClientFrameView* CreateStandardDesktopAppFrame() OVERRIDE; | 41 virtual views::NonClientFrameView* CreateStandardDesktopAppFrame() OVERRIDE; |
| 42 | 42 |
| 43 // Overridden from ui::BaseWindow: | 43 // Overridden from ui::BaseWindow: |
| 44 virtual void Show() OVERRIDE; | 44 virtual void Show() OVERRIDE; |
| 45 virtual void Activate() OVERRIDE; | 45 virtual void Activate() OVERRIDE; |
| 46 | 46 |
| 47 // Overridden from extensions::NativeAppWindow: | 47 // Overridden from extensions::NativeAppWindow: |
| 48 virtual void UpdateShelfMenu() OVERRIDE; | 48 virtual void UpdateShelfMenu() OVERRIDE; |
| 49 | 49 |
| 50 // Populated if there is a glass frame, which provides special information | 50 // Populated if there is a glass frame, which provides special information |
| 51 // to the native widget implementation. This will be NULL if there is no | 51 // to the native widget implementation. This will be NULL if there is no |
| 52 // glass frame. Note, this can change from NULL to non-NULL and back again | 52 // glass frame. Note, this can change from NULL to non-NULL and back again |
| 53 // throughout the life of a window, e.g. if DWM is enabled and disabled. | 53 // throughout the life of a window, e.g. if DWM is enabled and disabled. |
| 54 GlassAppWindowFrameViewWin* glass_frame_view_; | 54 GlassAppWindowFrameViewWin* glass_frame_view_; |
| 55 | 55 |
| 56 // The Windows Application User Model ID identifying the app. | 56 // The Windows Application User Model ID identifying the app. |
| 57 // Not set for windows running inside Ash. | 57 // Not set for windows running inside Ash. |
| 58 base::string16 app_model_id_; | 58 base::string16 app_model_id_; |
| 59 | 59 |
| 60 base::WeakPtrFactory<ChromeNativeAppWindowViewsWin> weak_ptr_factory_; | 60 base::WeakPtrFactory<ChromeNativeAppWindowViewsWin> weak_ptr_factory_; |
| 61 | 61 |
| 62 DISALLOW_COPY_AND_ASSIGN(ChromeNativeAppWindowViewsWin); | 62 DISALLOW_COPY_AND_ASSIGN(ChromeNativeAppWindowViewsWin); |
| 63 }; | 63 }; |
| 64 | 64 |
| 65 #endif // CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_WIN_H_ | 65 #endif // CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_WIN_H_ |
| OLD | NEW |