Commit c5400311 authored by Dan Sanders's avatar Dan Sanders Committed by Commit Bot

[media] Use page (rather than frame) visibility for deferring media load

Frame visibility is affected by CSS display while page visibility is
not.

Bug: 999006
Change-Id: Ia2ee70f6222d88474cea92fd28c8da77269f3a2f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1797131Reviewed-by: default avatarDave Tapuska <dtapuska@chromium.org>
Reviewed-by: default avatarDale Curtis <dalecurtis@chromium.org>
Commit-Queue: Dan Sanders <sandersd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#695676}
parent 370e225f
......@@ -139,6 +139,7 @@
#include "third_party/blink/public/web/web_plugin_container.h"
#include "third_party/blink/public/web/web_plugin_params.h"
#include "third_party/blink/public/web/web_security_policy.h"
#include "third_party/blink/public/web/web_view.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
......@@ -713,12 +714,13 @@ bool ChromeContentRendererClient::DeferMediaLoad(
content::RenderFrame* render_frame,
bool has_played_media_before,
base::OnceClosure closure) {
// Don't allow autoplay/autoload of media resources in a RenderFrame that is
// hidden and has never played any media before. We want to allow future
// loads even when hidden to allow playlist-like functionality.
// Don't allow autoplay/autoload of media resources in a page that is hidden
// and has never played any media before. We want to allow future loads even
// when hidden to allow playlist-like functionality.
//
// NOTE: This is also used to defer media loading for prerender.
if ((render_frame->IsHidden() && !has_played_media_before) ||
if ((render_frame->GetRenderView()->GetWebView()->IsHidden() &&
!has_played_media_before) ||
prerender::PrerenderHelper::IsPrerendering(render_frame)) {
new MediaLoadDeferrer(render_frame, std::move(closure));
return true;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment