| OLD | NEW | 
|---|
|  | (Empty) | 
| 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. |  | 
| 4 |  | 
| 5 #ifndef COMPONENTS_VIEW_MANAGER_ACCESS_POLICY_H_ |  | 
| 6 #define COMPONENTS_VIEW_MANAGER_ACCESS_POLICY_H_ |  | 
| 7 |  | 
| 8 #include "components/view_manager/ids.h" |  | 
| 9 #include "components/view_manager/public/interfaces/view_manager_constants.mojom
    .h" |  | 
| 10 |  | 
| 11 namespace view_manager { |  | 
| 12 |  | 
| 13 class ServerView; |  | 
| 14 |  | 
| 15 // AccessPolicy is used by ViewTreeImpl to determine what a connection is |  | 
| 16 // allowed to do. |  | 
| 17 class AccessPolicy { |  | 
| 18  public: |  | 
| 19   virtual ~AccessPolicy() {} |  | 
| 20 |  | 
| 21   // Unless otherwise mentioned all arguments have been validated. That is the |  | 
| 22   // |view| arguments are non-null unless otherwise stated (eg CanSetView() is |  | 
| 23   // allowed to take a NULL view). |  | 
| 24   virtual bool CanRemoveViewFromParent(const ServerView* view) const = 0; |  | 
| 25   virtual bool CanAddView(const ServerView* parent, |  | 
| 26                           const ServerView* child) const = 0; |  | 
| 27   virtual bool CanReorderView(const ServerView* view, |  | 
| 28                               const ServerView* relative_view, |  | 
| 29                               mojo::OrderDirection direction) const = 0; |  | 
| 30   virtual bool CanDeleteView(const ServerView* view) const = 0; |  | 
| 31   virtual bool CanGetViewTree(const ServerView* view) const = 0; |  | 
| 32   // Used when building a view tree (GetViewTree()) to decide if we should |  | 
| 33   // descend into |view|. |  | 
| 34   virtual bool CanDescendIntoViewForViewTree(const ServerView* view) const = 0; |  | 
| 35   virtual bool CanEmbed(const ServerView* view) const = 0; |  | 
| 36   virtual bool CanChangeViewVisibility(const ServerView* view) const = 0; |  | 
| 37   virtual bool CanSetViewSurfaceId(const ServerView* view) const = 0; |  | 
| 38   virtual bool CanSetViewBounds(const ServerView* view) const = 0; |  | 
| 39   virtual bool CanSetViewProperties(const ServerView* view) const = 0; |  | 
| 40   virtual bool CanSetViewTextInputState(const ServerView* view) const = 0; |  | 
| 41   virtual bool CanSetFocus(const ServerView* view) const = 0; |  | 
| 42   virtual bool CanSetAccessPolicy(const ServerView* view) const = 0; |  | 
| 43 |  | 
| 44   // Returns whether the connection should notify on a hierarchy change. |  | 
| 45   // |new_parent| and |old_parent| are initially set to the new and old parents |  | 
| 46   // but may be altered so that the client only sees a certain set of views. |  | 
| 47   virtual bool ShouldNotifyOnHierarchyChange( |  | 
| 48       const ServerView* view, |  | 
| 49       const ServerView** new_parent, |  | 
| 50       const ServerView** old_parent) const = 0; |  | 
| 51 |  | 
| 52   // Returns the view to supply to the client when focus changes to |focused|. |  | 
| 53   virtual const ServerView* GetViewForFocusChange( |  | 
| 54       const ServerView* focused) = 0; |  | 
| 55 }; |  | 
| 56 |  | 
| 57 }  // namespace view_manager |  | 
| 58 |  | 
| 59 #endif  // COMPONENTS_VIEW_MANAGER_ACCESS_POLICY_H_ |  | 
| OLD | NEW | 
|---|