Index: chrome/browser/ui/gtk/constrained_web_dialog_delegate_gtk.cc |
diff --git a/chrome/browser/ui/gtk/constrained_web_dialog_delegate_gtk.cc b/chrome/browser/ui/gtk/constrained_web_dialog_delegate_gtk.cc |
deleted file mode 100644 |
index c58ed62ffde7ef034414e5b7039b09e48d0a5893..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/gtk/constrained_web_dialog_delegate_gtk.cc |
+++ /dev/null |
@@ -1,157 +0,0 @@ |
-// Copyright 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/ui/webui/constrained_web_dialog_delegate_base.h" |
- |
-#include <gdk/gdk.h> |
-#include <gtk/gtk.h> |
- |
-#include "chrome/browser/ui/gtk/constrained_window_gtk.h" |
-#include "components/web_modal/web_contents_modal_dialog_manager.h" |
-#include "content/public/browser/notification_source.h" |
-#include "content/public/browser/render_view_host.h" |
-#include "content/public/browser/web_contents.h" |
-#include "content/public/browser/web_contents_view.h" |
-#include "ui/base/gtk/gtk_hig_constants.h" |
-#include "ui/base/gtk/gtk_signal.h" |
-#include "ui/gfx/size.h" |
-#include "ui/web_dialogs/web_dialog_delegate.h" |
-#include "ui/web_dialogs/web_dialog_ui.h" |
- |
-using content::WebContents; |
-using ui::WebDialogDelegate; |
-using ui::WebDialogWebContentsDelegate; |
-using web_modal::WebContentsModalDialogManager; |
- |
-namespace { |
- |
-class ConstrainedWebDialogDelegateGtk |
- : public ConstrainedWebDialogDelegateBase { |
- public: |
- ConstrainedWebDialogDelegateGtk( |
- content::BrowserContext* browser_context, |
- WebDialogDelegate* delegate, |
- WebDialogWebContentsDelegate* tab_delegate) |
- : ConstrainedWebDialogDelegateBase( |
- browser_context, delegate, tab_delegate), |
- window_(NULL) {} |
- |
- // WebDialogWebContentsDelegate interface. |
- virtual void CloseContents(WebContents* source) OVERRIDE { |
- gtk_widget_destroy(window_); |
- } |
- |
- void set_window(GtkWidget* window) { window_ = window; } |
- GtkWidget* window() const { return window_; } |
- |
- private: |
- GtkWidget* window_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ConstrainedWebDialogDelegateGtk); |
-}; |
- |
-void SetBackgroundColor(GtkWidget* widget, const GdkColor &color) { |
- gtk_widget_modify_base(widget, GTK_STATE_NORMAL, &color); |
- gtk_widget_modify_fg(widget, GTK_STATE_NORMAL, &color); |
- gtk_widget_modify_bg(widget, GTK_STATE_NORMAL, &color); |
-} |
- |
-} // namespace |
- |
-class ConstrainedWebDialogDelegateViewGtk |
- : public ConstrainedWebDialogDelegate { |
- public: |
- ConstrainedWebDialogDelegateViewGtk( |
- content::BrowserContext* browser_context, |
- WebDialogDelegate* delegate, |
- WebDialogWebContentsDelegate* tab_delegate); |
- |
- virtual ~ConstrainedWebDialogDelegateViewGtk() {} |
- |
- // ConstrainedWebDialogDelegate interface |
- virtual const WebDialogDelegate* |
- GetWebDialogDelegate() const OVERRIDE { |
- return impl_->GetWebDialogDelegate(); |
- } |
- virtual WebDialogDelegate* GetWebDialogDelegate() OVERRIDE { |
- return impl_->GetWebDialogDelegate(); |
- } |
- virtual void OnDialogCloseFromWebUI() OVERRIDE { |
- return impl_->OnDialogCloseFromWebUI(); |
- } |
- virtual void ReleaseWebContentsOnDialogClose() OVERRIDE { |
- return impl_->ReleaseWebContentsOnDialogClose(); |
- } |
- virtual web_modal::NativeWebContentsModalDialog GetNativeDialog() OVERRIDE { |
- return impl_->window(); |
- } |
- virtual WebContents* GetWebContents() OVERRIDE { |
- return impl_->GetWebContents(); |
- } |
- |
- void SetWindow(GtkWidget* window) { |
- impl_->set_window(window); |
- } |
- |
- GtkWidget* GetWindow() { |
- return impl_->window(); |
- } |
- |
- private: |
- CHROMEGTK_CALLBACK_0(ConstrainedWebDialogDelegateViewGtk, void, OnDestroy); |
- |
- scoped_ptr<ConstrainedWebDialogDelegateGtk> impl_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ConstrainedWebDialogDelegateViewGtk); |
-}; |
- |
-ConstrainedWebDialogDelegateViewGtk::ConstrainedWebDialogDelegateViewGtk( |
- content::BrowserContext* browser_context, |
- WebDialogDelegate* delegate, |
- WebDialogWebContentsDelegate* tab_delegate) |
- : impl_(new ConstrainedWebDialogDelegateGtk( |
- browser_context, |
- delegate, |
- tab_delegate)) { |
- gfx::Size dialog_size; |
- delegate->GetDialogSize(&dialog_size); |
- GtkWidget* contents = |
- GTK_WIDGET(GetWebContents()->GetView()->GetNativeView()); |
- gtk_widget_set_size_request(contents, |
- dialog_size.width(), |
- dialog_size.height()); |
- |
- gtk_widget_show_all(contents); |
- |
- g_signal_connect(contents, "destroy", G_CALLBACK(OnDestroyThunk), this); |
-} |
- |
-void ConstrainedWebDialogDelegateViewGtk::OnDestroy(GtkWidget* widget) { |
- if (!impl_->closed_via_webui()) |
- GetWebDialogDelegate()->OnDialogClosed(std::string()); |
- delete this; |
-} |
- |
-ConstrainedWebDialogDelegate* CreateConstrainedWebDialog( |
- content::BrowserContext* browser_context, |
- WebDialogDelegate* delegate, |
- WebDialogWebContentsDelegate* tab_delegate, |
- content::WebContents* web_contents) { |
- ConstrainedWebDialogDelegateViewGtk* constrained_delegate = |
- new ConstrainedWebDialogDelegateViewGtk( |
- browser_context, delegate, tab_delegate); |
- GtkWidget* window = |
- CreateWebContentsModalDialogGtk( |
- constrained_delegate->GetWebContents()->GetView()->GetNativeView(), |
- constrained_delegate->GetWebContents()->GetView()-> |
- GetContentNativeView()); |
- SetBackgroundColor(window, ui::kGdkWhite); |
- constrained_delegate->SetWindow(window); |
- |
- WebContentsModalDialogManager* web_contents_modal_dialog_manager = |
- WebContentsModalDialogManager::FromWebContents(web_contents); |
- web_contents_modal_dialog_manager->ShowDialog(window); |
- |
- return constrained_delegate; |
-} |