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 |