// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "ui/views/widget/focus_manager_event_handler.h" #include "ui/aura/window.h" #include "ui/views/focus/focus_manager.h" #include "ui/views/widget/widget.h" namespace views { FocusManagerEventHandler::FocusManagerEventHandler(Widget* widget, aura::Window* window) : widget_(widget), window_(window) { DCHECK(window_); window_->AddPreTargetHandler(this); } FocusManagerEventHandler::~FocusManagerEventHandler() { window_->RemovePreTargetHandler(this); } void FocusManagerEventHandler::OnKeyEvent(ui::KeyEvent* event) { if (widget_ && widget_->GetFocusManager()->GetFocusedView() && !widget_->GetFocusManager()->OnKeyEvent(*event)) { event->StopPropagation(); } } base::StringPiece FocusManagerEventHandler::GetLogContext() const { return "FocusManagerEventHandler"; } } // namespace views