Title: [144093] tags/Safari-537.31.10/Source/WebCore

Diff

Modified: tags/Safari-537.31.10/Source/WebCore/ChangeLog (144092 => 144093)


--- tags/Safari-537.31.10/Source/WebCore/ChangeLog	2013-02-26 20:52:51 UTC (rev 144092)
+++ tags/Safari-537.31.10/Source/WebCore/ChangeLog	2013-02-26 21:01:25 UTC (rev 144093)
@@ -1,5 +1,28 @@
 2013-02-26  Lucas Forschler  <[email protected]>
 
+        Merge r142819
+
+    2013-02-13  Jer Noble  <[email protected]>
+
+            EME: MediaPlayer::keyNeede() should return a bool indicating whether an event listener was triggered.
+            https://bugs.webkit.org/show_bug.cgi?id=109701
+
+            Reviewed by Eric Carlson.
+
+            Clients of MediaPlayer may need to do cleanup if calling keyNeeded()
+            results in no event listener being triggered. Return a bool (like the
+            v1 equivalent keyNeeded method) to indicate this.
+
+            * html/HTMLMediaElement.cpp:
+            (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
+            * html/HTMLMediaElement.h:
+            * platform/graphics/MediaPlayer.cpp:
+            (WebCore::MediaPlayer::keyNeeded):
+            * platform/graphics/MediaPlayer.h:
+            (WebCore::MediaPlayerClient::mediaPlayerKeyNeeded):
+
+2013-02-26  Lucas Forschler  <[email protected]>
+
         Merge r144067
 
     2013-02-26  Dean Jackson  <[email protected]>

Modified: tags/Safari-537.31.10/Source/WebCore/html/HTMLMediaElement.cpp (144092 => 144093)


--- tags/Safari-537.31.10/Source/WebCore/html/HTMLMediaElement.cpp	2013-02-26 20:52:51 UTC (rev 144092)
+++ tags/Safari-537.31.10/Source/WebCore/html/HTMLMediaElement.cpp	2013-02-26 21:01:25 UTC (rev 144093)
@@ -1972,8 +1972,14 @@
 #endif
 
 #if ENABLE(ENCRYPTED_MEDIA_V2)
-void HTMLMediaElement::mediaPlayerKeyNeeded(MediaPlayer*, Uint8Array* initData)
+bool HTMLMediaElement::mediaPlayerKeyNeeded(MediaPlayer*, Uint8Array* initData)
 {
+    if (!hasEventListeners("webkitneedkey")) {
+        m_error = MediaError::create(MediaError::MEDIA_ERR_ENCRYPTED);
+        scheduleEvent(eventNames().errorEvent);
+        return false;
+    }
+
     MediaKeyNeededEventInit initializer;
     initializer.initData = initData;
     initializer.bubbles = false;
@@ -1982,6 +1988,8 @@
     RefPtr<Event> event = MediaKeyNeededEvent::create(eventNames().webkitneedkeyEvent, initializer);
     event->setTarget(this);
     m_asyncEventQueue->enqueueEvent(event.release());
+
+    return true;
 }
 
 void HTMLMediaElement::setMediaKeys(MediaKeys* mediaKeys)

Modified: tags/Safari-537.31.10/Source/WebCore/html/HTMLMediaElement.h (144092 => 144093)


--- tags/Safari-537.31.10/Source/WebCore/html/HTMLMediaElement.h	2013-02-26 20:52:51 UTC (rev 144092)
+++ tags/Safari-537.31.10/Source/WebCore/html/HTMLMediaElement.h	2013-02-26 21:01:25 UTC (rev 144093)
@@ -455,7 +455,7 @@
 #endif
 
 #if ENABLE(ENCRYPTED_MEDIA_V2)
-    virtual void mediaPlayerKeyNeeded(MediaPlayer*, Uint8Array*);
+    virtual bool mediaPlayerKeyNeeded(MediaPlayer*, Uint8Array*);
 #endif
 
     virtual String mediaPlayerReferrer() const OVERRIDE;

Modified: tags/Safari-537.31.10/Source/WebCore/platform/graphics/MediaPlayer.cpp (144092 => 144093)


--- tags/Safari-537.31.10/Source/WebCore/platform/graphics/MediaPlayer.cpp	2013-02-26 20:52:51 UTC (rev 144092)
+++ tags/Safari-537.31.10/Source/WebCore/platform/graphics/MediaPlayer.cpp	2013-02-26 21:01:25 UTC (rev 144093)
@@ -1082,10 +1082,11 @@
 #endif
 
 #if ENABLE(ENCRYPTED_MEDIA_V2)
-void MediaPlayer::keyNeeded(Uint8Array* initData)
+bool MediaPlayer::keyNeeded(Uint8Array* initData)
 {
     if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerKeyNeeded(this, initData);
+        return m_mediaPlayerClient->mediaPlayerKeyNeeded(this, initData);
+    return false;
 }
 #endif
 

Modified: tags/Safari-537.31.10/Source/WebCore/platform/graphics/MediaPlayer.h (144092 => 144093)


--- tags/Safari-537.31.10/Source/WebCore/platform/graphics/MediaPlayer.h	2013-02-26 20:52:51 UTC (rev 144092)
+++ tags/Safari-537.31.10/Source/WebCore/platform/graphics/MediaPlayer.h	2013-02-26 21:01:25 UTC (rev 144093)
@@ -194,7 +194,7 @@
 #endif
 
 #if ENABLE(ENCRYPTED_MEDIA_V2)
-    virtual void mediaPlayerKeyNeeded(MediaPlayer*, Uint8Array*) { }
+    virtual bool mediaPlayerKeyNeeded(MediaPlayer*, Uint8Array*) { return false; }
 #endif
     
     virtual String mediaPlayerReferrer() const { return String(); }
@@ -435,7 +435,7 @@
 #endif
 
 #if ENABLE(ENCRYPTED_MEDIA_V2)
-    void keyNeeded(Uint8Array* initData);
+    bool keyNeeded(Uint8Array* initData);
 #endif
 
     String referrer() const;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to