#include "content/renderer/media/renderer_web_media_player_delegate.h"
#include <stdint.h>
#include "base/auto_reset.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/metrics/user_metrics_action.h"
#include "base/system/sys_info.h"
#include "base/task/single_thread_task_runner.h"
#include "content/public/common/content_client.h"
#include "content/public/renderer/content_renderer_client.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_thread.h"
#include "media/base/media_content_type.h"
#include "third_party/blink/public/mojom/frame/user_activation_notification_type.mojom.h"
#include "third_party/blink/public/platform/web_fullscreen_video_status.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/blink/public/web/web_view.h"
#include "third_party/blink/public/web/web_view_observer.h"
#include "ui/gfx/geometry/size.h"
namespace {
void RecordAction(const base::UserMetricsAction& action) { … }
}
namespace media {
RendererWebMediaPlayerDelegate::RendererWebMediaPlayerDelegate(
content::RenderFrame* render_frame)
: … { … }
RendererWebMediaPlayerDelegate::~RendererWebMediaPlayerDelegate() { … }
bool RendererWebMediaPlayerDelegate::IsPageHidden() { … }
bool RendererWebMediaPlayerDelegate::IsFrameHidden() { … }
int RendererWebMediaPlayerDelegate::AddObserver(Observer* observer) { … }
void RendererWebMediaPlayerDelegate::RemoveObserver(int player_id) { … }
void RendererWebMediaPlayerDelegate::DidMediaMetadataChange(
int player_id,
bool has_audio,
bool has_video,
MediaContentType media_content_type) { … }
void RendererWebMediaPlayerDelegate::DidPlay(int player_id) { … }
void RendererWebMediaPlayerDelegate::DidPause(int player_id,
bool reached_end_of_stream) { … }
void RendererWebMediaPlayerDelegate::PlayerGone(int player_id) { … }
void RendererWebMediaPlayerDelegate::SetIdle(int player_id, bool is_idle) { … }
bool RendererWebMediaPlayerDelegate::IsIdle(int player_id) { … }
void RendererWebMediaPlayerDelegate::ClearStaleFlag(int player_id) { … }
bool RendererWebMediaPlayerDelegate::IsStale(int player_id) { … }
void RendererWebMediaPlayerDelegate::OnPageVisibilityChanged(
blink::mojom::PageVisibilityState visibility_state) { … }
void RendererWebMediaPlayerDelegate::SetIdleCleanupParamsForTesting(
base::TimeDelta idle_timeout,
base::TimeDelta idle_cleanup_interval,
const base::TickClock* tick_clock,
bool is_low_end) { … }
bool RendererWebMediaPlayerDelegate::IsIdleCleanupTimerRunningForTesting()
const { … }
void RendererWebMediaPlayerDelegate::SetFrameHiddenForTesting(
bool is_frame_hidden) { … }
void RendererWebMediaPlayerDelegate::ScheduleUpdateTask() { … }
void RendererWebMediaPlayerDelegate::UpdateTask() { … }
void RendererWebMediaPlayerDelegate::CleanUpIdlePlayers(
base::TimeDelta timeout) { … }
void RendererWebMediaPlayerDelegate::OnFrameVisibilityChanged(
blink::mojom::FrameVisibility render_status) { … }
void RendererWebMediaPlayerDelegate::OnDestruct() { … }
}