summaryrefslogtreecommitdiffstats
path: root/views/widget/widget_gtk.cc
diff options
context:
space:
mode:
authordavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-09 23:48:30 +0000
committerdavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-09 23:48:30 +0000
commit5c9e97acabd4cdab5adb20d2412a5766b3382856 (patch)
treeead11654548e0e110cf8c8dce962801d530d54f7 /views/widget/widget_gtk.cc
parent7f01f83fd464fc13cbdb9d377493d1781decf363 (diff)
downloadchromium_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.cc12
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,