Index: chromecast/renderer/cast_content_renderer_client.cc |
diff --git a/chromecast/renderer/cast_content_renderer_client.cc b/chromecast/renderer/cast_content_renderer_client.cc |
index c2d91de9d3c283df2f132a3ad3a31a24e640a69b..a01ea77cd3eefe100535b7afebcecb5d80579716 100644 |
--- a/chromecast/renderer/cast_content_renderer_client.cc |
+++ b/chromecast/renderer/cast_content_renderer_client.cc |
@@ -9,6 +9,7 @@ |
#include "base/command_line.h" |
#include "base/memory/memory_pressure_listener.h" |
#include "chromecast/common/chromecast_switches.h" |
+#include "chromecast/renderer/cast_media_load_deferrer.h" |
#include "chromecast/renderer/key_systems_cast.h" |
#include "chromecast/renderer/media/cma_media_renderer_factory.h" |
#include "components/dns_prefetch/renderer/prescient_networking_dispatcher.h" |
@@ -89,5 +90,17 @@ CastContentRendererClient::GetPrescientNetworking() { |
return prescient_networking_dispatcher_.get(); |
} |
+void CastContentRendererClient::DeferMediaLoad( |
+ content::RenderFrame* render_frame, |
+ const base::Closure& closure) { |
+ if (!render_frame->IsHidden()) { |
+ closure.Run(); |
+ return; |
+ } |
+ |
+ // Lifetime is tied to |render_frame| via content::RenderFrameObserver. |
+ new CastMediaLoadDeferrer(render_frame, closure); |
+} |
+ |
} // namespace shell |
} // namespace chromecast |