1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "ash/wm/system_modal_container_event_filter.h" 6 7#include "ash/wm/system_modal_container_event_filter_delegate.h" 8#include "ui/aura/window.h" 9#include "ui/events/event.h" 10 11namespace ash { 12namespace internal { 13 14SystemModalContainerEventFilter::SystemModalContainerEventFilter( 15 SystemModalContainerEventFilterDelegate* delegate) 16 : delegate_(delegate) { 17} 18 19SystemModalContainerEventFilter::~SystemModalContainerEventFilter() { 20} 21 22void SystemModalContainerEventFilter::OnKeyEvent(ui::KeyEvent* event) { 23 aura::Window* target = static_cast<aura::Window*>(event->target()); 24 if (!delegate_->CanWindowReceiveEvents(target)) 25 event->StopPropagation(); 26} 27 28void SystemModalContainerEventFilter::OnMouseEvent( 29 ui::MouseEvent* event) { 30 aura::Window* target = static_cast<aura::Window*>(event->target()); 31 if (!delegate_->CanWindowReceiveEvents(target)) 32 event->StopPropagation(); 33} 34 35} // namespace internal 36} // namespace ash 37