| Index: chrome/browser/ui/gtk/constrained_window_gtk.cc
|
| diff --git a/chrome/browser/ui/gtk/constrained_window_gtk.cc b/chrome/browser/ui/gtk/constrained_window_gtk.cc
|
| index 01cc99bffe3cc4420489f1dafa0cff6654df30f1..a769891b0ea784fa1888855e7586859f4bf244c8 100644
|
| --- a/chrome/browser/ui/gtk/constrained_window_gtk.cc
|
| +++ b/chrome/browser/ui/gtk/constrained_window_gtk.cc
|
| @@ -7,7 +7,9 @@
|
| #include <gdk/gdkkeysyms.h>
|
|
|
| #include "chrome/browser/ui/browser_list.h"
|
| +#include "chrome/browser/ui/constrained_window_tab_helper.h"
|
| #include "chrome/browser/ui/gtk/gtk_util.h"
|
| +#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
|
| #include "content/browser/browser_thread.h"
|
| #include "content/browser/tab_contents/tab_contents.h"
|
| #include "ui/base/gtk/gtk_hig_constants.h"
|
| @@ -33,12 +35,12 @@ bool ConstrainedWindowGtkDelegate::ShouldHaveBorderPadding() const {
|
| }
|
|
|
| ConstrainedWindowGtk::ConstrainedWindowGtk(
|
| - TabContents* owner, ConstrainedWindowGtkDelegate* delegate)
|
| - : owner_(owner),
|
| + TabContentsWrapper* wrapper, ConstrainedWindowGtkDelegate* delegate)
|
| + : wrapper_(wrapper),
|
| delegate_(delegate),
|
| visible_(false),
|
| factory_(this) {
|
| - DCHECK(owner);
|
| + DCHECK(wrapper);
|
| DCHECK(delegate);
|
| GtkWidget* dialog = delegate->GetWidgetRoot();
|
|
|
| @@ -77,7 +79,7 @@ ConstrainedWindowGtk::ConstrainedWindowGtk(
|
| g_signal_connect(widget(), "hierarchy-changed",
|
| G_CALLBACK(OnHierarchyChangedThunk), this);
|
|
|
| - owner->AddConstrainedDialog(this);
|
| + wrapper_->constrained_window_tab_helper()->AddConstrainedDialog(this);
|
| }
|
|
|
| ConstrainedWindowGtk::~ConstrainedWindowGtk() {
|
| @@ -98,7 +100,7 @@ void ConstrainedWindowGtk::CloseConstrainedWindow() {
|
| if (visible_)
|
| ContainingView()->RemoveConstrainedWindow(this);
|
| delegate_->DeleteDelegate();
|
| - owner_->WillClose(this);
|
| + wrapper_->constrained_window_tab_helper()->WillClose(this);
|
|
|
| delete this;
|
| }
|
| @@ -110,15 +112,17 @@ void ConstrainedWindowGtk::FocusConstrainedWindow() {
|
|
|
| // The user may have focused another tab. In this case do not grab focus
|
| // until this tab is refocused.
|
| - if ((!owner_->delegate() ||
|
| - owner_->delegate()->ShouldFocusConstrainedWindow()) &&
|
| + ConstrainedWindowTabHelper* helper =
|
| + wrapper_->constrained_window_tab_helper();
|
| + if ((!helper->delegate() ||
|
| + helper->delegate()->ShouldFocusConstrainedWindow()) &&
|
| gtk_util::IsWidgetAncestryVisible(focus_widget)) {
|
| gtk_widget_grab_focus(focus_widget);
|
| } else {
|
| // TODO(estade): this define should not need to be here because this class
|
| // should not be used on linux/views.
|
| #if defined(TOOLKIT_GTK)
|
| - static_cast<TabContentsViewGtk*>(owner_->view())->
|
| + static_cast<TabContentsViewGtk*>(wrapper_->view())->
|
| SetFocusedWidget(focus_widget);
|
| #endif
|
| }
|
| @@ -128,10 +132,10 @@ ConstrainedWindowGtk::TabContentsViewType*
|
| ConstrainedWindowGtk::ContainingView() {
|
| #if defined(TOOLKIT_VIEWS) && !defined(TOUCH_UI)
|
| return static_cast<NativeTabContentsViewGtk*>(
|
| - static_cast<TabContentsViewViews*>(owner_->view())->
|
| + static_cast<TabContentsViewViews*>(wrapper_->view())->
|
| native_tab_contents_view());
|
| #else
|
| - return static_cast<TabContentsViewType*>(owner_->view());
|
| + return static_cast<TabContentsViewType*>(wrapper_->view());
|
| #endif
|
| }
|
|
|
|
|