Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / views / extensions / media_galleries_dialog_views.cc
index 765c32c..0a2877c 100644 (file)
@@ -5,7 +5,6 @@
 #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"
@@ -79,21 +78,27 @@ 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().
+    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.
@@ -317,20 +322,16 @@ bool MediaGalleriesDialogViews::Accept() {
   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;
@@ -369,7 +370,7 @@ void MediaGalleriesDialogViews::ShowContextMenu(const gfx::Point& point,
                                                 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),