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

Unified Diff: chrome/browser/ui/views/sync/profile_signin_confirmation_dialog_views.h

Issue 14846020: Add Views implementation of ProfileSigninConfirmationDialog. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more nits Created 7 years, 7 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/sync/profile_signin_confirmation_dialog_views.h
diff --git a/chrome/browser/ui/views/sync/profile_signin_confirmation_dialog_views.h b/chrome/browser/ui/views/sync/profile_signin_confirmation_dialog_views.h
new file mode 100644
index 0000000000000000000000000000000000000000..4b4fbf5d0bdf67d57fc2570932a1bc691ec434db
--- /dev/null
+++ b/chrome/browser/ui/views/sync/profile_signin_confirmation_dialog_views.h
@@ -0,0 +1,103 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_VIEWS_SYNC_PROFILE_SIGNIN_CONFIRMATION_DIALOG_VIEWS_H_
+#define CHROME_BROWSER_UI_VIEWS_SYNC_PROFILE_SIGNIN_CONFIRMATION_DIALOG_VIEWS_H_
+
+#include "base/callback.h"
+#include "base/compiler_specific.h"
+#include "chrome/browser/ui/sync/profile_signin_confirmation_helper.h"
+#include "ui/views/controls/link_listener.h"
+#include "ui/views/controls/styled_label_listener.h"
+#include "ui/views/window/dialog_delegate.h"
+
+class Browser;
+class Profile;
+
+namespace content {
+class WebContents;
+}
+
+namespace views {
+class StyledLabel;
+}
+
+// A tab-modal dialog to allow a user signing in with a managed account
+// to create a new Chrome profile.
+class ProfileSigninConfirmationDialogViews : public views::DialogDelegateView,
+ public views::LinkListener,
+ public views::StyledLabelListener {
+ public:
+ // Create and show the dialog, which owns itself.
+ static void ShowDialog(Browser* browser,
+ Profile* profile,
+ const std::string& username,
+ const base::Closure& cancel_signin,
+ const base::Closure& signin_with_new_profile,
+ const base::Closure& continue_signin);
+
+ private:
+ ProfileSigninConfirmationDialogViews(
+ Browser* browser,
+ Profile* profile,
+ const std::string& username,
+ const base::Closure& cancel_signin,
+ const base::Closure& signin_with_new_profile,
+ const base::Closure& continue_signin);
+ virtual ~ProfileSigninConfirmationDialogViews();
+
+ // views::DialogDelegateView:
+ virtual string16 GetWindowTitle() const OVERRIDE;
+ virtual string16 GetDialogButtonLabel(ui::DialogButton button) const OVERRIDE;
+ virtual int GetDefaultDialogButton() const OVERRIDE;
+ virtual views::View* CreateExtraView() OVERRIDE;
+ virtual bool Accept() OVERRIDE;
+ virtual bool Cancel() OVERRIDE;
+ virtual void OnClose() OVERRIDE;
+ virtual ui::ModalType GetModalType() const OVERRIDE;
+ virtual void ViewHierarchyChanged(
+ const ViewHierarchyChangedDetails& details) OVERRIDE;
+
+ // views::LinkListener:
+ virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE;
+
+ // views::StyledLabelListener:
+ virtual void StyledLabelLinkClicked(const ui::Range& range,
+ int event_flags) OVERRIDE;
+
+ // Shows the dialog and releases ownership of this object. It will
+ // delete itself when the dialog is closed. If |prompt_for_new_profile|
+ // is true, the dialog will offer to create a new profile before signin.
+ void Show(bool prompt_for_new_profile);
+
+ // Resets all the user response handling callbacks.
+ void ResetCallbacks();
+
+ // Weak ptr to label for dialog explanation text.
+ views::StyledLabel* explanation_label_;
+
+ // Weak ptr to parent view.
+ Browser* browser_;
+
+ // The profile being signed in.
+ Profile* profile_;
+
+ // The GAIA username being signed in.
+ std::string username_;
+
+ // Dialog button callbacks.
+ base::Closure cancel_signin_;
+ base::Closure signin_with_new_profile_;
+ base::Closure continue_signin_;
+
+ // Whether the user should be prompted to create a new profile.
+ bool prompt_for_new_profile_;
+
+ // The link to create a new profile.
+ views::Link* link_;
+
+ DISALLOW_COPY_AND_ASSIGN(ProfileSigninConfirmationDialogViews);
+};
+
+#endif // CHROME_BROWSER_UI_VIEWS_SYNC_PROFILE_SIGNIN_CONFIRMATION_DIALOG_VIEWS_H_

Powered by Google App Engine
This is Rietveld 408576698