chrome_native_app_window_views_win.h revision a02191e04bc25c4935f804f2c080ae28663d096d
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 3// found in the LICENSE file. 4 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_ 7 8#include "chrome/browser/ui/views/apps/chrome_native_app_window_views.h" 9 10namespace web_app { 11struct ShortcutInfo; 12} 13 14// Windows-specific parts of the views-backed native shell window implementation 15// for packaged apps. 16class ChromeNativeAppWindowViewsWin : public ChromeNativeAppWindowViews { 17 public: 18 ChromeNativeAppWindowViewsWin(); 19 20 private: 21 void ActivateParentDesktopIfNecessary(); 22 23 void OnShortcutInfoLoaded( 24 const web_app::ShortcutInfo& shortcut_info); 25 26 HWND GetNativeAppWindowHWND() const; 27 28 // Overridden from ChromeNativeAppWindowViews: 29 virtual void OnBeforeWidgetInit(views::Widget::InitParams* init_params, 30 views::Widget* widget) OVERRIDE; 31 virtual void InitializeDefaultWindow( 32 const apps::AppWindow::CreateParams& create_params) OVERRIDE; 33 34 // Overridden from ui::BaseWindow: 35 virtual void Show() OVERRIDE; 36 virtual void Activate() OVERRIDE; 37 38 // Overridden from apps::NativeAppWindow: 39 virtual void UpdateShelfMenu() OVERRIDE; 40 41 base::WeakPtrFactory<ChromeNativeAppWindowViewsWin> weak_ptr_factory_; 42 43 // The Windows Application User Model ID identifying the app. 44 base::string16 app_model_id_; 45 46 DISALLOW_COPY_AND_ASSIGN(ChromeNativeAppWindowViewsWin); 47}; 48 49#endif // CHROME_BROWSER_UI_VIEWS_APPS_CHROME_NATIVE_APP_WINDOW_VIEWS_WIN_H_ 50