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