Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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_VIEWS_PROFILES_PROFILE_CHOOSER_VIEW_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_PROFILES_PROFILE_CHOOSER_VIEW_H_ |
| 6 #define CHROME_BROWSER_UI_VIEWS_PROFILES_PROFILE_CHOOSER_VIEW_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_PROFILES_PROFILE_CHOOSER_VIEW_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 30 | 30 |
| 31 namespace views { | 31 namespace views { |
| 32 class GridLayout; | 32 class GridLayout; |
| 33 class ImageButton; | 33 class ImageButton; |
| 34 class Link; | 34 class Link; |
| 35 class LabelButton; | 35 class LabelButton; |
| 36 } | 36 } |
| 37 | 37 |
| 38 class Browser; | 38 class Browser; |
| 39 | 39 |
| 40 enum ShowingType { | |
|
Roger Tawa OOO till Jul 10th
2015/05/15 14:29:17
Please add a comment explaining how this is used.
gogerald1
2015/05/19 23:35:12
Done.
| |
| 41 IS_NOT_SHOWING = 0, | |
| 42 IS_SHOWING = 1, | |
| 43 IS_SHOWING_IN_ANOTHER_BROWSER = 2, | |
| 44 }; | |
| 45 | |
| 40 // This bubble view is displayed when the user clicks on the avatar button. | 46 // This bubble view is displayed when the user clicks on the avatar button. |
| 41 // It displays a list of profiles and allows users to switch between profiles. | 47 // It displays a list of profiles and allows users to switch between profiles. |
| 42 class ProfileChooserView : public content::WebContentsDelegate, | 48 class ProfileChooserView : public content::WebContentsDelegate, |
| 43 public views::BubbleDelegateView, | 49 public views::BubbleDelegateView, |
| 44 public views::ButtonListener, | 50 public views::ButtonListener, |
| 45 public views::LinkListener, | 51 public views::LinkListener, |
| 46 public views::StyledLabelListener, | 52 public views::StyledLabelListener, |
| 47 public views::TextfieldController, | 53 public views::TextfieldController, |
| 48 public AvatarMenuObserver, | 54 public AvatarMenuObserver, |
| 49 public OAuth2TokenService::Observer { | 55 public OAuth2TokenService::Observer { |
| 50 public: | 56 public: |
| 51 // Shows the bubble if one is not already showing. This allows us to easily | 57 // Shows the bubble if one is not already showing. This allows us to easily |
| 52 // make a button toggle the bubble on and off when clicked: we unconditionally | 58 // make a button toggle the bubble on and off when clicked: we unconditionally |
| 53 // call this function when the button is clicked and if the bubble isn't | 59 // call this function when the button is clicked and if the bubble isn't |
| 54 // showing it will appear while if it is showing, nothing will happen here and | 60 // showing it will appear while if it is showing, nothing will happen here and |
| 55 // the existing bubble will auto-close due to focus loss. | 61 // the existing bubble will auto-close due to focus loss. |
| 56 static void ShowBubble( | 62 static void ShowBubble( |
| 57 profiles::BubbleViewMode view_mode, | 63 profiles::BubbleViewMode view_mode, |
| 58 profiles::TutorialMode tutorial_mode, | 64 profiles::TutorialMode tutorial_mode, |
| 59 const signin::ManageAccountsParams& manage_accounts_params, | 65 const signin::ManageAccountsParams& manage_accounts_params, |
| 60 views::View* anchor_view, | 66 views::View* anchor_view, |
| 61 views::BubbleBorder::Arrow arrow, | 67 views::BubbleBorder::Arrow arrow, |
| 62 views::BubbleBorder::BubbleAlignment border_alignment, | 68 views::BubbleBorder::BubbleAlignment border_alignment, |
| 63 Browser* browser); | 69 Browser* browser); |
| 64 static bool IsShowing(); | 70 static bool IsShowing(); |
| 71 static ShowingType IsShowingInBrowser(const Browser* browser); | |
| 65 static void Hide(); | 72 static void Hide(); |
| 66 | 73 |
| 67 private: | 74 private: |
| 68 friend class ProfileChooserViewExtensionsTest; | 75 friend class ProfileChooserViewExtensionsTest; |
| 69 | 76 |
| 70 typedef std::vector<size_t> Indexes; | 77 typedef std::vector<size_t> Indexes; |
| 71 typedef std::map<views::Button*, int> ButtonIndexes; | 78 typedef std::map<views::Button*, int> ButtonIndexes; |
| 72 typedef std::map<views::Button*, std::string> AccountButtonIndexes; | 79 typedef std::map<views::Button*, std::string> AccountButtonIndexes; |
| 73 | 80 |
| 74 ProfileChooserView(views::View* anchor_view, | 81 ProfileChooserView(views::View* anchor_view, |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 261 // The current tutorial mode. | 268 // The current tutorial mode. |
| 262 profiles::TutorialMode tutorial_mode_; | 269 profiles::TutorialMode tutorial_mode_; |
| 263 | 270 |
| 264 // The GAIA service type provided in the response header. | 271 // The GAIA service type provided in the response header. |
| 265 signin::GAIAServiceType gaia_service_type_; | 272 signin::GAIAServiceType gaia_service_type_; |
| 266 | 273 |
| 267 DISALLOW_COPY_AND_ASSIGN(ProfileChooserView); | 274 DISALLOW_COPY_AND_ASSIGN(ProfileChooserView); |
| 268 }; | 275 }; |
| 269 | 276 |
| 270 #endif // CHROME_BROWSER_UI_VIEWS_PROFILES_PROFILE_CHOOSER_VIEW_H_ | 277 #endif // CHROME_BROWSER_UI_VIEWS_PROFILES_PROFILE_CHOOSER_VIEW_H_ |
| OLD | NEW |