| Index: components/mus/ws/default_access_policy.cc
|
| diff --git a/components/mus/ws/default_access_policy.cc b/components/mus/ws/default_access_policy.cc
|
| deleted file mode 100644
|
| index 1930dc05925206ba898252ba366e9deadee815e8..0000000000000000000000000000000000000000
|
| --- a/components/mus/ws/default_access_policy.cc
|
| +++ /dev/null
|
| @@ -1,203 +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/mus/ws/default_access_policy.h"
|
| -
|
| -#include "components/mus/ws/access_policy_delegate.h"
|
| -#include "components/mus/ws/server_window.h"
|
| -
|
| -namespace mus {
|
| -namespace ws {
|
| -
|
| -DefaultAccessPolicy::DefaultAccessPolicy() {}
|
| -
|
| -DefaultAccessPolicy::~DefaultAccessPolicy() {}
|
| -
|
| -void DefaultAccessPolicy::Init(ClientSpecificId client_id,
|
| - AccessPolicyDelegate* delegate) {
|
| - client_id_ = client_id;
|
| - delegate_ = delegate;
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanRemoveWindowFromParent(
|
| - const ServerWindow* window) const {
|
| - if (!WasCreatedByThisClient(window))
|
| - return false; // Can only unparent windows we created.
|
| -
|
| - return delegate_->HasRootForAccessPolicy(window->parent()) ||
|
| - WasCreatedByThisClient(window->parent());
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanAddWindow(const ServerWindow* parent,
|
| - const ServerWindow* child) const {
|
| - return WasCreatedByThisClient(child) &&
|
| - (delegate_->HasRootForAccessPolicy(parent) ||
|
| - (WasCreatedByThisClient(parent) &&
|
| - !delegate_->IsWindowRootOfAnotherTreeForAccessPolicy(parent)));
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanAddTransientWindow(
|
| - const ServerWindow* parent,
|
| - const ServerWindow* child) const {
|
| - return (delegate_->HasRootForAccessPolicy(child) ||
|
| - WasCreatedByThisClient(child)) &&
|
| - (delegate_->HasRootForAccessPolicy(parent) ||
|
| - WasCreatedByThisClient(parent));
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanRemoveTransientWindowFromParent(
|
| - const ServerWindow* window) const {
|
| - return (delegate_->HasRootForAccessPolicy(window) ||
|
| - WasCreatedByThisClient(window)) &&
|
| - (delegate_->HasRootForAccessPolicy(window->transient_parent()) ||
|
| - WasCreatedByThisClient(window->transient_parent()));
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetModal(const ServerWindow* window) const {
|
| - return delegate_->HasRootForAccessPolicy(window) ||
|
| - WasCreatedByThisClient(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanReorderWindow(
|
| - const ServerWindow* window,
|
| - const ServerWindow* relative_window,
|
| - mojom::OrderDirection direction) const {
|
| - return WasCreatedByThisClient(window) &&
|
| - WasCreatedByThisClient(relative_window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanDeleteWindow(const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanGetWindowTree(const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanDescendIntoWindowForWindowTree(
|
| - const ServerWindow* window) const {
|
| - return (WasCreatedByThisClient(window) &&
|
| - !delegate_->IsWindowRootOfAnotherTreeForAccessPolicy(window)) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanEmbed(const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanChangeWindowVisibility(
|
| - const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanChangeWindowOpacity(
|
| - const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetWindowSurface(
|
| - const ServerWindow* window,
|
| - mojom::SurfaceType surface_type) const {
|
| - if (surface_type == mojom::SurfaceType::UNDERLAY)
|
| - return WasCreatedByThisClient(window);
|
| -
|
| - // Once a window embeds another app, the embedder app is no longer able to
|
| - // call SetWindowSurfaceId() - this ability is transferred to the embedded
|
| - // app.
|
| - if (delegate_->IsWindowRootOfAnotherTreeForAccessPolicy(window))
|
| - return false;
|
| - return WasCreatedByThisClient(window) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetWindowBounds(const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetWindowProperties(
|
| - const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetWindowTextInputState(
|
| - const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetCapture(const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetFocus(const ServerWindow* window) const {
|
| - return !window || WasCreatedByThisClient(window) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetClientArea(const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetHitTestMask(const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetCursorProperties(
|
| - const ServerWindow* window) const {
|
| - return WasCreatedByThisClient(window) ||
|
| - delegate_->HasRootForAccessPolicy(window);
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::ShouldNotifyOnHierarchyChange(
|
| - const ServerWindow* window,
|
| - const ServerWindow** new_parent,
|
| - const ServerWindow** old_parent) const {
|
| - if (!WasCreatedByThisClient(window))
|
| - return false;
|
| -
|
| - if (*new_parent && !WasCreatedByThisClient(*new_parent) &&
|
| - !delegate_->HasRootForAccessPolicy((*new_parent))) {
|
| - *new_parent = nullptr;
|
| - }
|
| -
|
| - if (*old_parent && !WasCreatedByThisClient(*old_parent) &&
|
| - !delegate_->HasRootForAccessPolicy((*old_parent))) {
|
| - *old_parent = nullptr;
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -const ServerWindow* DefaultAccessPolicy::GetWindowForFocusChange(
|
| - const ServerWindow* focused) {
|
| - if (WasCreatedByThisClient(focused) ||
|
| - delegate_->HasRootForAccessPolicy(focused))
|
| - return focused;
|
| - return nullptr;
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::CanSetWindowManager() const {
|
| - return false;
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::WasCreatedByThisClient(
|
| - const ServerWindow* window) const {
|
| - return window->id().client_id == client_id_;
|
| -}
|
| -
|
| -bool DefaultAccessPolicy::IsValidIdForNewWindow(
|
| - const ClientWindowId& id) const {
|
| - // Clients using DefaultAccessPolicy only see windows they have created (for
|
| - // the embed point they choose the id), so it's ok for clients to use whatever
|
| - // id they want.
|
| - return true;
|
| -}
|
| -
|
| -} // namespace ws
|
| -} // namespace mus
|
|
|