chromium/components/media_router/browser/presentation/presentation_navigation_policy.h

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_MEDIA_ROUTER_BROWSER_PRESENTATION_PRESENTATION_NAVIGATION_POLICY_H_
#define COMPONENTS_MEDIA_ROUTER_BROWSER_PRESENTATION_PRESENTATION_NAVIGATION_POLICY_H_

namespace content {
class NavigationHandle;
}  // namespace content

namespace media_router {

// Selected calls to the navigation methods in WebContentsObserver are
// delegated to this object to determine whether a navigation is allowed.  If
// any call returns false, the presentation tab is destroyed.
class NavigationPolicy {};

// This default policy allows all navigations.
class DefaultNavigationPolicy : public NavigationPolicy {};

// Navigation policy for presentations, where top-level navigations are not
// allowed.
class PresentationNavigationPolicy : public NavigationPolicy {};

}  // namespace media_router

#endif  // COMPONENTS_MEDIA_ROUTER_BROWSER_PRESENTATION_PRESENTATION_NAVIGATION_POLICY_H_