Index: media/blink/webcontentdecryptionmoduleaccess_impl.h |
diff --git a/media/blink/webcontentdecryptionmoduleaccess_impl.h b/media/blink/webcontentdecryptionmoduleaccess_impl.h |
index 9d54823775104a1fa391625080af68d182d513bb..131bb21e6a8333bef72a3e39b39f92226f6aedd9 100644 |
--- a/media/blink/webcontentdecryptionmoduleaccess_impl.h |
+++ b/media/blink/webcontentdecryptionmoduleaccess_impl.h |
@@ -7,6 +7,7 @@ |
#include "base/basictypes.h" |
#include "base/memory/scoped_ptr.h" |
+#include "base/memory/weak_ptr.h" |
#include "media/base/cdm_factory.h" |
#include "third_party/WebKit/public/platform/WebContentDecryptionModuleAccess.h" |
#include "third_party/WebKit/public/platform/WebMediaKeySystemConfiguration.h" |
@@ -19,6 +20,8 @@ class WebLocalFrame; |
namespace media { |
+class WebEncryptedMediaClientImpl; |
+ |
class WebContentDecryptionModuleAccessImpl |
: public blink::WebContentDecryptionModuleAccess { |
public: |
@@ -26,7 +29,7 @@ class WebContentDecryptionModuleAccessImpl |
const blink::WebString& key_system, |
const blink::WebMediaKeySystemConfiguration& configuration, |
const blink::WebSecurityOrigin& security_origin, |
- CdmFactory* cdm_factory); |
+ const base::WeakPtr<WebEncryptedMediaClientImpl>& client); |
virtual ~WebContentDecryptionModuleAccessImpl(); |
// blink::WebContentDecryptionModuleAccess interface. |
@@ -39,14 +42,16 @@ class WebContentDecryptionModuleAccessImpl |
const blink::WebString& key_system, |
const blink::WebMediaKeySystemConfiguration& configuration, |
const blink::WebSecurityOrigin& security_origin, |
- CdmFactory* cdm_factory); |
+ const base::WeakPtr<WebEncryptedMediaClientImpl>& client); |
DISALLOW_COPY_AND_ASSIGN(WebContentDecryptionModuleAccessImpl); |
blink::WebString key_system_; |
blink::WebMediaKeySystemConfiguration configuration_; |
blink::WebSecurityOrigin security_origin_; |
- CdmFactory* cdm_factory_; |
+ |
+ // Keep a WeakPtr as client is owned by render_frame_impl. |
+ base::WeakPtr<WebEncryptedMediaClientImpl> client_; |
}; |
} // namespace media |