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

Unified Diff: chrome/browser/ui/views/profiles/user_manager_view.cc

Issue 2351173004: Display local signin error without browser and record the path of selected profile in user manager. (Closed)
Patch Set: cr Created 4 years, 3 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/views/profiles/user_manager_view.cc
diff --git a/chrome/browser/ui/views/profiles/user_manager_view.cc b/chrome/browser/ui/views/profiles/user_manager_view.cc
index f7c9a67a89f56a5eae7e2170dcda4b33d7b774b1..b1035e1e85657b912d54500a8e2e9c6f2c4b143a 100644
--- a/chrome/browser/ui/views/profiles/user_manager_view.cc
+++ b/chrome/browser/ui/views/profiles/user_manager_view.cc
@@ -22,6 +22,7 @@
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/user_manager.h"
+#include "chrome/common/url_constants.h"
#include "chrome/grit/chromium_strings.h"
#include "chrome/grit/generated_resources.h"
#include "components/guest_view/browser/guest_view_manager.h"
@@ -66,7 +67,7 @@ ReauthDelegate::ReauthDelegate(UserManagerView* parent,
AddChildView(web_view_);
SetLayoutManager(new views::FillLayout());
- web_view->GetWebContents()->SetDelegate(this);
+ web_view_->GetWebContents()->SetDelegate(this);
// Load the re-auth URL, prepopulated with the user's email address.
// Add the index of the profile to the URL so that the inline login page
@@ -87,6 +88,10 @@ gfx::Size ReauthDelegate::GetPreferredSize() const {
UserManager::kPasswordCombinedReauthDialogHeight);
}
+void ReauthDelegate::DisplayErrorMessage() {
+ web_view_->LoadInitialURL(GURL(chrome::kChromeUISigninErrorURL));
+}
+
bool ReauthDelegate::CanResize() const {
return true;
}
@@ -210,17 +215,14 @@ void UserManager::ShowReauthDialog(content::BrowserContext* browser_context,
// This method should only be called if the user manager is already showing.
if (!IsShowing())
return;
-
instance_->ShowReauthDialog(browser_context, email, reason);
}
// static
void UserManager::HideReauthDialog() {
// This method should only be called if the user manager is already showing.
- if (!IsShowing())
- return;
-
- instance_->HideReauthDialog();
+ if (instance_ && !instance_->GetWidget()->IsClosed())
sky 2016/09/22 13:08:46 I think you missed my earlier comment here. I thin
zmin 2016/09/22 15:56:23 Sorry for missing comment. Yes, I agree IsVisible
sky 2016/09/22 16:33:50 Please add file a bug to clean it up and add a TOD
+ instance_->HideReauthDialog();
}
// static
@@ -230,6 +232,28 @@ void UserManager::AddOnUserManagerShownCallbackForTesting(
user_manager_shown_callback_for_testing_ = new base::Closure(callback);
}
+// static
+void UserManager::ShowSigninDialog(content::BrowserContext* browser_context,
+ const base::FilePath& profile_path) {
+ if (!IsShowing())
+ return;
+ instance_->SetSigninProfilePath(profile_path);
+ ShowReauthDialog(browser_context, std::string(),
+ signin_metrics::Reason::REASON_SIGNIN_PRIMARY_ACCOUNT);
+}
+
+// static
+void UserManager::DisplayErrorMessage() {
+ // This method should only be called if the user manager is already showing.
+ DCHECK(instance_);
+ instance_->DisplayErrorMessage();
+}
+
+// static
+base::FilePath UserManager::GetSigninProfilePath() {
+ return instance_->GetSigninProfilePath();
+}
+
// UserManagerView -------------------------------------------------------------
UserManagerView::UserManagerView()
@@ -408,3 +432,16 @@ void UserManagerView::WindowClosing() {
bool UserManagerView::ShouldUseCustomFrame() const {
return false;
}
+
+void UserManagerView::DisplayErrorMessage() {
+ if (delegate_)
+ delegate_->DisplayErrorMessage();
+}
+
+void UserManagerView::SetSigninProfilePath(const base::FilePath& profile_path) {
+ signin_profile_path_ = profile_path;
+}
+
+base::FilePath UserManagerView::GetSigninProfilePath() {
+ return signin_profile_path_;
+}
« no previous file with comments | « chrome/browser/ui/views/profiles/user_manager_view.h ('k') | chrome/browser/ui/webui/signin/signin_error_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698