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

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

Issue 1473543002: Implement newly designed sign-in related histograms for desktop platorms. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add comments Created 5 years 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
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"
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 594
595 // static 595 // static
596 ProfileChooserView* ProfileChooserView::profile_bubble_ = nullptr; 596 ProfileChooserView* ProfileChooserView::profile_bubble_ = nullptr;
597 bool ProfileChooserView::close_on_deactivate_for_testing_ = true; 597 bool ProfileChooserView::close_on_deactivate_for_testing_ = true;
598 598
599 // static 599 // static
600 void ProfileChooserView::ShowBubble( 600 void ProfileChooserView::ShowBubble(
601 profiles::BubbleViewMode view_mode, 601 profiles::BubbleViewMode view_mode,
602 profiles::TutorialMode tutorial_mode, 602 profiles::TutorialMode tutorial_mode,
603 const signin::ManageAccountsParams& manage_accounts_params, 603 const signin::ManageAccountsParams& manage_accounts_params,
604 signin_metrics::AccessPoint access_point,
604 views::View* anchor_view, 605 views::View* anchor_view,
605 views::BubbleBorder::Arrow arrow, 606 views::BubbleBorder::Arrow arrow,
606 views::BubbleBorder::BubbleAlignment border_alignment, 607 views::BubbleBorder::BubbleAlignment border_alignment,
607 Browser* browser) { 608 Browser* browser) {
608 // Don't start creating the view if it would be an empty fast user switcher. 609 // Don't start creating the view if it would be an empty fast user switcher.
609 // It has to happen here to prevent the view system from creating an empty 610 // It has to happen here to prevent the view system from creating an empty
610 // container. 611 // container.
611 if (view_mode == profiles::BUBBLE_VIEW_MODE_FAST_PROFILE_CHOOSER && 612 if (view_mode == profiles::BUBBLE_VIEW_MODE_FAST_PROFILE_CHOOSER &&
612 !profiles::HasProfileSwitchTargets(browser->profile())) { 613 !profiles::HasProfileSwitchTargets(browser->profile())) {
613 return; 614 return;
614 } 615 }
615 616
616 if (IsShowing()) { 617 if (IsShowing()) {
617 if (tutorial_mode != profiles::TUTORIAL_MODE_NONE) { 618 if (tutorial_mode != profiles::TUTORIAL_MODE_NONE) {
618 profile_bubble_->tutorial_mode_ = tutorial_mode; 619 profile_bubble_->tutorial_mode_ = tutorial_mode;
619 profile_bubble_->ShowViewFromMode(view_mode); 620 profile_bubble_->ShowViewFromMode(view_mode);
620 } 621 }
621 return; 622 return;
622 } 623 }
623 624
624 profile_bubble_ = new ProfileChooserView(anchor_view, arrow, browser, 625 profile_bubble_ = new ProfileChooserView(
625 view_mode, tutorial_mode, manage_accounts_params.service_type); 626 anchor_view, arrow, browser, view_mode, tutorial_mode,
627 manage_accounts_params.service_type, access_point);
626 views::BubbleDelegateView::CreateBubble(profile_bubble_); 628 views::BubbleDelegateView::CreateBubble(profile_bubble_);
627 profile_bubble_->set_close_on_deactivate(close_on_deactivate_for_testing_); 629 profile_bubble_->set_close_on_deactivate(close_on_deactivate_for_testing_);
628 profile_bubble_->SetAlignment(border_alignment); 630 profile_bubble_->SetAlignment(border_alignment);
629 profile_bubble_->GetWidget()->Show(); 631 profile_bubble_->GetWidget()->Show();
630 profile_bubble_->SetArrowPaintType(views::BubbleBorder::PAINT_NONE); 632 profile_bubble_->SetArrowPaintType(views::BubbleBorder::PAINT_NONE);
631 } 633 }
632 634
633 // static 635 // static
634 bool ProfileChooserView::IsShowing() { 636 bool ProfileChooserView::IsShowing() {
635 return profile_bubble_ != NULL; 637 return profile_bubble_ != NULL;
636 } 638 }
637 639
638 // static 640 // static
639 void ProfileChooserView::Hide() { 641 void ProfileChooserView::Hide() {
640 if (IsShowing()) 642 if (IsShowing())
641 profile_bubble_->GetWidget()->Close(); 643 profile_bubble_->GetWidget()->Close();
642 } 644 }
643 645
644 ProfileChooserView::ProfileChooserView(views::View* anchor_view, 646 ProfileChooserView::ProfileChooserView(views::View* anchor_view,
645 views::BubbleBorder::Arrow arrow, 647 views::BubbleBorder::Arrow arrow,
646 Browser* browser, 648 Browser* browser,
647 profiles::BubbleViewMode view_mode, 649 profiles::BubbleViewMode view_mode,
648 profiles::TutorialMode tutorial_mode, 650 profiles::TutorialMode tutorial_mode,
649 signin::GAIAServiceType service_type) 651 signin::GAIAServiceType service_type,
652 signin_metrics::AccessPoint access_point)
650 : BubbleDelegateView(anchor_view, arrow), 653 : BubbleDelegateView(anchor_view, arrow),
651 browser_(browser), 654 browser_(browser),
652 view_mode_(view_mode), 655 view_mode_(view_mode),
653 tutorial_mode_(tutorial_mode), 656 tutorial_mode_(tutorial_mode),
654 gaia_service_type_(service_type) { 657 gaia_service_type_(service_type),
658 access_point_(access_point) {
655 // Reset the default margins inherited from the BubbleDelegateView. 659 // Reset the default margins inherited from the BubbleDelegateView.
656 // Add a small bottom inset so that the bubble's rounded corners show up. 660 // Add a small bottom inset so that the bubble's rounded corners show up.
657 set_margins(gfx::Insets(0, 0, 1, 0)); 661 set_margins(gfx::Insets(0, 0, 1, 0));
658 ResetView(); 662 ResetView();
659 663
660 avatar_menu_.reset(new AvatarMenu( 664 avatar_menu_.reset(new AvatarMenu(
661 &g_browser_process->profile_manager()->GetProfileInfoCache(), 665 &g_browser_process->profile_manager()->GetProfileInfoCache(),
662 this, 666 this,
663 browser_)); 667 browser_));
664 avatar_menu_->RebuildMenu(); 668 avatar_menu_->RebuildMenu();
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
836 BrowserWindow::AvatarBubbleMode converted_mode = 840 BrowserWindow::AvatarBubbleMode converted_mode =
837 BrowserWindow::AVATAR_BUBBLE_MODE_DEFAULT; 841 BrowserWindow::AVATAR_BUBBLE_MODE_DEFAULT;
838 if (mode == profiles::BUBBLE_VIEW_MODE_GAIA_SIGNIN) { 842 if (mode == profiles::BUBBLE_VIEW_MODE_GAIA_SIGNIN) {
839 converted_mode = BrowserWindow::AVATAR_BUBBLE_MODE_SIGNIN; 843 converted_mode = BrowserWindow::AVATAR_BUBBLE_MODE_SIGNIN;
840 } else if (mode == profiles::BUBBLE_VIEW_MODE_GAIA_ADD_ACCOUNT) { 844 } else if (mode == profiles::BUBBLE_VIEW_MODE_GAIA_ADD_ACCOUNT) {
841 converted_mode = BrowserWindow::AVATAR_BUBBLE_MODE_ADD_ACCOUNT; 845 converted_mode = BrowserWindow::AVATAR_BUBBLE_MODE_ADD_ACCOUNT;
842 } else if (mode == profiles::BUBBLE_VIEW_MODE_GAIA_REAUTH) { 846 } else if (mode == profiles::BUBBLE_VIEW_MODE_GAIA_REAUTH) {
843 converted_mode = BrowserWindow::AVATAR_BUBBLE_MODE_REAUTH; 847 converted_mode = BrowserWindow::AVATAR_BUBBLE_MODE_REAUTH;
844 } 848 }
845 849
846 browser_->window()->ShowModalSigninWindow(converted_mode); 850 browser_->window()->ShowModalSigninWindow(converted_mode, access_point_);
847 } else { 851 } else {
848 ShowView(mode, avatar_menu_.get()); 852 ShowView(mode, avatar_menu_.get());
849 } 853 }
850 } 854 }
851 855
852 void ProfileChooserView::WindowClosing() { 856 void ProfileChooserView::WindowClosing() {
853 DCHECK_EQ(profile_bubble_, this); 857 DCHECK_EQ(profile_bubble_, this);
854 profile_bubble_ = NULL; 858 profile_bubble_ = NULL;
855 859
856 if (tutorial_mode_ == profiles::TUTORIAL_MODE_CONFIRM_SIGNIN) { 860 if (tutorial_mode_ == profiles::TUTORIAL_MODE_CONFIRM_SIGNIN) {
(...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after
1630 email_button->AddChildView(delete_button); 1634 email_button->AddChildView(delete_button);
1631 1635
1632 // Save the original email address, as the button text could be elided. 1636 // Save the original email address, as the button text could be elided.
1633 delete_account_button_map_[delete_button] = account_id; 1637 delete_account_button_map_[delete_button] = account_id;
1634 } 1638 }
1635 } 1639 }
1636 1640
1637 views::View* ProfileChooserView::CreateGaiaSigninView( 1641 views::View* ProfileChooserView::CreateGaiaSigninView(
1638 views::View** signin_content_view) { 1642 views::View** signin_content_view) {
1639 views::WebView* web_view = SigninViewController::CreateGaiaWebView( 1643 views::WebView* web_view = SigninViewController::CreateGaiaWebView(
1640 this, view_mode_, browser_->profile()); 1644 this, view_mode_, browser_->profile(), access_point_);
1641 1645
1642 int message_id; 1646 int message_id;
1643 switch (view_mode_) { 1647 switch (view_mode_) {
1644 case profiles::BUBBLE_VIEW_MODE_GAIA_SIGNIN: 1648 case profiles::BUBBLE_VIEW_MODE_GAIA_SIGNIN:
1645 message_id = IDS_PROFILES_GAIA_SIGNIN_TITLE; 1649 message_id = IDS_PROFILES_GAIA_SIGNIN_TITLE;
1646 break; 1650 break;
1647 case profiles::BUBBLE_VIEW_MODE_GAIA_ADD_ACCOUNT: 1651 case profiles::BUBBLE_VIEW_MODE_GAIA_ADD_ACCOUNT:
1648 message_id = IDS_PROFILES_GAIA_ADD_ACCOUNT_TITLE; 1652 message_id = IDS_PROFILES_GAIA_ADD_ACCOUNT_TITLE;
1649 break; 1653 break;
1650 case profiles::BUBBLE_VIEW_MODE_GAIA_REAUTH: { 1654 case profiles::BUBBLE_VIEW_MODE_GAIA_REAUTH: {
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
1862 IncognitoModePrefs::GetAvailability(browser_->profile()->GetPrefs()) != 1866 IncognitoModePrefs::GetAvailability(browser_->profile()->GetPrefs()) !=
1863 IncognitoModePrefs::DISABLED; 1867 IncognitoModePrefs::DISABLED;
1864 return incognito_available && !browser_->profile()->IsGuestSession(); 1868 return incognito_available && !browser_->profile()->IsGuestSession();
1865 } 1869 }
1866 1870
1867 void ProfileChooserView::PostActionPerformed( 1871 void ProfileChooserView::PostActionPerformed(
1868 ProfileMetrics::ProfileDesktopMenu action_performed) { 1872 ProfileMetrics::ProfileDesktopMenu action_performed) {
1869 ProfileMetrics::LogProfileDesktopMenu(action_performed, gaia_service_type_); 1873 ProfileMetrics::LogProfileDesktopMenu(action_performed, gaia_service_type_);
1870 gaia_service_type_ = signin::GAIA_SERVICE_TYPE_NONE; 1874 gaia_service_type_ = signin::GAIA_SERVICE_TYPE_NONE;
1871 } 1875 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698