| 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 #include "mojo/services/view_manager/window_manager_access_policy.h" | 5 #include "mojo/services/view_manager/window_manager_access_policy.h" |
| 6 | 6 |
| 7 #include "mojo/services/view_manager/access_policy_delegate.h" | 7 #include "mojo/services/view_manager/access_policy_delegate.h" |
| 8 #include "mojo/services/view_manager/server_view.h" | 8 #include "mojo/services/view_manager/server_view.h" |
| 9 | 9 |
| 10 namespace mojo { | 10 namespace mojo { |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 bool WindowManagerAccessPolicy::CanChangeViewVisibility( | 59 bool WindowManagerAccessPolicy::CanChangeViewVisibility( |
| 60 const ServerView* view) const { | 60 const ServerView* view) const { |
| 61 return view->id().connection_id == connection_id_; | 61 return view->id().connection_id == connection_id_; |
| 62 } | 62 } |
| 63 | 63 |
| 64 bool WindowManagerAccessPolicy::CanSetViewSurfaceId( | 64 bool WindowManagerAccessPolicy::CanSetViewSurfaceId( |
| 65 const ServerView* view) const { | 65 const ServerView* view) const { |
| 66 if (delegate_->IsViewRootOfAnotherConnectionForAccessPolicy(view)) | 66 if (delegate_->IsViewRootOfAnotherConnectionForAccessPolicy(view)) |
| 67 return false; | 67 return false; |
| 68 return view->id().connection_id == connection_id_ || | 68 return view->id().connection_id == connection_id_ || |
| 69 (delegate_->GetRootsForAccessPolicy().count( | 69 (delegate_->IsRootForAccessPolicy(view->id())); |
| 70 ViewIdToTransportId(view->id())) > 0); | |
| 71 } | 70 } |
| 72 | 71 |
| 73 bool WindowManagerAccessPolicy::CanSetViewBounds(const ServerView* view) const { | 72 bool WindowManagerAccessPolicy::CanSetViewBounds(const ServerView* view) const { |
| 74 return view->id().connection_id == connection_id_; | 73 return view->id().connection_id == connection_id_; |
| 75 } | 74 } |
| 76 | 75 |
| 77 bool WindowManagerAccessPolicy::CanSetViewProperties( | 76 bool WindowManagerAccessPolicy::CanSetViewProperties( |
| 78 const ServerView* view) const { | 77 const ServerView* view) const { |
| 79 return view->id().connection_id == connection_id_; | 78 return view->id().connection_id == connection_id_; |
| 80 } | 79 } |
| 81 | 80 |
| 82 bool WindowManagerAccessPolicy::ShouldNotifyOnHierarchyChange( | 81 bool WindowManagerAccessPolicy::ShouldNotifyOnHierarchyChange( |
| 83 const ServerView* view, | 82 const ServerView* view, |
| 84 const ServerView** new_parent, | 83 const ServerView** new_parent, |
| 85 const ServerView** old_parent) const { | 84 const ServerView** old_parent) const { |
| 86 // Notify if we've already told the window manager about the view, or if we've | 85 // Notify if we've already told the window manager about the view, or if we've |
| 87 // already told the window manager about the parent. The later handles the | 86 // already told the window manager about the parent. The later handles the |
| 88 // case of a view that wasn't parented to the root getting added to the root. | 87 // case of a view that wasn't parented to the root getting added to the root. |
| 89 return IsViewKnown(view) || (*new_parent && IsViewKnown(*new_parent)); | 88 return IsViewKnown(view) || (*new_parent && IsViewKnown(*new_parent)); |
| 90 } | 89 } |
| 91 | 90 |
| 92 bool WindowManagerAccessPolicy::IsViewKnown(const ServerView* view) const { | 91 bool WindowManagerAccessPolicy::IsViewKnown(const ServerView* view) const { |
| 93 return delegate_->IsViewKnownForAccessPolicy(view); | 92 return delegate_->IsViewKnownForAccessPolicy(view); |
| 94 } | 93 } |
| 95 | 94 |
| 96 } // namespace service | 95 } // namespace service |
| 97 } // namespace mojo | 96 } // namespace mojo |
| OLD | NEW |