Chromium Code Reviews| Index: chrome/browser/media/router/media_router_dialog_controller.h |
| diff --git a/chrome/browser/media/router/media_router_dialog_controller.h b/chrome/browser/media/router/media_router_dialog_controller.h |
| index a627b44d91d7c8baa5f41ebc178a359ce57d3acc..a2891e8ce7cacf0785c18a27eb4d6f6467e0f1da 100644 |
| --- a/chrome/browser/media/router/media_router_dialog_controller.h |
| +++ b/chrome/browser/media/router/media_router_dialog_controller.h |
| @@ -6,7 +6,9 @@ |
| #define CHROME_BROWSER_MEDIA_ROUTER_MEDIA_ROUTER_DIALOG_CONTROLLER_H_ |
| #include "base/macros.h" |
| +#include "base/memory/scoped_ptr.h" |
| #include "chrome/browser/media/router/create_presentation_session_request.h" |
| +#include "content/public/browser/web_contents_observer.h" |
| namespace content { |
| class WebContents; |
| @@ -21,7 +23,7 @@ namespace media_router { |
| // This class is not thread safe and must be called on the UI thread. |
| class MediaRouterDialogController { |
| public: |
| - virtual ~MediaRouterDialogController() = default; |
| + virtual ~MediaRouterDialogController(); |
| // Gets a reference to the MediaRouterDialogController associated with |
| // |web_contents|, creating one if it does not exist. The returned pointer is |
| @@ -36,6 +38,36 @@ class MediaRouterDialogController { |
| // Otherwise returns false and |request| is deleted. |
| virtual bool ShowMediaRouterDialogForPresentation( |
| scoped_ptr<CreatePresentationSessionRequest> request) = 0; |
| + |
| + // Closes the media router dialog. |
| + // It is an error to call this function if there is currently no dialog. |
| + virtual void CloseMediaRouterDialog() = 0; |
| + |
| +protected: |
|
imcheng
2015/07/23 00:41:14
nit:indent
whywhat
2015/07/23 21:20:09
Done.
|
| + // Use MediaRouterDialogController::GetOrCreateForWebContents() to create an |
| + // instance. |
| + explicit MediaRouterDialogController(content::WebContents* initiator); |
| + |
| + void ActivateInitiatorWebContents(); |
| + void CreateMediaRouterDialog(); |
| + scoped_ptr<CreatePresentationSessionRequest> PassPresentationRequest(); |
| + void SetPresentationRequest( |
| + scoped_ptr<CreatePresentationSessionRequest> request); |
| + |
| + content::WebContents* initiator() { return initiator_; } |
| + |
| + virtual void Reset() = 0; |
|
imcheng
2015/07/23 00:41:14
this needs documentation.
whywhat
2015/07/23 21:20:09
Done.
|
| + |
| +private: |
|
imcheng
2015/07/23 00:41:14
nit: indent
whywhat
2015/07/23 21:20:09
Done.
|
| + class InitiatorWebContentsObserver; |
| + |
| + scoped_ptr<InitiatorWebContentsObserver> initiator_observer_; |
| + content::WebContents* const initiator_; |
| + |
| + // Data for dialogs created under a Presentation API context. |
| + // Passed from the caller of ShowMediaRouterDialogForPresentation(), and |
| + // passed to the dialog when it is initialized. |
| + scoped_ptr<CreatePresentationSessionRequest> presentation_request_; |
| }; |
|
imcheng
2015/07/23 00:41:14
DISALLOW_COPY_AND_ASSIGN ?
whywhat
2015/07/23 21:20:09
Done.
|
| } // namespace media_router |