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

Side by Side Diff: chrome/browser/chromeos/login/login_html_dialog.cc

Issue 10254027: chromeos: Rename LoginHtmlDialog to LoginWebDialog. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 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.
4
5 #include "chrome/browser/chromeos/login/login_html_dialog.h"
6
7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/chromeos/login/helper.h"
9 #include "chrome/browser/profiles/profile_manager.h"
10 #include "chrome/browser/ui/views/web_dialog_view.h"
11 #include "content/public/browser/notification_source.h"
12 #include "content/public/browser/notification_types.h"
13 #include "ui/gfx/native_widget_types.h"
14 #include "ui/gfx/rect.h"
15 #include "ui/gfx/size.h"
16 #include "ui/views/widget/widget.h"
17
18 using content::WebContents;
19 using content::WebUIMessageHandler;
20
21 namespace chromeos {
22
23 namespace {
24
25 // Default width/height ratio of screen size.
26 const double kDefaultWidthRatio = 0.6;
27 const double kDefaultHeightRatio = 0.6;
28
29 } // namespace
30
31 ///////////////////////////////////////////////////////////////////////////////
32 // LoginHtmlDialog, public:
33
34 void LoginHtmlDialog::Delegate::OnDialogClosed() {
35 }
36
37 LoginHtmlDialog::LoginHtmlDialog(Delegate* delegate,
38 gfx::NativeWindow parent_window,
39 const std::wstring& title,
40 const GURL& url,
41 Style style)
42 : delegate_(delegate),
43 parent_window_(parent_window),
44 title_(WideToUTF16Hack(title)),
45 url_(url),
46 style_(style),
47 bubble_frame_view_(NULL),
48 is_open_(false) {
49 gfx::Rect screen_bounds(chromeos::CalculateScreenBounds(gfx::Size()));
50 width_ = static_cast<int>(kDefaultWidthRatio * screen_bounds.width());
51 height_ = static_cast<int>(kDefaultHeightRatio * screen_bounds.height());
52 }
53
54 LoginHtmlDialog::~LoginHtmlDialog() {
55 delegate_ = NULL;
56 }
57
58 void LoginHtmlDialog::Show() {
59 views::Widget::CreateWindowWithParent(
60 new WebDialogView(ProfileManager::GetDefaultProfile(), NULL, this),
61 parent_window_)->Show();
62 is_open_ = true;
63 }
64
65 void LoginHtmlDialog::SetDialogSize(int width, int height) {
66 DCHECK(width >= 0 && height >= 0);
67 width_ = width;
68 height_ = height;
69 }
70
71 void LoginHtmlDialog::SetDialogTitle(const string16& title) {
72 title_ = title;
73 }
74
75 ///////////////////////////////////////////////////////////////////////////////
76 // LoginHtmlDialog, protected:
77
78 ui::ModalType LoginHtmlDialog::GetDialogModalType() const {
79 return ui::MODAL_TYPE_SYSTEM;
80 }
81
82 string16 LoginHtmlDialog::GetDialogTitle() const {
83 return title_;
84 }
85
86 GURL LoginHtmlDialog::GetDialogContentURL() const {
87 return url_;
88 }
89
90 void LoginHtmlDialog::GetWebUIMessageHandlers(
91 std::vector<WebUIMessageHandler*>* handlers) const {
92 }
93
94 void LoginHtmlDialog::GetDialogSize(gfx::Size* size) const {
95 size->SetSize(width_, height_);
96 }
97
98 std::string LoginHtmlDialog::GetDialogArgs() const {
99 return std::string();
100 }
101
102 void LoginHtmlDialog::OnDialogClosed(const std::string& json_retval) {
103 is_open_ = false;
104 notification_registrar_.RemoveAll();
105 if (delegate_)
106 delegate_->OnDialogClosed();
107 }
108
109 void LoginHtmlDialog::OnCloseContents(WebContents* source,
110 bool* out_close_dialog) {
111 if (out_close_dialog)
112 *out_close_dialog = true;
113 }
114
115 bool LoginHtmlDialog::ShouldShowDialogTitle() const {
116 return true;
117 }
118
119 bool LoginHtmlDialog::HandleContextMenu(
120 const content::ContextMenuParams& params) {
121 // Disable context menu.
122 return true;
123 }
124
125 void LoginHtmlDialog::Observe(int type,
126 const content::NotificationSource& source,
127 const content::NotificationDetails& details) {
128 DCHECK(type == content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME);
129 // TODO(saintlou): Do we need a throbber for Aura?
130 NOTIMPLEMENTED();
131 }
132
133 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/login_html_dialog.h ('k') | chrome/browser/chromeos/login/login_web_dialog.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698