#include "chrome/browser/ui/views/extensions/media_galleries_dialog_views.h"
#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/ui/views/constrained_window_views.h"
#include "components/web_modal/web_contents_modal_dialog_host.h"
#include "components/web_modal/web_contents_modal_dialog_manager.h"
#include "components/web_modal/web_contents_modal_dialog_manager_delegate.h"
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().
+ 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() {}
+MediaGalleriesDialogViews::~MediaGalleriesDialogViews() {
+ if (!controller_->web_contents())
+ delete contents_;
+}
void MediaGalleriesDialogViews::InitChildViews() {
// Outer dialog layout.
return true;
}
-// TODO(wittman): Remove this override once we move to the new style frame view
-// on all dialogs.
-views::NonClientFrameView* MediaGalleriesDialogViews::CreateNonClientFrameView(
- views::Widget* widget) {
- return CreateConstrainedStyleNonClientFrameView(
- widget,
- controller_->web_contents()->GetBrowserContext());
-}
-
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;
ui::MenuSourceType source_type,
MediaGalleryPrefId id) {
context_menu_runner_.reset(new views::MenuRunner(
- controller_->GetContextMenuModel(id)));
+ controller_->GetContextMenu(id)));
if (context_menu_runner_->RunMenuAt(
GetWidget(), NULL, gfx::Rect(point.x(), point.y(), 0, 0),