Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / views / apps / chrome_native_app_window_views_win.h
index d665eda..70ab680 100644 (file)
@@ -5,28 +5,39 @@
 #ifndef CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_WIN_H_
 #define CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_WIN_H_
 
-#include "chrome/browser/shell_integration.h"
 #include "chrome/browser/ui/views/apps/chrome_native_app_window_views.h"
 
+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();
 
   void OnShortcutInfoLoaded(
-      const ShellIntegration::ShortcutInfo& shortcut_info);
+      const web_app::ShortcutInfo& shortcut_info);
 
   HWND GetNativeAppWindowHWND() const;
+  void EnsureCaptionStyleSet();
 
   // Overridden from ChromeNativeAppWindowViews:
   virtual void OnBeforeWidgetInit(views::Widget::InitParams* init_params,
                                   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;
@@ -37,6 +48,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_;