// Copyright 2015 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_MEDIA_ROUTER_DIALOG_CONTROLLER_H_ #define COMPONENTS_MEDIA_ROUTER_BROWSER_MEDIA_ROUTER_DIALOG_CONTROLLER_H_ #include <memory> #include "base/functional/callback.h" #include "base/memory/raw_ptr.h" #include "content/public/browser/presentation_request.h" #include "content/public/browser/presentation_service_delegate.h" #include "content/public/browser/web_contents_observer.h" namespace content { class WebContents; } // namespace content namespace media_router { class StartPresentationContext; enum class MediaRouterDialogActivationLocation; // An abstract base class for Media Router dialog controllers. Tied to a // WebContents known as the |initiator|, and is lazily created when a Media // Router dialog needs to be shown. The MediaRouterDialogController allows // showing and closing a Media Router dialog modal to the initiator WebContents. // This class is not thread safe and must be called on the UI thread. class MediaRouterDialogController { … }; } // namespace media_router #endif // COMPONENTS_MEDIA_ROUTER_BROWSER_MEDIA_ROUTER_DIALOG_CONTROLLER_H_