OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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/chromeos/login/simple_web_view_dialog.h" | 5 #include "chrome/browser/chromeos/login/simple_web_view_dialog.h" |
6 | 6 |
7 #include "ash/shell.h" | 7 #include "ash/shell.h" |
8 #include "ash/shell_window_ids.h" | 8 #include "ash/shell_window_ids.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 WebContents* web_contents = web_view_->GetWebContents(); | 152 WebContents* web_contents = web_view_->GetWebContents(); |
153 DCHECK(web_contents); | 153 DCHECK(web_contents); |
154 | 154 |
155 // Create the password manager that is needed for the proxy. | 155 // Create the password manager that is needed for the proxy. |
156 PasswordManagerDelegateImpl::CreateForWebContents(web_contents); | 156 PasswordManagerDelegateImpl::CreateForWebContents(web_contents); |
157 PasswordManager::CreateForWebContentsAndDelegate( | 157 PasswordManager::CreateForWebContentsAndDelegate( |
158 web_contents, PasswordManagerDelegateImpl::FromWebContents(web_contents)); | 158 web_contents, PasswordManagerDelegateImpl::FromWebContents(web_contents)); |
159 | 159 |
160 // LoginHandlerViews uses a constrained window for the password manager view. | 160 // LoginHandlerViews uses a constrained window for the password manager view. |
161 WebContentsModalDialogManager::CreateForWebContents(web_contents); | 161 WebContentsModalDialogManager::CreateForWebContents(web_contents); |
| 162 WebContentsModalDialogManager::FromWebContents(web_contents)-> |
| 163 set_delegate(this); |
162 } | 164 } |
163 | 165 |
164 void SimpleWebViewDialog::Init() { | 166 void SimpleWebViewDialog::Init() { |
165 set_background(views::Background::CreateSolidBackground(SK_ColorWHITE)); | 167 set_background(views::Background::CreateSolidBackground(SK_ColorWHITE)); |
166 | 168 |
167 // Back/Forward buttons. | 169 // Back/Forward buttons. |
168 back_ = new views::ImageButton(this); | 170 back_ = new views::ImageButton(this); |
169 back_->set_triggerable_event_flags(ui::EF_LEFT_MOUSE_BUTTON | | 171 back_->set_triggerable_event_flags(ui::EF_LEFT_MOUSE_BUTTON | |
170 ui::EF_MIDDLE_MOUSE_BUTTON); | 172 ui::EF_MIDDLE_MOUSE_BUTTON); |
171 back_->set_tag(IDC_BACK); | 173 back_->set_tag(IDC_BACK); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 layout->StartRow(1, 1); | 229 layout->StartRow(1, 1); |
228 layout->AddView(web_view_container_.release()); | 230 layout->AddView(web_view_container_.release()); |
229 layout->AddPaddingRow(0, kInnerMargin); | 231 layout->AddPaddingRow(0, kInnerMargin); |
230 | 232 |
231 location_bar_->Init(); | 233 location_bar_->Init(); |
232 UpdateReload(web_view_->web_contents()->IsLoading(), true); | 234 UpdateReload(web_view_->web_contents()->IsLoading(), true); |
233 | 235 |
234 Layout(); | 236 Layout(); |
235 } | 237 } |
236 | 238 |
| 239 void SimpleWebViewDialog::Layout() { |
| 240 views::WidgetDelegateView::Layout(); |
| 241 |
| 242 FOR_EACH_OBSERVER(web_modal::WebContentsModalDialogHostObserver, |
| 243 observer_list_, |
| 244 OnPositionRequiresUpdate()); |
| 245 } |
| 246 |
237 views::View* SimpleWebViewDialog::GetContentsView() { | 247 views::View* SimpleWebViewDialog::GetContentsView() { |
238 return this; | 248 return this; |
239 } | 249 } |
240 | 250 |
241 views::View* SimpleWebViewDialog::GetInitiallyFocusedView() { | 251 views::View* SimpleWebViewDialog::GetInitiallyFocusedView() { |
242 return web_view_; | 252 return web_view_; |
243 } | 253 } |
244 | 254 |
245 void SimpleWebViewDialog::ButtonPressed(views::Button* sender, | 255 void SimpleWebViewDialog::ButtonPressed(views::Button* sender, |
246 const ui::Event& event) { | 256 const ui::Event& event) { |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 // Always reload ignoring cache. | 345 // Always reload ignoring cache. |
336 case IDC_RELOAD_IGNORING_CACHE: | 346 case IDC_RELOAD_IGNORING_CACHE: |
337 case IDC_RELOAD_CLEARING_CACHE: | 347 case IDC_RELOAD_CLEARING_CACHE: |
338 web_contents->GetController().ReloadIgnoringCache(true); | 348 web_contents->GetController().ReloadIgnoringCache(true); |
339 break; | 349 break; |
340 default: | 350 default: |
341 NOTREACHED(); | 351 NOTREACHED(); |
342 } | 352 } |
343 } | 353 } |
344 | 354 |
| 355 web_modal::WebContentsModalDialogHost* |
| 356 SimpleWebViewDialog::GetWebContentsModalDialogHost() { |
| 357 return this; |
| 358 } |
| 359 |
| 360 gfx::NativeView SimpleWebViewDialog::GetHostView() const { |
| 361 return GetWidget()->GetNativeView(); |
| 362 } |
| 363 |
| 364 gfx::Point SimpleWebViewDialog::GetDialogPosition(const gfx::Size& size) { |
| 365 // Center the widget. |
| 366 gfx::Size widget_size = GetWidget()->GetWindowBoundsInScreen().size(); |
| 367 return gfx::Point(widget_size.width() / 2 - size.width() / 2, |
| 368 widget_size.height() / 2 - size.height() / 2); |
| 369 } |
| 370 |
| 371 void SimpleWebViewDialog::AddObserver( |
| 372 web_modal::WebContentsModalDialogHostObserver* observer) { |
| 373 if (observer && !observer_list_.HasObserver(observer)) |
| 374 observer_list_.AddObserver(observer); |
| 375 } |
| 376 |
| 377 void SimpleWebViewDialog::RemoveObserver( |
| 378 web_modal::WebContentsModalDialogHostObserver* observer) { |
| 379 observer_list_.RemoveObserver(observer); |
| 380 } |
| 381 |
345 void SimpleWebViewDialog::LoadImages() { | 382 void SimpleWebViewDialog::LoadImages() { |
346 ui::ThemeProvider* tp = GetThemeProvider(); | 383 ui::ThemeProvider* tp = GetThemeProvider(); |
347 | 384 |
348 back_->SetImage(views::CustomButton::STATE_NORMAL, | 385 back_->SetImage(views::CustomButton::STATE_NORMAL, |
349 tp->GetImageSkiaNamed(IDR_BACK)); | 386 tp->GetImageSkiaNamed(IDR_BACK)); |
350 back_->SetImage(views::CustomButton::STATE_HOVERED, | 387 back_->SetImage(views::CustomButton::STATE_HOVERED, |
351 tp->GetImageSkiaNamed(IDR_BACK_H)); | 388 tp->GetImageSkiaNamed(IDR_BACK_H)); |
352 back_->SetImage(views::CustomButton::STATE_PRESSED, | 389 back_->SetImage(views::CustomButton::STATE_PRESSED, |
353 tp->GetImageSkiaNamed(IDR_BACK_P)); | 390 tp->GetImageSkiaNamed(IDR_BACK_P)); |
354 back_->SetImage(views::CustomButton::STATE_DISABLED, | 391 back_->SetImage(views::CustomButton::STATE_DISABLED, |
(...skipping 20 matching lines...) Expand all Loading... |
375 | 412 |
376 void SimpleWebViewDialog::UpdateReload(bool is_loading, bool force) { | 413 void SimpleWebViewDialog::UpdateReload(bool is_loading, bool force) { |
377 if (reload_) { | 414 if (reload_) { |
378 reload_->ChangeMode( | 415 reload_->ChangeMode( |
379 is_loading ? ReloadButton::MODE_STOP : ReloadButton::MODE_RELOAD, | 416 is_loading ? ReloadButton::MODE_STOP : ReloadButton::MODE_RELOAD, |
380 force); | 417 force); |
381 } | 418 } |
382 } | 419 } |
383 | 420 |
384 } // namespace chromeos | 421 } // namespace chromeos |
OLD | NEW |