Chromium Code Reviews| Index: mojo/services/window_manager/window_manager_app.cc |
| diff --git a/mojo/services/window_manager/window_manager_app.cc b/mojo/services/window_manager/window_manager_app.cc |
| index cb807d1da97cc210a13d2f4019673e48cb691549..0ad316bc474c01ba3b6283f93d72999d30310cad 100644 |
| --- a/mojo/services/window_manager/window_manager_app.cc |
| +++ b/mojo/services/window_manager/window_manager_app.cc |
| @@ -123,6 +123,10 @@ bool WindowManagerApp::IsReady() const { |
| void WindowManagerApp::InitFocus(scoped_ptr<mojo::FocusRules> rules) { |
| focus_controller_.reset(new mojo::FocusController(rules.Pass())); |
| focus_controller_->AddObserver(this); |
| + |
| + if (root_) |
| + ViewTarget::TargetFromView(root_) |
| + ->set_focus_controller(focus_controller_.get()); |
| } |
| void WindowManagerApp::Embed( |
| @@ -277,10 +281,13 @@ void WindowManagerApp::RegisterSubtree(View* view) { |
| // installed there. |
| if (view == root_) { |
| ViewTarget* target = ViewTarget::TargetFromView(view); |
| + if (focus_controller_) |
|
sky
2014/11/18 22:36:38
Is it really possible to get here with no focuscon
Elliot Glaysher
2014/11/18 23:52:30
Not only is it possible, it is the default.
Regis
|
| + target->set_focus_controller(focus_controller_.get()); |
| target->SetEventTargeter(scoped_ptr<ViewTargeter>(new ViewTargeter())); |
| target->AddPreTargetHandler(this); |
| view_event_dispatcher_->SetRootViewTarget(target); |
| } |
| + |
| registered_view_id_set_.insert(view->id()); |
| View::Children::const_iterator it = view->children().begin(); |
| for (; it != view->children().end(); ++it) |