Index: components/view_manager/default_access_policy.cc |
diff --git a/components/view_manager/default_access_policy.cc b/components/view_manager/default_access_policy.cc |
deleted file mode 100644 |
index 59fffc191b5d0ec6f943e22ffc92997db7c252e5..0000000000000000000000000000000000000000 |
--- a/components/view_manager/default_access_policy.cc |
+++ /dev/null |
@@ -1,150 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "components/view_manager/default_access_policy.h" |
- |
-#include "components/view_manager/access_policy_delegate.h" |
-#include "components/view_manager/server_view.h" |
- |
-namespace view_manager { |
- |
-DefaultAccessPolicy::DefaultAccessPolicy( |
- mojo::ConnectionSpecificId connection_id, |
- AccessPolicyDelegate* delegate) |
- : connection_id_(connection_id), delegate_(delegate) { |
-} |
- |
-DefaultAccessPolicy::~DefaultAccessPolicy() { |
-} |
- |
-bool DefaultAccessPolicy::CanRemoveViewFromParent( |
- const ServerView* view) const { |
- if (!WasCreatedByThisConnection(view)) |
- return false; // Can only unparent views we created. |
- |
- return delegate_->IsRootForAccessPolicy(view->parent()->id()) || |
- WasCreatedByThisConnection(view->parent()); |
-} |
- |
-bool DefaultAccessPolicy::CanAddView(const ServerView* parent, |
- const ServerView* child) const { |
- return WasCreatedByThisConnection(child) && |
- (delegate_->IsRootForAccessPolicy(parent->id()) || |
- (WasCreatedByThisConnection(parent) && |
- !delegate_->IsViewRootOfAnotherConnectionForAccessPolicy(parent))); |
-} |
- |
-bool DefaultAccessPolicy::CanReorderView(const ServerView* view, |
- const ServerView* relative_view, |
- mojo::OrderDirection direction) const { |
- return WasCreatedByThisConnection(view) && |
- WasCreatedByThisConnection(relative_view); |
-} |
- |
-bool DefaultAccessPolicy::CanDeleteView(const ServerView* view) const { |
- return WasCreatedByThisConnection(view); |
-} |
- |
-bool DefaultAccessPolicy::CanGetViewTree(const ServerView* view) const { |
- return WasCreatedByThisConnection(view) || |
- delegate_->IsRootForAccessPolicy(view->id()) || |
- IsDescendantOfEmbedRoot(view); |
-} |
- |
-bool DefaultAccessPolicy::CanDescendIntoViewForViewTree( |
- const ServerView* view) const { |
- return (WasCreatedByThisConnection(view) && |
- !delegate_->IsViewRootOfAnotherConnectionForAccessPolicy(view)) || |
- delegate_->IsRootForAccessPolicy(view->id()) || |
- delegate_->IsDescendantOfEmbedRoot(view); |
-} |
- |
-bool DefaultAccessPolicy::CanEmbed(const ServerView* view) const { |
- return WasCreatedByThisConnection(view) || |
- (delegate_->IsViewKnownForAccessPolicy(view) && |
- IsDescendantOfEmbedRoot(view) && |
- !delegate_->IsRootForAccessPolicy(view->id())); |
-} |
- |
-bool DefaultAccessPolicy::CanChangeViewVisibility( |
- const ServerView* view) const { |
- return WasCreatedByThisConnection(view) || |
- delegate_->IsRootForAccessPolicy(view->id()); |
-} |
- |
-bool DefaultAccessPolicy::CanSetViewSurfaceId(const ServerView* view) const { |
- // Once a view embeds another app, the embedder app is no longer able to |
- // call SetViewSurfaceId() - this ability is transferred to the embedded app. |
- if (delegate_->IsViewRootOfAnotherConnectionForAccessPolicy(view)) |
- return false; |
- return WasCreatedByThisConnection(view) || |
- delegate_->IsRootForAccessPolicy(view->id()); |
-} |
- |
-bool DefaultAccessPolicy::CanSetViewBounds(const ServerView* view) const { |
- return WasCreatedByThisConnection(view); |
-} |
- |
-bool DefaultAccessPolicy::CanSetViewProperties(const ServerView* view) const { |
- return WasCreatedByThisConnection(view); |
-} |
- |
-bool DefaultAccessPolicy::CanSetViewTextInputState( |
- const ServerView* view) const { |
- return WasCreatedByThisConnection(view) || |
- delegate_->IsRootForAccessPolicy(view->id()); |
-} |
- |
-bool DefaultAccessPolicy::CanSetFocus(const ServerView* view) const { |
- return WasCreatedByThisConnection(view) || |
- delegate_->IsRootForAccessPolicy(view->id()); |
-} |
- |
-bool DefaultAccessPolicy::CanSetAccessPolicy(const ServerView* view) const { |
- return false; |
-} |
- |
-bool DefaultAccessPolicy::ShouldNotifyOnHierarchyChange( |
- const ServerView* view, |
- const ServerView** new_parent, |
- const ServerView** old_parent) const { |
- if (!WasCreatedByThisConnection(view) && !IsDescendantOfEmbedRoot(view) && |
- (!*new_parent || !IsDescendantOfEmbedRoot(*new_parent)) && |
- (!*old_parent || !IsDescendantOfEmbedRoot(*old_parent))) { |
- return false; |
- } |
- |
- if (*new_parent && !WasCreatedByThisConnection(*new_parent) && |
- !delegate_->IsRootForAccessPolicy((*new_parent)->id()) && |
- !delegate_->IsDescendantOfEmbedRoot(*new_parent)) { |
- *new_parent = nullptr; |
- } |
- |
- if (*old_parent && !WasCreatedByThisConnection(*old_parent) && |
- !delegate_->IsRootForAccessPolicy((*old_parent)->id()) && |
- !delegate_->IsDescendantOfEmbedRoot(*new_parent)) { |
- *old_parent = nullptr; |
- } |
- return true; |
-} |
- |
-const ServerView* DefaultAccessPolicy::GetViewForFocusChange( |
- const ServerView* focused) { |
- if (WasCreatedByThisConnection(focused) || |
- delegate_->IsRootForAccessPolicy(focused->id())) |
- return focused; |
- return nullptr; |
-} |
- |
-bool DefaultAccessPolicy::WasCreatedByThisConnection( |
- const ServerView* view) const { |
- return view->id().connection_id == connection_id_; |
-} |
- |
-bool DefaultAccessPolicy::IsDescendantOfEmbedRoot( |
- const ServerView* view) const { |
- return delegate_->IsDescendantOfEmbedRoot(view); |
-} |
- |
-} // namespace view_manager |