Chromium Code Reviews| 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/ui/views/extensions/media_galleries_dialog_views.h" | 5 #include "chrome/browser/ui/views/extensions/media_galleries_dialog_views.h" |
| 6 | 6 |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "chrome/browser/ui/views/constrained_window_views.h" | 8 #include "chrome/browser/ui/views/constrained_window_views.h" |
| 9 #include "components/web_modal/web_contents_modal_dialog_host.h" | 9 #include "components/web_modal/web_contents_modal_dialog_host.h" |
| 10 #include "components/web_modal/web_contents_modal_dialog_manager.h" | 10 #include "components/web_modal/web_contents_modal_dialog_manager.h" |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 72 MediaGalleriesDialogViews::MediaGalleriesDialogViews( | 72 MediaGalleriesDialogViews::MediaGalleriesDialogViews( |
| 73 MediaGalleriesDialogController* controller) | 73 MediaGalleriesDialogController* controller) |
| 74 : controller_(controller), | 74 : controller_(controller), |
| 75 window_(NULL), | 75 window_(NULL), |
| 76 contents_(new views::View()), | 76 contents_(new views::View()), |
| 77 add_gallery_button_(NULL), | 77 add_gallery_button_(NULL), |
| 78 confirm_available_(false), | 78 confirm_available_(false), |
| 79 accepted_(false) { | 79 accepted_(false) { |
| 80 InitChildViews(); | 80 InitChildViews(); |
| 81 | 81 |
| 82 // Ownership of |contents_| is handed off by this call. |window_| will take | 82 // May be NULL during tests. |
| 83 // care of deleting itself after calling DeleteDelegate(). | 83 if (controller->web_contents()) { |
| 84 WebContentsModalDialogManager* web_contents_modal_dialog_manager = | 84 // Ownership of |contents_| is handed off by this call. |window_| will take |
| 85 WebContentsModalDialogManager::FromWebContents( | 85 // care of deleting itself after calling DeleteDelegate(). |
| 86 controller->web_contents()); | 86 // TODO(scr): Ensure contents_ is really deleted. |
|
vandebo (ex-Chrome)
2014/02/11 18:26:24
Please resolve this before commit.
Sheridan Rawlins
2014/02/13 04:57:20
Done.
| |
| 87 DCHECK(web_contents_modal_dialog_manager); | 87 WebContentsModalDialogManager* web_contents_modal_dialog_manager = |
| 88 WebContentsModalDialogManagerDelegate* modal_delegate = | 88 WebContentsModalDialogManager::FromWebContents( |
| 89 web_contents_modal_dialog_manager->delegate(); | 89 controller->web_contents()); |
| 90 DCHECK(modal_delegate); | 90 DCHECK(web_contents_modal_dialog_manager); |
| 91 window_ = views::Widget::CreateWindowAsFramelessChild( | 91 WebContentsModalDialogManagerDelegate* modal_delegate = |
| 92 this, modal_delegate->GetWebContentsModalDialogHost()->GetHostView()); | 92 web_contents_modal_dialog_manager->delegate(); |
| 93 web_contents_modal_dialog_manager->ShowDialog(window_->GetNativeView()); | 93 DCHECK(modal_delegate); |
| 94 window_ = views::Widget::CreateWindowAsFramelessChild( | |
| 95 this, modal_delegate->GetWebContentsModalDialogHost()->GetHostView()); | |
| 96 web_contents_modal_dialog_manager->ShowDialog(window_->GetNativeView()); | |
| 97 } | |
| 94 } | 98 } |
| 95 | 99 |
| 96 MediaGalleriesDialogViews::~MediaGalleriesDialogViews() {} | 100 MediaGalleriesDialogViews::~MediaGalleriesDialogViews() {} |
| 97 | 101 |
| 98 void MediaGalleriesDialogViews::InitChildViews() { | 102 void MediaGalleriesDialogViews::InitChildViews() { |
| 99 // Outer dialog layout. | 103 // Outer dialog layout. |
| 100 contents_->RemoveAllChildViews(true); | 104 contents_->RemoveAllChildViews(true); |
| 101 int dialog_content_width = views::Widget::GetLocalizedContentsWidth( | 105 int dialog_content_width = views::Widget::GetLocalizedContentsWidth( |
| 102 IDS_MEDIA_GALLERIES_DIALOG_CONTENT_WIDTH_CHARS); | 106 IDS_MEDIA_GALLERIES_DIALOG_CONTENT_WIDTH_CHARS); |
| 103 views::GridLayout* layout = views::GridLayout::CreatePanel(contents_); | 107 views::GridLayout* layout = views::GridLayout::CreatePanel(contents_); |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 321 // on all dialogs. | 325 // on all dialogs. |
| 322 views::NonClientFrameView* MediaGalleriesDialogViews::CreateNonClientFrameView( | 326 views::NonClientFrameView* MediaGalleriesDialogViews::CreateNonClientFrameView( |
| 323 views::Widget* widget) { | 327 views::Widget* widget) { |
| 324 return CreateConstrainedStyleNonClientFrameView( | 328 return CreateConstrainedStyleNonClientFrameView( |
| 325 widget, | 329 widget, |
| 326 controller_->web_contents()->GetBrowserContext()); | 330 controller_->web_contents()->GetBrowserContext()); |
| 327 } | 331 } |
| 328 | 332 |
| 329 void MediaGalleriesDialogViews::ButtonPressed(views::Button* sender, | 333 void MediaGalleriesDialogViews::ButtonPressed(views::Button* sender, |
| 330 const ui::Event& event) { | 334 const ui::Event& event) { |
| 335 GetWidget()->client_view()->AsDialogClientView()->UpdateDialogButtons(); | |
| 336 | |
| 337 ButtonPressedAction(sender); | |
| 338 } | |
| 339 | |
| 340 void MediaGalleriesDialogViews::ButtonPressedAction(views::Button* sender) { | |
| 331 confirm_available_ = true; | 341 confirm_available_ = true; |
| 332 GetWidget()->client_view()->AsDialogClientView()->UpdateDialogButtons(); | |
| 333 | 342 |
| 334 if (sender == add_gallery_button_) { | 343 if (sender == add_gallery_button_) { |
| 335 controller_->OnAddFolderClicked(); | 344 controller_->OnAddFolderClicked(); |
| 336 return; | 345 return; |
| 337 } | 346 } |
| 338 | 347 |
| 339 for (CheckboxMap::const_iterator iter = checkbox_map_.begin(); | 348 for (CheckboxMap::const_iterator iter = checkbox_map_.begin(); |
| 340 iter != checkbox_map_.end(); ++iter) { | 349 iter != checkbox_map_.end(); ++iter) { |
| 341 if (sender == iter->second) { | 350 if (sender == iter->second) { |
| 342 controller_->DidToggleGalleryId(iter->first, | 351 controller_->DidToggleGalleryId(iter->first, |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 380 } | 389 } |
| 381 } | 390 } |
| 382 | 391 |
| 383 // MediaGalleriesDialogViewsController ----------------------------------------- | 392 // MediaGalleriesDialogViewsController ----------------------------------------- |
| 384 | 393 |
| 385 // static | 394 // static |
| 386 MediaGalleriesDialog* MediaGalleriesDialog::Create( | 395 MediaGalleriesDialog* MediaGalleriesDialog::Create( |
| 387 MediaGalleriesDialogController* controller) { | 396 MediaGalleriesDialogController* controller) { |
| 388 return new MediaGalleriesDialogViews(controller); | 397 return new MediaGalleriesDialogViews(controller); |
| 389 } | 398 } |
| OLD | NEW |