Title: [144093] tags/Safari-537.31.10/Source/WebCore
- Revision
- 144093
- Author
- [email protected]
- Date
- 2013-02-26 13:01:25 -0800 (Tue, 26 Feb 2013)
Log Message
Merged r142819. <rdar://problem/13254985>
Modified Paths
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