1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/chromeos/ui/inline_login_dialog.h"
8 #include "base/logging.h"
9 #include "chrome/browser/signin/signin_promo.h"
10 #include "chrome/browser/ui/browser_dialogs.h"
11 #include "content/public/browser/web_contents.h"
12 #include "ui/views/controls/webview/webview.h"
13 #include "ui/views/layout/box_layout.h"
14 #include "ui/views/widget/widget.h"
18 const int kGaiaViewHeight
= 400;
19 const int kGaiaViewWidth
= 360;
26 void InlineLoginDialog::Show(content::BrowserContext
* context
) {
27 InlineLoginDialog
* dialog
= new InlineLoginDialog();
28 chrome::ShowWebDialog(NULL
, context
, dialog
);
31 InlineLoginDialog::InlineLoginDialog() {
34 InlineLoginDialog::~InlineLoginDialog() {
37 ModalType
InlineLoginDialog::GetDialogModalType() const {
38 return MODAL_TYPE_SYSTEM
;
41 base::string16
InlineLoginDialog::GetDialogTitle() const {
42 return base::string16();
45 GURL
InlineLoginDialog::GetDialogContentURL() const {
46 return GURL(signin::GetPromoURL(
47 signin_metrics::SOURCE_AVATAR_BUBBLE_ADD_ACCOUNT
,
48 false /* auto_close */,
49 true /* is_constrained */));
52 void InlineLoginDialog::GetWebUIMessageHandlers(
53 std::vector
<content::WebUIMessageHandler
*>* handlers
) const {
56 void InlineLoginDialog::GetDialogSize(gfx::Size
* size
) const {
57 *size
= gfx::Size(kGaiaViewWidth
, kGaiaViewHeight
);
60 std::string
InlineLoginDialog::GetDialogArgs() const {
64 bool InlineLoginDialog::CanResizeDialog() const {
68 void InlineLoginDialog::OnDialogClosed(const std::string
& json_retval
) {
72 void InlineLoginDialog::OnCloseContents(content::WebContents
* source
,
73 bool* out_close_dialog
) {
74 *out_close_dialog
= true;
77 bool InlineLoginDialog::ShouldShowDialogTitle() const {