Index: content/browser/media/cdm/browser_cdm_manager.cc |
diff --git a/content/browser/media/cdm/browser_cdm_manager.cc b/content/browser/media/cdm/browser_cdm_manager.cc |
index 1b7f55225f580935b0518d242ed9cfd0f1ddd4f1..1a28ab436813511d212ca153224d3deba589b6e5 100644 |
--- a/content/browser/media/cdm/browser_cdm_manager.cc |
+++ b/content/browser/media/cdm/browser_cdm_manager.cc |
@@ -26,6 +26,7 @@ |
#include "media/base/limits.h" |
#if defined(OS_ANDROID) |
+#include "content/public/browser/android/provision_fetcher_factory.h" |
#include "content/public/common/renderer_preferences.h" |
#include "media/base/android/android_cdm_factory.h" |
#endif |
@@ -278,8 +279,17 @@ media::CdmFactory* BrowserCdmManager::GetCdmFactory() { |
cdm_factory_ = GetContentClient()->browser()->CreateCdmFactory(); |
#if defined(OS_ANDROID) |
- if (!cdm_factory_) |
- cdm_factory_.reset(new media::AndroidCdmFactory()); |
+ if (!cdm_factory_) { |
+ // Obtain http request context for the current render process. |
+ net::URLRequestContextGetter* context_getter = |
+ RenderProcessHost::FromID(render_process_id_) |
+ ->GetBrowserContext() |
+ ->GetRequestContext(); |
+ DCHECK(context_getter); |
+ |
+ cdm_factory_.reset(new media::AndroidCdmFactory( |
+ base::Bind(&CreateProvisionFetcher, context_getter))); |
+ } |
#endif |
} |