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

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

Issue 423633002: Make HTMLMediaElement.setMediaKeys() asynchronous. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 5 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/HTMLMediaElementEncryptedMedia.h
diff --git a/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h b/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h
index ffd3441b060518760a3f158ba29ba158acd6e22c..4ae505a2488aeaddef96ed13ddabe2ed3c7acb86 100644
--- a/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h
+++ b/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.h
@@ -17,6 +17,8 @@ namespace blink {
class ExceptionState;
class HTMLMediaElement;
class MediaKeys;
+class ScriptPromise;
+class ScriptState;
class HTMLMediaElementEncryptedMedia FINAL : public NoBaseWillBeGarbageCollected<HTMLMediaElementEncryptedMedia>, public WillBeHeapSupplement<HTMLMediaElement> {
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(HTMLMediaElementEncryptedMedia);
@@ -36,7 +38,7 @@ public:
// encrypted media extensions (WD)
static MediaKeys* mediaKeys(HTMLMediaElement&);
- static void setMediaKeys(HTMLMediaElement&, MediaKeys*, ExceptionState&);
+ static ScriptPromise setMediaKeys(ScriptState*, HTMLMediaElement&, MediaKeys*);
DEFINE_STATIC_ATTRIBUTE_EVENT_LISTENER(needkey);
static void keyAdded(HTMLMediaElement&, const String& keySystem, const String& sessionId);
@@ -52,6 +54,8 @@ public:
virtual void trace(Visitor*) OVERRIDE;
private:
+ friend class SetMediaKeysWorker;
ddorwin 2014/07/31 00:56:36 "Worker" has specific JS-facing meanings. Is there
jrummell 2014/08/07 01:43:02 Looked like "Implementer" and "Handler" are common
+
HTMLMediaElementEncryptedMedia();
void generateKeyRequest(blink::WebMediaPlayer*, const String& keySystem, PassRefPtr<Uint8Array> initData, ExceptionState&);
void addKey(blink::WebMediaPlayer*, const String& keySystem, PassRefPtr<Uint8Array> key, PassRefPtr<Uint8Array> initData, const String& sessionId, ExceptionState&);
@@ -69,10 +73,9 @@ private:
// check (and set if necessary) the encrypted media extensions (EME) mode
// (v0.1b or WD). Returns whether the mode is allowed and successfully set.
- bool setEmeMode(EmeMode, ExceptionState&);
+ bool setEmeMode(EmeMode);
blink::WebContentDecryptionModule* contentDecryptionModule();
- void setMediaKeysInternal(HTMLMediaElement&, MediaKeys*);
EmeMode m_emeMode;

Powered by Google App Engine
This is Rietveld 408576698