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..16210cd049bd6f980e2bb1e0c61b4276c28616a0 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/browser/media/android/url_provision_fetcher.h" |
#include "content/public/common/renderer_preferences.h" |
#include "media/base/android/android_cdm_factory.h" |
#endif |
@@ -278,8 +279,19 @@ 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_) { |
+ // Create ProvisionFetcherFactory based on the render process context. |
+ net::URLRequestContextGetter* context = |
+ RenderProcessHost::FromID(render_process_id_) |
+ ->GetBrowserContext() |
+ ->GetRequestContext(); |
+ DCHECK(context); |
+ |
+ scoped_ptr<media::ProvisionFetcherFactory> fetcher_factory; |
+ fetcher_factory.reset(new URLProvisionFetcherFactory(context)); |
+ |
+ cdm_factory_.reset(new media::AndroidCdmFactory(fetcher_factory.Pass())); |
+ } |
#endif |
} |