• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #ifndef UI_AURA_CLIENT_USER_ACTION_CLIENT_H_
6 #define UI_AURA_CLIENT_USER_ACTION_CLIENT_H_
7 
8 #include "ui/aura/aura_export.h"
9 
10 namespace aura {
11 class Window;
12 namespace client {
13 
14 // An interface for handling a user action that isn't handled by the standard
15 // event path.
16 class AURA_EXPORT UserActionClient {
17  public:
18   enum Command {
19     BACK = 0,
20     FORWARD,
21   };
22 
23   // Returns true if the command was handled and false otherwise.
24   virtual bool OnUserAction(Command command) = 0;
25 
~UserActionClient()26   virtual ~UserActionClient() {}
27 };
28 
29 // Sets/gets the client for handling user action on the specified root window.
30 AURA_EXPORT void SetUserActionClient(Window* root_window,
31                                      UserActionClient* client);
32 AURA_EXPORT UserActionClient* GetUserActionClient(Window* root_window);
33 
34 }  // namespace client
35 }  // namespace aura
36 
37 #endif  // UI_AURA_CLIENT_USER_ACTION_CLIENT_H_
38