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

Side by Side Diff: chrome/browser/ui/webui/signin/signin_email_confirmation_dialog.cc

Issue 2580663003: Autoresize the sign-in email confirmation dialog. (Closed)
Patch Set: Created 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/webui/signin/signin_email_confirmation_dialog.h" 5 #include "chrome/browser/ui/webui/signin/signin_email_confirmation_dialog.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/json/json_reader.h" 9 #include "base/json/json_reader.h"
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
11 #include "chrome/browser/profiles/profile.h" 11 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/common/url_constants.h" 12 #include "chrome/common/url_constants.h"
13 #include "chrome/grit/browser_resources.h" 13 #include "chrome/grit/browser_resources.h"
14 #include "chrome/grit/generated_resources.h" 14 #include "chrome/grit/generated_resources.h"
15 #include "content/public/browser/user_metrics.h" 15 #include "content/public/browser/user_metrics.h"
16 #include "content/public/browser/web_ui.h" 16 #include "content/public/browser/web_ui.h"
17 #include "content/public/browser/web_ui_message_handler.h" 17 #include "content/public/browser/web_ui_message_handler.h"
18 #include "ui/base/l10n/l10n_util.h" 18 #include "ui/base/l10n/l10n_util.h"
19 19
20 namespace { 20 namespace {
21 21
22 // Dialog size. 22 // Dialog size.
23 const int kDialogWidth = 448; 23 const int kDialogWidth = 448;
24 const int kDialogHeight = 250; 24 const int kDialogMinHeight = 200;
25 const int kDialogMaxHeight = 700;
25 26
26 // Dialog action key; 27 // Dialog action key;
27 const char kActionKey[] = "action"; 28 const char kActionKey[] = "action";
28 29
29 // Dialog action values. 30 // Dialog action values.
30 const char kActionCancel[] = "cancel"; 31 const char kActionCancel[] = "cancel";
31 const char kActionCreateNewUser[] = "createNewUser"; 32 const char kActionCreateNewUser[] = "createNewUser";
32 const char kActionStartSync[] = "startSync"; 33 const char kActionStartSync[] = "startSync";
33 34
34 class EmailConfirmationHandler : public content::WebUIMessageHandler { 35 class EmailConfirmationHandler : public content::WebUIMessageHandler {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 const std::string& email, 68 const std::string& email,
68 const Callback& callback) { 69 const Callback& callback) {
69 content::RecordAction( 70 content::RecordAction(
70 base::UserMetricsAction("Signin_Show_ImportDataPrompt")); 71 base::UserMetricsAction("Signin_Show_ImportDataPrompt"));
71 SigninEmailConfirmationDialog* dialog = new SigninEmailConfirmationDialog( 72 SigninEmailConfirmationDialog* dialog = new SigninEmailConfirmationDialog(
72 contents, profile, last_email, email, callback); 73 contents, profile, last_email, email, callback);
73 dialog->Show(); 74 dialog->Show();
74 } 75 }
75 76
76 void SigninEmailConfirmationDialog::Show() { 77 void SigninEmailConfirmationDialog::Show() {
77 dialog_delegate_ = ShowConstrainedWebDialog(profile_, this, web_contents_); 78 gfx::Size minSize(kDialogWidth, kDialogMinHeight);
79 gfx::Size maxSize(kDialogWidth, kDialogMaxHeight);
80 dialog_delegate_ = ShowConstrainedWebDialogWithAutoResize(
81 profile_, this, web_contents_, minSize, maxSize);
78 } 82 }
79 83
80 ui::ModalType SigninEmailConfirmationDialog::GetDialogModalType() const { 84 ui::ModalType SigninEmailConfirmationDialog::GetDialogModalType() const {
81 return ui::MODAL_TYPE_WINDOW; 85 return ui::MODAL_TYPE_WINDOW;
82 } 86 }
83 87
84 base::string16 SigninEmailConfirmationDialog::GetDialogTitle() const { 88 base::string16 SigninEmailConfirmationDialog::GetDialogTitle() const {
85 return base::string16(); 89 return base::string16();
86 } 90 }
87 91
88 GURL SigninEmailConfirmationDialog::GetDialogContentURL() const { 92 GURL SigninEmailConfirmationDialog::GetDialogContentURL() const {
89 return GURL(chrome::kChromeUISigninEmailConfirmationURL); 93 return GURL(chrome::kChromeUISigninEmailConfirmationURL);
90 } 94 }
91 95
92 void SigninEmailConfirmationDialog::GetWebUIMessageHandlers( 96 void SigninEmailConfirmationDialog::GetWebUIMessageHandlers(
93 std::vector<content::WebUIMessageHandler*>* handlers) const { 97 std::vector<content::WebUIMessageHandler*>* handlers) const {
94 handlers->push_back(new EmailConfirmationHandler()); 98 handlers->push_back(new EmailConfirmationHandler());
95 } 99 }
96 100
97 void SigninEmailConfirmationDialog::GetDialogSize(gfx::Size* size) const { 101 void SigninEmailConfirmationDialog::GetDialogSize(gfx::Size* size) const {
98 size->SetSize(kDialogWidth, kDialogHeight); 102 // Avoid setting a dialog size in here as this dialog auto-resizes (see
103 // method |SigninEmailConfirmationDialog::Show|.
99 } 104 }
100 105
101 std::string SigninEmailConfirmationDialog::GetDialogArgs() const { 106 std::string SigninEmailConfirmationDialog::GetDialogArgs() const {
102 std::string data; 107 std::string data;
103 base::DictionaryValue dialog_args; 108 base::DictionaryValue dialog_args;
104 dialog_args.SetString("lastEmail", last_email_); 109 dialog_args.SetString("lastEmail", last_email_);
105 dialog_args.SetString("newEmail", new_email_); 110 dialog_args.SetString("newEmail", new_email_);
106 base::JSONWriter::Write(dialog_args, &data); 111 base::JSONWriter::Write(dialog_args, &data);
107 return data; 112 return data;
108 } 113 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 146
142 void SigninEmailConfirmationDialog::OnCloseContents( 147 void SigninEmailConfirmationDialog::OnCloseContents(
143 content::WebContents* source, 148 content::WebContents* source,
144 bool* out_close_dialog) { 149 bool* out_close_dialog) {
145 *out_close_dialog = true; 150 *out_close_dialog = true;
146 } 151 }
147 152
148 bool SigninEmailConfirmationDialog::ShouldShowDialogTitle() const { 153 bool SigninEmailConfirmationDialog::ShouldShowDialogTitle() const {
149 return false; 154 return false;
150 } 155 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698