OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MOJO_SERVICES_VIEW_MANAGER_WINDOW_MANAGER_ACCESS_POLICY_H_ | 5 #ifndef MOJO_SERVICES_VIEW_MANAGER_WINDOW_MANAGER_ACCESS_POLICY_H_ |
6 #define MOJO_SERVICES_VIEW_MANAGER_WINDOW_MANAGER_ACCESS_POLICY_H_ | 6 #define MOJO_SERVICES_VIEW_MANAGER_WINDOW_MANAGER_ACCESS_POLICY_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "mojo/services/view_manager/access_policy.h" | 9 #include "mojo/services/view_manager/access_policy.h" |
10 | 10 |
11 namespace mojo { | 11 namespace mojo { |
12 namespace service { | 12 namespace service { |
13 | 13 |
14 class AccessPolicyDelegate; | 14 class AccessPolicyDelegate; |
15 | 15 |
16 class WindowManagerAccessPolicy : public AccessPolicy { | 16 class WindowManagerAccessPolicy : public AccessPolicy { |
17 public: | 17 public: |
18 WindowManagerAccessPolicy(ConnectionSpecificId connection_id, | 18 WindowManagerAccessPolicy(ConnectionSpecificId connection_id, |
19 AccessPolicyDelegate* delegate); | 19 AccessPolicyDelegate* delegate); |
20 virtual ~WindowManagerAccessPolicy(); | 20 virtual ~WindowManagerAccessPolicy(); |
21 | 21 |
22 // AccessPolicy: | 22 // AccessPolicy: |
23 virtual bool CanRemoveNodeFromParent(const Node* node) const OVERRIDE; | 23 virtual bool CanRemoveNodeFromParent(const Node* node) const OVERRIDE; |
24 virtual bool CanAddNode(const Node* parent, const Node* child) const OVERRIDE; | 24 virtual bool CanAddNode(const Node* parent, const Node* child) const OVERRIDE; |
25 virtual bool CanReorderNode(const Node* node, | 25 virtual bool CanReorderNode(const Node* node, |
26 const Node* relative_node, | 26 const Node* relative_node, |
27 OrderDirection direction) const OVERRIDE; | 27 OrderDirection direction) const OVERRIDE; |
28 virtual bool CanDeleteNode(const Node* node) const OVERRIDE; | 28 virtual bool CanDeleteNode(const Node* node) const OVERRIDE; |
29 virtual bool CanSetFocus(const Node* node) const OVERRIDE; | |
30 virtual bool CanGetNodeTree(const Node* node) const OVERRIDE; | 29 virtual bool CanGetNodeTree(const Node* node) const OVERRIDE; |
31 virtual bool CanDescendIntoNodeForNodeTree(const Node* node) const OVERRIDE; | 30 virtual bool CanDescendIntoNodeForNodeTree(const Node* node) const OVERRIDE; |
32 virtual bool CanEmbed(const Node* node) const OVERRIDE; | 31 virtual bool CanEmbed(const Node* node) const OVERRIDE; |
33 virtual bool CanChangeNodeVisibility(const Node* node) const OVERRIDE; | 32 virtual bool CanChangeNodeVisibility(const Node* node) const OVERRIDE; |
34 virtual bool CanSetNodeContents(const Node* node) const OVERRIDE; | 33 virtual bool CanSetNodeContents(const Node* node) const OVERRIDE; |
35 virtual bool CanSetNodeBounds(const Node* node) const OVERRIDE; | 34 virtual bool CanSetNodeBounds(const Node* node) const OVERRIDE; |
36 virtual bool ShouldNotifyOnHierarchyChange( | 35 virtual bool ShouldNotifyOnHierarchyChange( |
37 const Node* node, | 36 const Node* node, |
38 const Node** new_parent, | 37 const Node** new_parent, |
39 const Node** old_parent) const OVERRIDE; | 38 const Node** old_parent) const OVERRIDE; |
40 virtual bool ShouldSendViewDeleted(const ViewId& view_id) const OVERRIDE; | 39 virtual bool ShouldSendViewDeleted(const ViewId& view_id) const OVERRIDE; |
41 | 40 |
42 private: | 41 private: |
43 bool IsNodeKnown(const Node* node) const; | 42 bool IsNodeKnown(const Node* node) const; |
44 | 43 |
45 const ConnectionSpecificId connection_id_; | 44 const ConnectionSpecificId connection_id_; |
46 AccessPolicyDelegate* delegate_; | 45 AccessPolicyDelegate* delegate_; |
47 | 46 |
48 DISALLOW_COPY_AND_ASSIGN(WindowManagerAccessPolicy); | 47 DISALLOW_COPY_AND_ASSIGN(WindowManagerAccessPolicy); |
49 }; | 48 }; |
50 | 49 |
51 } // namespace service | 50 } // namespace service |
52 } // namespace mojo | 51 } // namespace mojo |
53 | 52 |
54 #endif // MOJO_SERVICES_VIEW_MANAGER_WINDOW_MANAGER_ACCESS_POLICY_H_ | 53 #endif // MOJO_SERVICES_VIEW_MANAGER_WINDOW_MANAGER_ACCESS_POLICY_H_ |
OLD | NEW |