Index: chrome/browser/ui/views/extensions/media_galleries_dialog_views.cc |
diff --git a/chrome/browser/ui/views/extensions/media_galleries_dialog_views.cc b/chrome/browser/ui/views/extensions/media_galleries_dialog_views.cc |
index 46fa4b664f6d611328317fc9f678151f0daa7796..6ea61fe05ee65e4ed617a642a219d3b70ca926c6 100644 |
--- a/chrome/browser/ui/views/extensions/media_galleries_dialog_views.cc |
+++ b/chrome/browser/ui/views/extensions/media_galleries_dialog_views.cc |
@@ -79,18 +79,22 @@ MediaGalleriesDialogViews::MediaGalleriesDialogViews( |
accepted_(false) { |
InitChildViews(); |
- // Ownership of |contents_| is handed off by this call. |window_| will take |
- // care of deleting itself after calling DeleteDelegate(). |
- WebContentsModalDialogManager* web_contents_modal_dialog_manager = |
- WebContentsModalDialogManager::FromWebContents( |
- controller->web_contents()); |
- DCHECK(web_contents_modal_dialog_manager); |
- WebContentsModalDialogManagerDelegate* modal_delegate = |
- web_contents_modal_dialog_manager->delegate(); |
- DCHECK(modal_delegate); |
- window_ = views::Widget::CreateWindowAsFramelessChild( |
- this, modal_delegate->GetWebContentsModalDialogHost()->GetHostView()); |
- web_contents_modal_dialog_manager->ShowDialog(window_->GetNativeView()); |
+ // May be NULL during tests. |
+ if (controller->web_contents()) { |
+ // Ownership of |contents_| is handed off by this call. |window_| will take |
+ // care of deleting itself after calling DeleteDelegate(). |
+ // 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.
|
+ WebContentsModalDialogManager* web_contents_modal_dialog_manager = |
+ WebContentsModalDialogManager::FromWebContents( |
+ controller->web_contents()); |
+ DCHECK(web_contents_modal_dialog_manager); |
+ WebContentsModalDialogManagerDelegate* modal_delegate = |
+ web_contents_modal_dialog_manager->delegate(); |
+ DCHECK(modal_delegate); |
+ window_ = views::Widget::CreateWindowAsFramelessChild( |
+ this, modal_delegate->GetWebContentsModalDialogHost()->GetHostView()); |
+ web_contents_modal_dialog_manager->ShowDialog(window_->GetNativeView()); |
+ } |
} |
MediaGalleriesDialogViews::~MediaGalleriesDialogViews() {} |
@@ -328,9 +332,14 @@ views::NonClientFrameView* MediaGalleriesDialogViews::CreateNonClientFrameView( |
void MediaGalleriesDialogViews::ButtonPressed(views::Button* sender, |
const ui::Event& event) { |
- confirm_available_ = true; |
GetWidget()->client_view()->AsDialogClientView()->UpdateDialogButtons(); |
+ ButtonPressedAction(sender); |
+} |
+ |
+void MediaGalleriesDialogViews::ButtonPressedAction(views::Button* sender) { |
+ confirm_available_ = true; |
+ |
if (sender == add_gallery_button_) { |
controller_->OnAddFolderClicked(); |
return; |