diff options
author | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-09 23:48:30 +0000 |
---|---|---|
committer | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-09 23:48:30 +0000 |
commit | 5c9e97acabd4cdab5adb20d2412a5766b3382856 (patch) | |
tree | ead11654548e0e110cf8c8dce962801d530d54f7 /views/widget/widget_gtk.cc | |
parent | 7f01f83fd464fc13cbdb9d377493d1781decf363 (diff) | |
download | chromium_src-5c9e97acabd4cdab5adb20d2412a5766b3382856.zip chromium_src-5c9e97acabd4cdab5adb20d2412a5766b3382856.tar.gz chromium_src-5c9e97acabd4cdab5adb20d2412a5766b3382856.tar.bz2 |
First cut at implementation of FindBar for views / gtk
Also had to implement change notification for TextField on views / gtk
Review URL: http://codereview.chromium.org/200035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25819 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/widget/widget_gtk.cc')
-rw-r--r-- | views/widget/widget_gtk.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/views/widget/widget_gtk.cc b/views/widget/widget_gtk.cc index 89561cd..d1271f5 100644 --- a/views/widget/widget_gtk.cc +++ b/views/widget/widget_gtk.cc @@ -295,7 +295,6 @@ void WidgetGtk::Init(GtkWidget* parent, if (type_ == TYPE_CHILD) { if (parent) { WidgetGtk* parent_widget = GetViewForNative(parent); - parent_widget->AddChild(widget_); parent_widget->PositionChild(widget_, bounds.x(), bounds.y(), bounds.width(), bounds.height()); } @@ -459,7 +458,16 @@ ThemeProvider* WidgetGtk::GetThemeProvider() const { } FocusManager* WidgetGtk::GetFocusManager() { - return focus_manager_.get(); + if (focus_manager_.get()) + return focus_manager_.get(); + + Widget* root = GetRootWidget(); + if (root && root != this) { + // Widget subclasses may override GetFocusManager(), for example for + // dealing with cases where the widget has been unparented. + return root->GetFocusManager(); + } + return NULL; } void WidgetGtk::ViewHierarchyChanged(bool is_add, View *parent, |