blob: f87e4381ce2beaaef819f32ba7af8aeed9b27448 [file] [log] [blame]
// 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();
}
}
} // namespace views