Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1604)

Unified Diff: Source/modules/encryptedmedia/MediaKeys.h

Issue 16387015: Make unprefixed EME APIs use platform and Chromium. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/modules/encryptedmedia/MediaKeys.h
diff --git a/Source/modules/encryptedmedia/MediaKeys.h b/Source/modules/encryptedmedia/MediaKeys.h
index 9691cfe40c3ec3de6b8da343d924ace605226028..c437d965fa7134e4531d69891fe6312e26f21ba4 100644
--- a/Source/modules/encryptedmedia/MediaKeys.h
+++ b/Source/modules/encryptedmedia/MediaKeys.h
@@ -31,7 +31,6 @@
#include "bindings/v8/ScriptWrappable.h"
#include "core/dom/EventTarget.h"
#include "core/dom/ExceptionCode.h"
-#include "modules/encryptedmedia/CDM.h"
#include "wtf/OwnPtr.h"
#include "wtf/PassRefPtr.h"
#include "wtf/RefCounted.h"
@@ -41,10 +40,15 @@
namespace WebCore {
+class CDM;
class MediaKeySession;
class HTMLMediaElement;
-class MediaKeys : public RefCounted<MediaKeys>, public ScriptWrappable, public CDMClient {
+// References are held by JS and HTMLMediaElement.
+// The CDM has the same lifetime as this object.
+// Maintains a reference to all MediaKeySessions created to ensure they live as
+// long as this object unless explicitly close()'d.
+class MediaKeys : public RefCounted<MediaKeys>, public ScriptWrappable {
public:
static PassRefPtr<MediaKeys> create(const String& keySystem, ExceptionCode&);
~MediaKeys();
@@ -52,21 +56,16 @@ public:
PassRefPtr<MediaKeySession> createSession(ScriptExecutionContext*, const String& mimeType, Uint8Array* initData, ExceptionCode&);
const String& keySystem() const { return m_keySystem; }
- CDM* cdm() { return m_cdm.get(); }
- HTMLMediaElement* mediaElement() const { return m_mediaElement; }
void setMediaElement(HTMLMediaElement*);
protected:
- // CDMClient:
- virtual MediaPlayer* cdmMediaPlayer(const CDM*) const OVERRIDE;
-
MediaKeys(const String& keySystem, PassOwnPtr<CDM>);
Vector<RefPtr<MediaKeySession> > m_sessions;
HTMLMediaElement* m_mediaElement;
- String m_keySystem;
+ const String m_keySystem;
OwnPtr<CDM> m_cdm;
};

Powered by Google App Engine
This is Rietveld 408576698