Index: chrome/browser/ui/views/apps/chrome_native_app_window_views_win.h |
diff --git a/chrome/browser/ui/views/apps/chrome_native_app_window_views_win.h b/chrome/browser/ui/views/apps/chrome_native_app_window_views_win.h |
index d29beb9f4f538ee9cf5dbb3a29ea2439595aa763..9da718ea1ac7b7e5bfcd6c26ab1247f95449a714 100644 |
--- a/chrome/browser/ui/views/apps/chrome_native_app_window_views_win.h |
+++ b/chrome/browser/ui/views/apps/chrome_native_app_window_views_win.h |
@@ -11,12 +11,18 @@ namespace web_app { |
struct ShortcutInfo; |
} |
+class GlassAppWindowFrameViewWin; |
+ |
// Windows-specific parts of the views-backed native shell window implementation |
// for packaged apps. |
class ChromeNativeAppWindowViewsWin : public ChromeNativeAppWindowViews { |
public: |
ChromeNativeAppWindowViewsWin(); |
+ GlassAppWindowFrameViewWin* glass_frame_view() { |
+ return glass_frame_view_; |
+ }; |
+ |
private: |
void ActivateParentDesktopIfNecessary(); |
@@ -30,6 +36,7 @@ class ChromeNativeAppWindowViewsWin : public ChromeNativeAppWindowViews { |
views::Widget* widget) OVERRIDE; |
virtual void InitializeDefaultWindow( |
const apps::AppWindow::CreateParams& create_params) OVERRIDE; |
+ virtual views::NonClientFrameView* CreateStandardDesktopAppFrame() OVERRIDE; |
// Overridden from ui::BaseWindow: |
virtual void Show() OVERRIDE; |
@@ -40,6 +47,12 @@ class ChromeNativeAppWindowViewsWin : public ChromeNativeAppWindowViews { |
base::WeakPtrFactory<ChromeNativeAppWindowViewsWin> weak_ptr_factory_; |
+ // Populated if there is a glass frame, which provides special information |
+ // to the native widget implementation. This will be NULL if there is no |
+ // glass frame. Note, this can change from NULL to non-NULL and back again |
+ // throughout the life of a window, e.g. if DWM is enabled and disabled. |
+ GlassAppWindowFrameViewWin* glass_frame_view_; |
+ |
// The Windows Application User Model ID identifying the app. |
base::string16 app_model_id_; |