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

Unified Diff: chrome/browser/ui/webui/signin/inline_login_handler_impl.cc

Issue 256623002: Implemented inline login dialog for Chrome OS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged SetExtraInitParams. 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
diff --git a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
index 41957ef16ffa180024465da04b9a7dcc04a7750c..ddd3773a8dcca90c495222873776455c84321c08 100644
--- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
+++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
@@ -7,27 +7,23 @@
#include <string>
#include "base/bind.h"
-#include "base/prefs/pref_service.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
-#include "chrome/browser/signin/signin_promo.h"
#include "chrome/browser/sync/profile_sync_service.h"
#include "chrome/browser/sync/profile_sync_service_factory.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/sync/one_click_signin_helper.h"
#include "chrome/browser/ui/sync/one_click_signin_histogram.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "components/signin/core/browser/profile_oauth2_token_service.h"
#include "components/signin/core/browser/signin_error_controller.h"
#include "components/signin/core/browser/signin_oauth_helper.h"
#include "content/public/browser/storage_partition.h"
-#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "google_apis/gaia/gaia_auth_fetcher.h"
#include "google_apis/gaia/gaia_auth_util.h"
@@ -180,80 +176,15 @@ InlineLoginHandlerImpl::InlineLoginHandlerImpl()
InlineLoginHandlerImpl::~InlineLoginHandlerImpl() {}
-void InlineLoginHandlerImpl::RegisterMessages() {
- InlineLoginHandler::RegisterMessages();
-
- web_ui()->RegisterMessageCallback("switchToFullTab",
- base::Bind(&InlineLoginHandlerImpl::HandleSwitchToFullTabMessage,
- base::Unretained(this)));
-}
-
void InlineLoginHandlerImpl::SetExtraInitParams(base::DictionaryValue& params) {
- params.SetInteger("authMode", InlineLoginHandler::kDesktopAuthMode);
-
- const GURL& current_url = web_ui()->GetWebContents()->GetURL();
- signin::Source source = signin::GetSourceForPromoURL(current_url);
- DCHECK(source != signin::SOURCE_UNKNOWN);
- if (source == signin::SOURCE_AVATAR_BUBBLE_ADD_ACCOUNT ||
- source == signin::SOURCE_AVATAR_BUBBLE_SIGN_IN) {
- // Drop the leading slash in the path.
- params.SetString("gaiaPath",
- GaiaUrls::GetInstance()->embedded_signin_url().path().substr(1));
- }
-
params.SetString("service", "chromiumsync");
- params.SetString("continueUrl",
- signin::GetLandingURL("source", static_cast<int>(source)).spec());
-
- std::string default_email;
- if (source != signin::SOURCE_AVATAR_BUBBLE_ADD_ACCOUNT) {
- default_email = Profile::FromWebUI(web_ui())->GetPrefs()->
- GetString(prefs::kGoogleServicesLastUsername);
- } else {
- if (!net::GetValueForKeyInQuery(current_url, "email", &default_email))
- default_email.clear();
- }
- if (!default_email.empty())
- params.SetString("email", default_email);
-
- std::string frame_url;
- net::GetValueForKeyInQuery(current_url, "frameUrl", &frame_url);
- if (!frame_url.empty())
- params.SetString("frameUrl", frame_url);
-
- std::string is_constrained;
- net::GetValueForKeyInQuery(current_url, "constrained", &is_constrained);
- if (!is_constrained.empty())
- params.SetString("constrained", is_constrained);
-
- // TODO(rogerta): this needs to be passed on to gaia somehow.
- std::string read_only_email;
- net::GetValueForKeyInQuery(current_url, "readOnlyEmail", &read_only_email);
- if (!read_only_email.empty())
- params.SetString("readOnlyEmail", read_only_email);
+ signin::Source source = signin::GetSourceForPromoURL(
xiyuan 2014/04/29 16:43:16 nit: you still need signin_promo.h for this.
+ web_ui()->GetWebContents()->GetURL());
OneClickSigninHelper::LogHistogramValue(
source, one_click_signin::HISTOGRAM_SHOWN);
}
-void InlineLoginHandlerImpl::HandleSwitchToFullTabMessage(
- const base::ListValue* args) {
- base::string16 url_str;
- CHECK(args->GetString(0, &url_str));
-
- content::WebContents* web_contents = web_ui()->GetWebContents();
- GURL main_frame_url(web_contents->GetURL());
- main_frame_url = net::AppendOrReplaceQueryParameter(
- main_frame_url, "frameUrl", base::UTF16ToASCII(url_str));
- chrome::NavigateParams params(
- Profile::FromWebUI(web_ui()),
- net::AppendOrReplaceQueryParameter(main_frame_url, "constrained", "0"),
- content::PAGE_TRANSITION_AUTO_TOPLEVEL);
- chrome::Navigate(&params);
-
- web_ui()->CallJavascriptFunction("inline.login.closeDialog");
-}
-
void InlineLoginHandlerImpl::CompleteLogin(const base::ListValue* args) {
content::WebContents* contents = web_ui()->GetWebContents();
const GURL& current_url = contents->GetURL();

Powered by Google App Engine
This is Rietveld 408576698