Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_EXTENSIONS_APP_METRO_INFOBAR_DELEGATE_WIN_H_ | 5 #ifndef CHROME_BROWSER_UI_EXTENSIONS_APP_METRO_INFOBAR_DELEGATE_WIN_H_ |
| 6 #define CHROME_BROWSER_UI_EXTENSIONS_APP_METRO_INFOBAR_DELEGATE_WIN_H_ | 6 #define CHROME_BROWSER_UI_EXTENSIONS_APP_METRO_INFOBAR_DELEGATE_WIN_H_ |
| 7 | 7 |
| 8 #include "base/string16.h" | 8 #include "base/string16.h" |
| 9 #include "chrome/browser/api/infobars/confirm_infobar_delegate.h" | 9 #include "chrome/browser/api/infobars/confirm_infobar_delegate.h" |
| 10 #include "chrome/browser/api/infobars/infobar_service.h" | 10 #include "chrome/browser/api/infobars/infobar_service.h" |
| 11 #include "ui/base/window_open_disposition.h" | 11 #include "ui/base/window_open_disposition.h" |
| 12 | 12 |
| 13 class Profile; | 13 class Profile; |
| 14 | 14 |
| 15 namespace gfx { | 15 namespace gfx { |
| 16 class Image; | 16 class Image; |
| 17 } | 17 } |
| 18 | 18 |
| 19 namespace chrome { | 19 namespace chrome { |
| 20 | 20 |
| 21 // This infobar operates by opening a new tab on about:blank, showing an | 21 // This infobar operates by opening a new tab on about:blank, showing an |
| 22 // infobar offering to relaunch the browser in metro mode, and then relaunching | 22 // infobar offering to relaunch the browser in metro mode, and then relaunching |
| 23 // in Desktop mode if confirmed. | 23 // in Desktop mode if confirmed. |
| 24 class AppMetroInfoBarDelegateWin : public ConfirmInfoBarDelegate { | 24 class AppMetroInfoBarDelegateWin : public ConfirmInfoBarDelegate { |
| 25 public: | 25 public: |
| 26 // Creates an instance of the app metro infobar delegate, adds it to | 26 // Creates an instance of the app metro infobar delegate, adds it to |
| 27 // |infobar_service|, and then activates metro mode. This CHECK()s to ensure | 27 // |infobar_service|, and then activates metro mode. This CHECK()s to ensure |
| 28 // that it is only called while running in desktop mode. | 28 // that it is only called while running in desktop mode. |
| 29 static void CreateAndActivateMetro(Profile* profile); | 29 static void CreateAndActivateMetroForAppList(Profile* profile); |
|
benwells
2013/03/18 22:16:47
This is a mouthful. Is the CreateAndActivateMetro
tapted
2013/03/19 02:49:05
Most info bars just have a static 'Create()'. This
| |
| 30 static void CreateAndActivateMetroForApp(Profile* profile, | |
| 31 const std::string& extension_id); | |
| 32 | |
| 33 virtual ~AppMetroInfoBarDelegateWin(); | |
| 30 | 34 |
| 31 private: | 35 private: |
| 32 explicit AppMetroInfoBarDelegateWin(InfoBarService* infobar_service); | 36 enum Mode { |
| 33 virtual ~AppMetroInfoBarDelegateWin(); | 37 SHOW_APP_LIST, |
| 38 LAUNCH_PACKAGED_APP | |
| 39 }; | |
| 40 | |
| 41 explicit AppMetroInfoBarDelegateWin(InfoBarService* infobar_service, | |
| 42 Mode mode, | |
| 43 const std::string& extension_id); | |
| 34 | 44 |
| 35 // ConfirmInfoBarDelegate overrides: | 45 // ConfirmInfoBarDelegate overrides: |
| 36 virtual gfx::Image* GetIcon() const OVERRIDE; | 46 virtual gfx::Image* GetIcon() const OVERRIDE; |
| 37 virtual string16 GetMessageText() const OVERRIDE; | 47 virtual string16 GetMessageText() const OVERRIDE; |
| 38 virtual int GetButtons() const OVERRIDE; | 48 virtual int GetButtons() const OVERRIDE; |
| 39 virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; | 49 virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; |
| 40 virtual bool Accept() OVERRIDE; | 50 virtual bool Accept() OVERRIDE; |
| 41 virtual bool Cancel() OVERRIDE; | 51 virtual bool Cancel() OVERRIDE; |
| 42 virtual string16 GetLinkText() const OVERRIDE; | 52 virtual string16 GetLinkText() const OVERRIDE; |
| 43 virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; | 53 virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; |
| 44 | 54 |
| 55 static void CreateAndActivateMetroHelper( | |
| 56 Profile* profile, Mode mode, const std::string& extension_id); | |
| 57 | |
| 58 Mode mode_; | |
| 59 std::string extension_id_; | |
| 60 | |
| 45 DISALLOW_COPY_AND_ASSIGN(AppMetroInfoBarDelegateWin); | 61 DISALLOW_COPY_AND_ASSIGN(AppMetroInfoBarDelegateWin); |
| 46 }; | 62 }; |
| 47 | 63 |
| 64 } // namespace chrome | |
| 65 | |
| 48 #endif // CHROME_BROWSER_UI_EXTENSIONS_APP_METRO_INFOBAR_DELEGATE_WIN_H_ | 66 #endif // CHROME_BROWSER_UI_EXTENSIONS_APP_METRO_INFOBAR_DELEGATE_WIN_H_ |
| 49 | |
| 50 } // namespace chrome | |
| OLD | NEW |