Index: views/widget/widget_gtk.cc |
=================================================================== |
--- views/widget/widget_gtk.cc (revision 22100) |
+++ views/widget/widget_gtk.cc (working copy) |
@@ -70,6 +70,8 @@ |
ALLOW_THIS_IN_INITIALIZER_LIST(close_widget_factory_(this)), |
delete_on_destroy_(true), |
transparent_(false) { |
+ if (type_ != TYPE_CHILD) |
+ focus_manager_.reset(new FocusManager(this)); |
} |
WidgetGtk::~WidgetGtk() { |
@@ -398,9 +400,16 @@ |
return default_theme_provider_.get(); |
} |
+FocusManager* WidgetGtk::GetFocusManager() { |
+ return focus_manager_.get(); |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// WidgetGtk, MessageLoopForUI::Observer implementation: |
+void WidgetGtk::WillProcessEvent(GdkEvent* event) { |
+} |
+ |
void WidgetGtk::DidProcessEvent(GdkEvent* event) { |
if (root_view_->NeedsPainting(true)) |
PaintNow(root_view_->GetScheduledPaintRect()); |
@@ -518,12 +527,12 @@ |
} |
gboolean WidgetGtk::OnKeyPress(GtkWidget* widget, GdkEventKey* event) { |
- KeyEvent key_event(event); |
+ KeyEvent key_event(event, false); |
return root_view_->ProcessKeyEvent(key_event); |
} |
gboolean WidgetGtk::OnKeyRelease(GtkWidget* widget, GdkEventKey* event) { |
- KeyEvent key_event(event); |
+ KeyEvent key_event(event, false); |
return root_view_->ProcessKeyEvent(key_event); |
} |