| Index: ash/shell.cc
 | 
| diff --git a/ash/shell.cc b/ash/shell.cc
 | 
| index 3627616f794080c682bfccd2f5e06b325d2f8a1f..9de3e0918b66331d66c866ee55f098d6613fafdd 100644
 | 
| --- a/ash/shell.cc
 | 
| +++ b/ash/shell.cc
 | 
| @@ -256,6 +256,7 @@ Shell::~Shell() {
 | 
|    resize_shadow_controller_.reset();
 | 
|    shadow_controller_.reset();
 | 
|    tooltip_controller_.reset();
 | 
| +  event_client_.reset();
 | 
|    window_cycle_controller_.reset();
 | 
|    capture_controller_.reset();
 | 
|    nested_dispatcher_controller_.reset();
 | 
| @@ -348,6 +349,12 @@ aura::Window* Shell::GetContainer(aura::RootWindow* root_window,
 | 
|  }
 | 
|  
 | 
|  // static
 | 
| +const aura::Window* Shell::GetContainer(const aura::RootWindow* root_window,
 | 
| +                                        int container_id) {
 | 
| +  return root_window->GetChildById(container_id);
 | 
| +}
 | 
| +
 | 
| +// static
 | 
|  std::vector<aura::Window*> Shell::GetAllContainers(int container_id) {
 | 
|    std::vector<aura::Window*> containers;
 | 
|    aura::Window* container = GetPrimaryRootWindow()->GetChildById(container_id);
 | 
| @@ -448,6 +455,8 @@ void Shell::Init() {
 | 
|        drag_drop_controller_.get()));
 | 
|    AddEnvEventFilter(tooltip_controller_.get());
 | 
|  
 | 
| +  event_client_.reset(new internal::EventClientImpl);
 | 
| +
 | 
|    InitRootWindowController(root_window_controller);
 | 
|  
 | 
|    // This controller needs to be set before SetupManagedWindowMode.
 | 
| @@ -731,6 +740,7 @@ void Shell::InitRootWindowController(
 | 
|                                          screen_position_controller_.get());
 | 
|    aura::client::SetCursorClient(root_window, &cursor_manager_);
 | 
|    aura::client::SetTooltipClient(root_window, tooltip_controller_.get());
 | 
| +  aura::client::SetEventClient(root_window, event_client_.get());
 | 
|  
 | 
|    if (nested_dispatcher_controller_.get()) {
 | 
|      aura::client::SetDispatcherClient(root_window,
 | 
| 
 |