Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(486)

Side by Side Diff: chrome/browser/ui/views/profiles/profile_chooser_view.cc

Issue 227083007: UMA for New Profile Management. Track User-Menu Tutorial actions with Histograms. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Exclude enroll-confirm from counts of the promo card. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/lifetime/application_lifetime.h" 10 #include "chrome/browser/lifetime/application_lifetime.h"
11 #include "chrome/browser/profiles/profile_avatar_icon_util.h" 11 #include "chrome/browser/profiles/profile_avatar_icon_util.h"
12 #include "chrome/browser/profiles/profile_info_cache.h" 12 #include "chrome/browser/profiles/profile_info_cache.h"
13 #include "chrome/browser/profiles/profile_manager.h" 13 #include "chrome/browser/profiles/profile_manager.h"
14 #include "chrome/browser/profiles/profile_metrics.h"
14 #include "chrome/browser/profiles/profile_window.h" 15 #include "chrome/browser/profiles/profile_window.h"
15 #include "chrome/browser/profiles/profiles_state.h" 16 #include "chrome/browser/profiles/profiles_state.h"
16 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" 17 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
17 #include "chrome/browser/signin/signin_manager_factory.h" 18 #include "chrome/browser/signin/signin_manager_factory.h"
18 #include "chrome/browser/signin/signin_promo.h" 19 #include "chrome/browser/signin/signin_promo.h"
19 #include "chrome/browser/ui/browser.h" 20 #include "chrome/browser/ui/browser.h"
20 #include "chrome/browser/ui/browser_dialogs.h" 21 #include "chrome/browser/ui/browser_dialogs.h"
21 #include "chrome/browser/ui/chrome_pages.h" 22 #include "chrome/browser/ui/chrome_pages.h"
22 #include "chrome/browser/ui/singleton_tabs.h" 23 #include "chrome/browser/ui/singleton_tabs.h"
23 #include "chrome/browser/ui/views/profiles/user_manager_view.h" 24 #include "chrome/browser/ui/views/profiles/user_manager_view.h"
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 profiles::LockProfile(browser_->profile()); 519 profiles::LockProfile(browser_->profile());
519 } else if (sender == add_account_button_) { 520 } else if (sender == add_account_button_) {
520 ShowView(BUBBLE_VIEW_MODE_GAIA_ADD_ACCOUNT, avatar_menu_.get()); 521 ShowView(BUBBLE_VIEW_MODE_GAIA_ADD_ACCOUNT, avatar_menu_.get());
521 } else if (sender == tutorial_ok_button_) { 522 } else if (sender == tutorial_ok_button_) {
522 // If the user manually dismissed the tutorial, never show it again by 523 // If the user manually dismissed the tutorial, never show it again by
523 // setting the number of times shown to the maximum plus 1, so that later we 524 // setting the number of times shown to the maximum plus 1, so that later we
524 // could distinguish between the dismiss case and the case when the tutorial 525 // could distinguish between the dismiss case and the case when the tutorial
525 // is indeed shown for the maximum number of times. 526 // is indeed shown for the maximum number of times.
526 browser_->profile()->GetPrefs()->SetInteger( 527 browser_->profile()->GetPrefs()->SetInteger(
527 prefs::kProfileAvatarTutorialShown, kProfileAvatarTutorialShowMax + 1); 528 prefs::kProfileAvatarTutorialShown, kProfileAvatarTutorialShowMax + 1);
529
530 ProfileMetrics::
531 LogProfileMirrorEnrollment(ProfileMetrics::ENROLL_CLOSE_PROMO_CARD);
528 ShowView(BUBBLE_VIEW_MODE_PROFILE_CHOOSER, avatar_menu_.get()); 532 ShowView(BUBBLE_VIEW_MODE_PROFILE_CHOOSER, avatar_menu_.get());
529 } else if (sender == tutorial_enable_new_profile_management_button_) { 533 } else if (sender == tutorial_enable_new_profile_management_button_) {
530 profiles::EnableNewProfileManagementPreview(); 534 profiles::EnableNewProfileManagementPreview();
535 ProfileMetrics::
536 LogProfileMirrorEnrollment(ProfileMetrics::ENROLL_ACCEPT_MIRROR);
531 } else if (sender == remove_account_and_relaunch_button_) { 537 } else if (sender == remove_account_and_relaunch_button_) {
532 RemoveAccount(); 538 RemoveAccount();
533 } else if (sender == account_removal_cancel_button_) { 539 } else if (sender == account_removal_cancel_button_) {
534 account_id_to_remove_.clear(); 540 account_id_to_remove_.clear();
535 ShowView(BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT, avatar_menu_.get()); 541 ShowView(BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT, avatar_menu_.get());
536 } else if (sender == gaia_signin_cancel_button_) { 542 } else if (sender == gaia_signin_cancel_button_) {
537 std::string primary_account = 543 std::string primary_account =
538 SigninManagerFactory::GetForProfile(browser_->profile())-> 544 SigninManagerFactory::GetForProfile(browser_->profile())->
539 GetAuthenticatedUsername(); 545 GetAuthenticatedUsername();
540 ShowView(primary_account.empty() ? BUBBLE_VIEW_MODE_PROFILE_CHOOSER : 546 ShowView(primary_account.empty() ? BUBBLE_VIEW_MODE_PROFILE_CHOOSER :
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 581
576 chrome::AttemptRestart(); 582 chrome::AttemptRestart();
577 } 583 }
578 584
579 void ProfileChooserView::LinkClicked(views::Link* sender, int event_flags) { 585 void ProfileChooserView::LinkClicked(views::Link* sender, int event_flags) {
580 if (sender == manage_accounts_link_) { 586 if (sender == manage_accounts_link_) {
581 // ShowView() will DCHECK if this view is displayed for non signed-in users. 587 // ShowView() will DCHECK if this view is displayed for non signed-in users.
582 ShowView(BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT, avatar_menu_.get()); 588 ShowView(BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT, avatar_menu_.get());
583 } else if (sender == tutorial_learn_more_link_) { 589 } else if (sender == tutorial_learn_more_link_) {
584 // TODO(guohui): update |learn_more_url| once it is decided. 590 // TODO(guohui): update |learn_more_url| once it is decided.
591 ProfileMetrics::
592 LogProfileMirrorEnrollment(ProfileMetrics::ENROLL_LAUNCH_TUTORIAL);
585 const GURL lear_more_url("https://support.google.com/chrome/?hl=en#to"); 593 const GURL lear_more_url("https://support.google.com/chrome/?hl=en#to");
586 chrome::NavigateParams params( 594 chrome::NavigateParams params(
587 browser_->profile(), 595 browser_->profile(),
588 lear_more_url, 596 lear_more_url,
589 content::PAGE_TRANSITION_LINK); 597 content::PAGE_TRANSITION_LINK);
590 params.disposition = NEW_FOREGROUND_TAB; 598 params.disposition = NEW_FOREGROUND_TAB;
591 chrome::Navigate(&params); 599 chrome::Navigate(&params);
592 } else { 600 } else {
593 DCHECK(sender == signin_current_profile_link_); 601 DCHECK(sender == signin_current_profile_link_);
594 ShowView(BUBBLE_VIEW_MODE_GAIA_SIGNIN, avatar_menu_.get()); 602 ShowView(BUBBLE_VIEW_MODE_GAIA_SIGNIN, avatar_menu_.get());
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 } else { 662 } else {
655 current_profile_view = CreateCurrentProfileEditableView(item); 663 current_profile_view = CreateCurrentProfileEditableView(item);
656 current_profile_accounts = CreateCurrentProfileAccountsView(item); 664 current_profile_accounts = CreateCurrentProfileAccountsView(item);
657 } 665 }
658 } else { 666 } else {
659 other_profiles.push_back(i); 667 other_profiles.push_back(i);
660 } 668 }
661 } 669 }
662 670
663 if (tutorial_view) { 671 if (tutorial_view) {
672 // Be sure not to track the tutorial display on View refresh, and only count
673 // the preview-promo view, not the welcome-enabled view.
674 if (tutorial_shown == FALSE && !switches::IsNewProfileManagement()) {
guohui 2014/04/25 14:46:50 Currently tutorial_shown only tracks the welcome-e
Mike Lerman 2014/04/28 14:53:11 Ok. I had put in the condition on tutorial_shown b
675 ProfileMetrics::
676 LogProfileMirrorEnrollment(ProfileMetrics::ENROLL_DISPLAY);
677 }
664 layout->StartRow(1, 0); 678 layout->StartRow(1, 0);
665 layout->AddView(tutorial_view); 679 layout->AddView(tutorial_view);
666 } 680 }
667 681
668 if (!current_profile_view) { 682 if (!current_profile_view) {
669 // Guest windows don't have an active profile. 683 // Guest windows don't have an active profile.
670 current_profile_view = CreateGuestProfileView(); 684 current_profile_view = CreateGuestProfileView();
671 option_buttons_view = CreateOptionsView(false); 685 option_buttons_view = CreateOptionsView(false);
672 } 686 }
673 687
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 layout->SetInsets(views::kButtonVEdgeMarginNew, 756 layout->SetInsets(views::kButtonVEdgeMarginNew,
743 views::kButtonHEdgeMarginNew, 757 views::kButtonHEdgeMarginNew,
744 views::kButtonVEdgeMarginNew, 758 views::kButtonVEdgeMarginNew,
745 views::kButtonHEdgeMarginNew); 759 views::kButtonHEdgeMarginNew);
746 760
747 // Adds title. 761 // Adds title.
748 views::Label* title_label = new views::Label(title_text); 762 views::Label* title_label = new views::Label(title_text);
749 title_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); 763 title_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
750 title_label->SetAutoColorReadabilityEnabled(false); 764 title_label->SetAutoColorReadabilityEnabled(false);
751 title_label->SetEnabledColor(SK_ColorWHITE); 765 title_label->SetEnabledColor(SK_ColorWHITE);
752 title_label ->SetFontList(ui::ResourceBundle::GetSharedInstance().GetFontList( 766 title_label->SetFontList(ui::ResourceBundle::GetSharedInstance().GetFontList(
753 ui::ResourceBundle::MediumFont)); 767 ui::ResourceBundle::MediumFont));
754 layout->StartRow(1, 0); 768 layout->StartRow(1, 0);
755 layout->AddView(title_label); 769 layout->AddView(title_label);
756 770
757 // Adds body content. 771 // Adds body content.
758 views::Label* content_label = new views::Label(content_text); 772 views::Label* content_label = new views::Label(content_text);
759 content_label->SetMultiLine(true); 773 content_label->SetMultiLine(true);
760 content_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); 774 content_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
761 content_label->SetAutoColorReadabilityEnabled(false); 775 content_label->SetAutoColorReadabilityEnabled(false);
762 content_label->SetEnabledColor(profiles::kAvatarTutorialContentTextColor); 776 content_label->SetEnabledColor(profiles::kAvatarTutorialContentTextColor);
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
1168 1182
1169 views::View* ProfileChooserView::CreateNewProfileManagementPreviewView() { 1183 views::View* ProfileChooserView::CreateNewProfileManagementPreviewView() {
1170 return CreateTutorialView( 1184 return CreateTutorialView(
1171 l10n_util::GetStringUTF16(IDS_PROFILES_PREVIEW_TUTORIAL_TITLE), 1185 l10n_util::GetStringUTF16(IDS_PROFILES_PREVIEW_TUTORIAL_TITLE),
1172 l10n_util::GetStringUTF16(IDS_PROFILES_PREVIEW_TUTORIAL_CONTENT_TEXT), 1186 l10n_util::GetStringUTF16(IDS_PROFILES_PREVIEW_TUTORIAL_CONTENT_TEXT),
1173 l10n_util::GetStringUTF16(IDS_PROFILES_PROFILE_TUTORIAL_LEARN_MORE), 1187 l10n_util::GetStringUTF16(IDS_PROFILES_PROFILE_TUTORIAL_LEARN_MORE),
1174 l10n_util::GetStringUTF16(IDS_PROFILES_TUTORIAL_TRY_BUTTON), 1188 l10n_util::GetStringUTF16(IDS_PROFILES_TUTORIAL_TRY_BUTTON),
1175 &tutorial_learn_more_link_, 1189 &tutorial_learn_more_link_,
1176 &tutorial_enable_new_profile_management_button_); 1190 &tutorial_enable_new_profile_management_button_);
1177 } 1191 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698