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 #include "chrome/browser/ui/views/profiles/profile_chooser_view.h" | 5 #include "chrome/browser/ui/views/profiles/profile_chooser_view.h" |
6 | 6 |
7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/browser/browser_process.h" | 9 #include "chrome/browser/browser_process.h" |
10 #include "chrome/browser/first_run/first_run.h" | |
11 #include "chrome/browser/lifetime/application_lifetime.h" | 10 #include "chrome/browser/lifetime/application_lifetime.h" |
12 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 11 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
13 #include "chrome/browser/profiles/profile_avatar_icon_util.h" | 12 #include "chrome/browser/profiles/profile_avatar_icon_util.h" |
14 #include "chrome/browser/profiles/profile_info_cache.h" | 13 #include "chrome/browser/profiles/profile_info_cache.h" |
15 #include "chrome/browser/profiles/profile_manager.h" | 14 #include "chrome/browser/profiles/profile_manager.h" |
16 #include "chrome/browser/profiles/profile_metrics.h" | 15 #include "chrome/browser/profiles/profile_metrics.h" |
17 #include "chrome/browser/profiles/profile_window.h" | 16 #include "chrome/browser/profiles/profile_window.h" |
18 #include "chrome/browser/profiles/profiles_state.h" | 17 #include "chrome/browser/profiles/profiles_state.h" |
19 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" | 18 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
20 #include "chrome/browser/signin/signin_header_helper.h" | 19 #include "chrome/browser/signin/signin_header_helper.h" |
21 #include "chrome/browser/signin/signin_manager_factory.h" | 20 #include "chrome/browser/signin/signin_manager_factory.h" |
22 #include "chrome/browser/signin/signin_promo.h" | 21 #include "chrome/browser/signin/signin_promo.h" |
| 22 #include "chrome/browser/signin/signin_ui_util.h" |
23 #include "chrome/browser/ui/browser.h" | 23 #include "chrome/browser/ui/browser.h" |
24 #include "chrome/browser/ui/browser_commands.h" | 24 #include "chrome/browser/ui/browser_commands.h" |
25 #include "chrome/browser/ui/browser_dialogs.h" | 25 #include "chrome/browser/ui/browser_dialogs.h" |
26 #include "chrome/browser/ui/chrome_pages.h" | 26 #include "chrome/browser/ui/chrome_pages.h" |
27 #include "chrome/browser/ui/singleton_tabs.h" | 27 #include "chrome/browser/ui/singleton_tabs.h" |
28 #include "chrome/browser/ui/views/profiles/user_manager_view.h" | 28 #include "chrome/browser/ui/views/profiles/user_manager_view.h" |
29 #include "chrome/browser/ui/webui/signin/login_ui_service.h" | 29 #include "chrome/browser/ui/webui/signin/login_ui_service.h" |
30 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h" | 30 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h" |
31 #include "chrome/common/pref_names.h" | 31 #include "chrome/common/pref_names.h" |
32 #include "chrome/common/url_constants.h" | 32 #include "chrome/common/url_constants.h" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 // Helpers -------------------------------------------------------------------- | 67 // Helpers -------------------------------------------------------------------- |
68 | 68 |
69 const int kFixedMenuWidth = 250; | 69 const int kFixedMenuWidth = 250; |
70 const int kButtonHeight = 32; | 70 const int kButtonHeight = 32; |
71 const int kFixedGaiaViewHeight = 400; | 71 const int kFixedGaiaViewHeight = 400; |
72 const int kFixedGaiaViewWidth = 360; | 72 const int kFixedGaiaViewWidth = 360; |
73 const int kFixedAccountRemovalViewWidth = 280; | 73 const int kFixedAccountRemovalViewWidth = 280; |
74 const int kFixedSwitchUserViewWidth = 280; | 74 const int kFixedSwitchUserViewWidth = 280; |
75 const int kLargeImageSide = 88; | 75 const int kLargeImageSide = 88; |
76 | 76 |
77 // The maximum number of times to show the welcome tutorial for an upgrade user. | |
78 const int kUpgradeWelcomeTutorialShowMax = 1; | |
79 | |
80 // Creates a GridLayout with a single column. This ensures that all the child | 77 // Creates a GridLayout with a single column. This ensures that all the child |
81 // views added get auto-expanded to fill the full width of the bubble. | 78 // views added get auto-expanded to fill the full width of the bubble. |
82 views::GridLayout* CreateSingleColumnLayout(views::View* view, int width) { | 79 views::GridLayout* CreateSingleColumnLayout(views::View* view, int width) { |
83 views::GridLayout* layout = new views::GridLayout(view); | 80 views::GridLayout* layout = new views::GridLayout(view); |
84 view->SetLayoutManager(layout); | 81 view->SetLayoutManager(layout); |
85 | 82 |
86 views::ColumnSet* columns = layout->AddColumnSet(0); | 83 views::ColumnSet* columns = layout->AddColumnSet(0); |
87 columns->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 0, | 84 columns->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 0, |
88 views::GridLayout::FIXED, width, width); | 85 views::GridLayout::FIXED, width, width); |
89 return layout; | 86 return layout; |
(...skipping 1293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1383 | 1380 |
1384 TitleCard* title_card = new TitleCard( | 1381 TitleCard* title_card = new TitleCard( |
1385 l10n_util::GetStringUTF16(IDS_PROFILES_ACCOUNT_REMOVAL_TITLE), | 1382 l10n_util::GetStringUTF16(IDS_PROFILES_ACCOUNT_REMOVAL_TITLE), |
1386 this, &account_removal_cancel_button_); | 1383 this, &account_removal_cancel_button_); |
1387 return TitleCard::AddPaddedTitleCard(view, title_card, | 1384 return TitleCard::AddPaddedTitleCard(view, title_card, |
1388 kFixedAccountRemovalViewWidth); | 1385 kFixedAccountRemovalViewWidth); |
1389 } | 1386 } |
1390 | 1387 |
1391 views::View* ProfileChooserView::CreateWelcomeUpgradeTutorialViewIfNeeded( | 1388 views::View* ProfileChooserView::CreateWelcomeUpgradeTutorialViewIfNeeded( |
1392 bool tutorial_shown, const AvatarMenu::Item& avatar_item){ | 1389 bool tutorial_shown, const AvatarMenu::Item& avatar_item){ |
1393 if (first_run::IsChromeFirstRun()) | |
1394 return NULL; | |
1395 | |
1396 Profile* profile = browser_->profile(); | 1390 Profile* profile = browser_->profile(); |
1397 if (!avatar_item.signed_in) { | 1391 if (!avatar_item.signed_in) { |
1398 profile->GetPrefs()->SetInteger( | 1392 profile->GetPrefs()->SetInteger( |
1399 prefs::kProfileAvatarTutorialShown, kUpgradeWelcomeTutorialShowMax + 1); | 1393 prefs::kProfileAvatarTutorialShown, |
| 1394 signin_ui_util::kUpgradeWelcomeTutorialShowMax + 1); |
1400 return NULL; | 1395 return NULL; |
1401 } | 1396 } |
1402 | 1397 |
1403 const int show_count = profile->GetPrefs()->GetInteger( | 1398 const int show_count = profile->GetPrefs()->GetInteger( |
1404 prefs::kProfileAvatarTutorialShown); | 1399 prefs::kProfileAvatarTutorialShown); |
1405 // Do not show the tutorial if user has dismissed it. | 1400 // Do not show the tutorial if user has dismissed it. |
1406 if (show_count > kUpgradeWelcomeTutorialShowMax) | 1401 if (show_count > signin_ui_util::kUpgradeWelcomeTutorialShowMax) |
1407 return NULL; | 1402 return NULL; |
1408 | 1403 |
1409 if (!tutorial_shown) { | 1404 if (!tutorial_shown) { |
1410 if (show_count == kUpgradeWelcomeTutorialShowMax) | 1405 if (show_count == signin_ui_util::kUpgradeWelcomeTutorialShowMax) |
1411 return NULL; | 1406 return NULL; |
1412 profile->GetPrefs()->SetInteger( | 1407 profile->GetPrefs()->SetInteger( |
1413 prefs::kProfileAvatarTutorialShown, show_count + 1); | 1408 prefs::kProfileAvatarTutorialShown, show_count + 1); |
1414 } | 1409 } |
1415 | 1410 |
1416 return CreateTutorialView( | 1411 return CreateTutorialView( |
1417 profiles::TUTORIAL_MODE_WELCOME_UPGRADE, | 1412 profiles::TUTORIAL_MODE_WELCOME_UPGRADE, |
1418 l10n_util::GetStringFUTF16( | 1413 l10n_util::GetStringFUTF16( |
1419 IDS_PROFILES_WELCOME_UPGRADE_TUTORIAL_TITLE, avatar_item.name), | 1414 IDS_PROFILES_WELCOME_UPGRADE_TUTORIAL_TITLE, avatar_item.name), |
1420 l10n_util::GetStringUTF16( | 1415 l10n_util::GetStringUTF16( |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1498 IncognitoModePrefs::GetAvailability(browser_->profile()->GetPrefs()) != | 1493 IncognitoModePrefs::GetAvailability(browser_->profile()->GetPrefs()) != |
1499 IncognitoModePrefs::DISABLED; | 1494 IncognitoModePrefs::DISABLED; |
1500 return incognito_available && !browser_->profile()->IsGuestSession(); | 1495 return incognito_available && !browser_->profile()->IsGuestSession(); |
1501 } | 1496 } |
1502 | 1497 |
1503 void ProfileChooserView::PostActionPerformed( | 1498 void ProfileChooserView::PostActionPerformed( |
1504 ProfileMetrics::ProfileDesktopMenu action_performed) { | 1499 ProfileMetrics::ProfileDesktopMenu action_performed) { |
1505 ProfileMetrics::LogProfileDesktopMenu(action_performed, gaia_service_type_); | 1500 ProfileMetrics::LogProfileDesktopMenu(action_performed, gaia_service_type_); |
1506 gaia_service_type_ = signin::GAIA_SERVICE_TYPE_NONE; | 1501 gaia_service_type_ = signin::GAIA_SERVICE_TYPE_NONE; |
1507 } | 1502 } |
OLD | NEW |