Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / mojo / services / view_manager / window_manager_access_policy.h
blob90813adb2277656cf768e679166c790518a1ae84
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
3 // found in the LICENSE file.
5 #ifndef MOJO_SERVICES_VIEW_MANAGER_WINDOW_MANAGER_ACCESS_POLICY_H_
6 #define MOJO_SERVICES_VIEW_MANAGER_WINDOW_MANAGER_ACCESS_POLICY_H_
8 #include "base/basictypes.h"
9 #include "mojo/services/view_manager/access_policy.h"
11 namespace mojo {
12 namespace service {
14 class AccessPolicyDelegate;
16 class WindowManagerAccessPolicy : public AccessPolicy {
17 public:
18 WindowManagerAccessPolicy(ConnectionSpecificId connection_id,
19 AccessPolicyDelegate* delegate);
20 virtual ~WindowManagerAccessPolicy();
22 // AccessPolicy:
23 virtual bool CanRemoveViewFromParent(const ServerView* view) const OVERRIDE;
24 virtual bool CanAddView(const ServerView* parent,
25 const ServerView* child) const OVERRIDE;
26 virtual bool CanReorderView(const ServerView* view,
27 const ServerView* relative_view,
28 OrderDirection direction) const OVERRIDE;
29 virtual bool CanDeleteView(const ServerView* view) const OVERRIDE;
30 virtual bool CanGetViewTree(const ServerView* view) const OVERRIDE;
31 virtual bool CanDescendIntoViewForViewTree(
32 const ServerView* view) const OVERRIDE;
33 virtual bool CanEmbed(const ServerView* view) const OVERRIDE;
34 virtual bool CanChangeViewVisibility(const ServerView* view) const OVERRIDE;
35 virtual bool CanSetViewContents(const ServerView* view) const OVERRIDE;
36 virtual bool CanSetViewBounds(const ServerView* view) const OVERRIDE;
37 virtual bool ShouldNotifyOnHierarchyChange(
38 const ServerView* view,
39 const ServerView** new_parent,
40 const ServerView** old_parent) const OVERRIDE;
42 private:
43 bool IsViewKnown(const ServerView* view) const;
45 const ConnectionSpecificId connection_id_;
46 AccessPolicyDelegate* delegate_;
48 DISALLOW_COPY_AND_ASSIGN(WindowManagerAccessPolicy);
51 } // namespace service
52 } // namespace mojo
54 #endif // MOJO_SERVICES_VIEW_MANAGER_WINDOW_MANAGER_ACCESS_POLICY_H_