Index: chrome/browser/ui/webui/signin/inline_login_handler.cc |
diff --git a/chrome/browser/ui/webui/signin/inline_login_handler.cc b/chrome/browser/ui/webui/signin/inline_login_handler.cc |
index 11190a7af90fdb88ae6e0a0979c5e7ee9100a050..b028e669258f010050e50b78c7402a1482074f14 100644 |
--- a/chrome/browser/ui/webui/signin/inline_login_handler.cc |
+++ b/chrome/browser/ui/webui/signin/inline_login_handler.cc |
@@ -13,12 +13,16 @@ |
#include "chrome/browser/extensions/signin/gaia_auth_extension_loader.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/signin/signin_promo.h" |
+#include "chrome/browser/ui/browser_finder.h" |
#include "chrome/browser/ui/browser_navigator.h" |
+#include "chrome/browser/ui/browser_window.h" |
#include "chrome/common/pref_names.h" |
+#include "components/signin/core/common/profile_management_switches.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/browser/web_ui.h" |
#include "google_apis/gaia/gaia_urls.h" |
#include "net/base/url_util.h" |
+#include "ui/aura/window.h" |
InlineLoginHandler::InlineLoginHandler() {} |
@@ -136,5 +140,15 @@ void InlineLoginHandler::HandleSwitchToFullTabMessage( |
ui::PAGE_TRANSITION_AUTO_TOPLEVEL); |
chrome::Navigate(¶ms); |
+ signin_metrics::Source source_ = signin::GetSourceForPromoURL(main_frame_url); |
msw
2015/05/19 22:57:49
nit: name this |source|; don't add the underscore
gogerald1
2015/05/19 23:35:13
Done.
|
+ if (source_ == signin_metrics::SOURCE_AVATAR_BUBBLE_SIGN_IN || |
+ source_ == signin_metrics::SOURCE_AVATAR_BUBBLE_ADD_ACCOUNT) { |
+ Browser* browser = chrome::FindAnyBrowser( |
+ profile, false, |
+ chrome::GetHostDesktopTypeForNativeView(web_contents->GetNativeView())); |
+ if (browser != nullptr) |
+ browser->window()->CloseAvatarBubbleFromAvatarButton(); |
msw
2015/05/19 22:57:49
Add a comment somewhere nearby explaining why this
gogerald1
2015/05/19 23:35:13
Done.
|
+ } |
+ |
web_ui()->CallJavascriptFunction("inline.login.closeDialog"); |
} |