blob: 1340c70604461cad738985987e70a10a185db5db [file] [log] [blame]
Avi Drissmand878a5012022-09-12 19:13:301// Copyright 2019 The Chromium Authors
Andres Medinaa65ad1b2019-06-26 22:18:192// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROMECAST_BROWSER_CAST_RENDERER_BLOCK_DATA_H_
6#define CHROMECAST_BROWSER_CAST_RENDERER_BLOCK_DATA_H_
7
Andres Medinaa65ad1b2019-06-26 22:18:198#include "base/memory/weak_ptr.h"
9#include "base/supports_user_data.h"
10
11namespace content {
12class WebContents;
13}
14
15namespace chromecast {
16namespace media {
17class ApplicationMediaInfoManager;
18}
19
20namespace shell {
21
22class CastRendererBlockData : public base::SupportsUserData::Data {
23 public:
24 static void SetRendererBlockForWebContents(content::WebContents* web_contents,
25 bool blocked);
26 static void SetApplicationMediaInfoManagerForWebContents(
27 content::WebContents* web_contents,
Dave Tapuskaf5db3672024-06-18 20:41:2528 base::WeakPtr<media::ApplicationMediaInfoManager>
29 application_media_info_manager);
Andres Medinaa65ad1b2019-06-26 22:18:1930 CastRendererBlockData();
31 ~CastRendererBlockData() override;
32
33 bool blocked() const { return blocked_; }
34 void SetBlocked(bool blocked);
35 void SetApplicationMediaInfoManager(
Dave Tapuskaf5db3672024-06-18 20:41:2536 base::WeakPtr<media::ApplicationMediaInfoManager>
37 application_media_info_manager);
Andres Medinaa65ad1b2019-06-26 22:18:1938
39 private:
40 bool blocked_;
41 base::WeakPtr<media::ApplicationMediaInfoManager>
42 application_media_info_manager_;
43};
44
45} // namespace shell
46} // namespace chromecast
47
48#endif // CHROMECAST_BROWSER_CAST_RENDERER_BLOCK_DATA_H_