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 beff1d3a9ea6363a0a0cd899a1deb5d6bac39d53..f10c75baf247f71cc11da49823bb021947ebe884 100644 |
--- a/chromecast/renderer/cast_content_renderer_client.cc |
+++ b/chromecast/renderer/cast_content_renderer_client.cc |
@@ -8,9 +8,11 @@ |
#include "base/command_line.h" |
#include "base/memory/memory_pressure_listener.h" |
+#include "chromecast/renderer/cast_media_load_deferrer.h" |
#include "chromecast/renderer/key_systems_cast.h" |
#include "components/dns_prefetch/renderer/prescient_networking_dispatcher.h" |
#include "content/public/common/content_switches.h" |
+#include "content/public/renderer/render_frame.h" |
#include "content/public/renderer/render_view.h" |
#include "crypto/nss_util.h" |
#include "third_party/WebKit/public/platform/WebColor.h" |
@@ -74,5 +76,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 |