Allow RWHVA's software mailbox to be uploaded to two separate layers.
[chromium-blink-merge.git] / ash / event_rewriter_delegate.h
blobc54c9a37078667a19368dad11c5bc125b9e5c50d
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.
5 #ifndef ASH_EVENT_REWRITER_DELEGATE_H_
6 #define ASH_EVENT_REWRITER_DELEGATE_H_
8 namespace ui {
9 class KeyEvent;
10 class LocatedEvent;
11 } // namespace aura
13 namespace ash {
15 // Delegate for rewriting or filtering an event.
16 class EventRewriterDelegate {
17 public:
18 enum Action {
19 ACTION_REWRITE_EVENT,
20 ACTION_DROP_EVENT,
23 virtual ~EventRewriterDelegate() {}
25 // A derived class can do either of the following:
26 // 1) Just return ACTION_DROP_EVENT to drop the |event|.
27 // 2) Rewrite the |event| and return ACTION_REWRITE_EVENT.
28 virtual Action RewriteOrFilterKeyEvent(ui::KeyEvent* event) = 0;
29 virtual Action RewriteOrFilterLocatedEvent(ui::LocatedEvent* event) = 0;
32 } // namespace ash
34 #endif // ASH_EVENT_REWRITER_DELEGATE_H_