Title: [142819] trunk/Source/WebCore
- Revision
- 142819
- Author
- jer.no...@apple.com
- Date
- 2013-02-13 16:02:12 -0800 (Wed, 13 Feb 2013)
Log Message
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):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (142818 => 142819)
--- trunk/Source/WebCore/ChangeLog 2013-02-13 23:57:33 UTC (rev 142818)
+++ trunk/Source/WebCore/ChangeLog 2013-02-14 00:02:12 UTC (rev 142819)
@@ -1,3 +1,22 @@
+2013-02-13 Jer Noble <jer.no...@apple.com>
+
+ 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-13 Abhishek Arya <infe...@chromium.org>
ASSERTION FAILED: !object || object->isBox(), Bad cast in RenderBox::computeLogicalHeight
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (142818 => 142819)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2013-02-13 23:57:33 UTC (rev 142818)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2013-02-14 00:02:12 UTC (rev 142819)
@@ -1973,8 +1973,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;
@@ -1983,6 +1989,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: trunk/Source/WebCore/html/HTMLMediaElement.h (142818 => 142819)
--- trunk/Source/WebCore/html/HTMLMediaElement.h 2013-02-13 23:57:33 UTC (rev 142818)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h 2013-02-14 00:02:12 UTC (rev 142819)
@@ -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: trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp (142818 => 142819)
--- trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp 2013-02-13 23:57:33 UTC (rev 142818)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp 2013-02-14 00:02:12 UTC (rev 142819)
@@ -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: trunk/Source/WebCore/platform/graphics/MediaPlayer.h (142818 => 142819)
--- trunk/Source/WebCore/platform/graphics/MediaPlayer.h 2013-02-13 23:57:33 UTC (rev 142818)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.h 2013-02-14 00:02:12 UTC (rev 142819)
@@ -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
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes