EME: replace MediaKeySession.addKey() -> update()
authorjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Feb 2013 22:26:53 +0000 (22:26 +0000)
committerjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Feb 2013 22:26:53 +0000 (22:26 +0000)
https://bugs.webkit.org/show_bug.cgi?id=109461

Source/WebCore:

Reviewed by Eric Carlson.

No new tests; updated media/encrypted-media/encrypted-media-v2-syntax.html test.

In the latest draft of the Encrypted Media Spec, the addKeys() method has been replaced
with update().

* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::addKeyTimerFired):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/encryptedmedia/MediaKeySession.idl:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::webkitAddKey):
* testing/MockCDM.cpp:
(WebCore::MockCDMSession::update):

LayoutTests:

Rebaseline after API change.

Reviewed by Eric Carlson.

* media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
* media/encrypted-media/encrypted-media-v2-syntax.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@142918 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/media/encrypted-media/encrypted-media-v2-syntax-expected.txt
LayoutTests/media/encrypted-media/encrypted-media-v2-syntax.html
Source/WebCore/ChangeLog
Source/WebCore/Modules/encryptedmedia/CDM.h
Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp
Source/WebCore/Modules/encryptedmedia/MediaKeySession.h
Source/WebCore/Modules/encryptedmedia/MediaKeySession.idl
Source/WebCore/html/HTMLMediaElement.cpp
Source/WebCore/testing/MockCDM.cpp

index 8117d72..366b1d8 100644 (file)
@@ -1,3 +1,15 @@
+2013-02-14  Jer Noble  <jer.noble@apple.com>
+
+        EME: replace MediaKeySession.addKey() -> update()
+        https://bugs.webkit.org/show_bug.cgi?id=109461
+
+        Rebaseline after API change.
+
+        Reviewed by Eric Carlson.
+
+        * media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
+        * media/encrypted-media/encrypted-media-v2-syntax.html:
+
 2013-02-14  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
 
         Support the ch unit from css3-values
index 2305111..902d12f 100644 (file)
@@ -14,13 +14,13 @@ Test MediaKeySession.
 RUN(mediaKeySession = mediaKeys.createSession("video/mock", initData))
 EXPECTED (typeof mediaKeySession == 'object') OK
 EXPECTED (typeof mediaKeySession.addEventListener == 'function') OK
-EXPECTED (typeof mediaKeySession.addKey == 'function') OK
+EXPECTED (typeof mediaKeySession.update == 'function') OK
 EXPECTED (mediaKeySession.error == 'null') OK
 EXPECTED (mediaKeySession.keySystem == 'com.webcore.mock') OK
 EXPECTED (mediaKeySession.sessionId != 'null') OK
 EXPECTED (mediaKeySession.onwebkitkeyadded == 'null') OK
 EXPECTED (mediaKeySession.onwebkitkeyerror == 'null') OK
 EXPECTED (mediaKeySession.onwebkitkeymessage == 'null') OK
-TEST(mediaKeySession.addKey(null)) THROWS(DOMException.INVALID_ACCESS_ERR) OK
+TEST(mediaKeySession.update(null)) THROWS(DOMException.INVALID_ACCESS_ERR) OK
 END OF TEST
 
index 9a7451f..b08037a 100644 (file)
                 run('mediaKeySession = mediaKeys.createSession("video/mock", initData)');
                 testExpected('typeof mediaKeySession', 'object');
                 testExpected('typeof mediaKeySession.addEventListener', 'function');
-                testExpected('typeof mediaKeySession.addKey', 'function');
+                testExpected('typeof mediaKeySession.update', 'function');
                 testExpected('mediaKeySession.error', null);
                 testExpected('mediaKeySession.keySystem', 'com.webcore.mock');
                 testExpected('mediaKeySession.sessionId', null, '!=');
                 testExpected('mediaKeySession.onwebkitkeyadded', null);
                 testExpected('mediaKeySession.onwebkitkeyerror', null);
                 testExpected('mediaKeySession.onwebkitkeymessage', null);
-                testException('mediaKeySession.addKey(null)', "DOMException.INVALID_ACCESS_ERR");
+                testException('mediaKeySession.update(null)', "DOMException.INVALID_ACCESS_ERR");
                 endTest();
             }
         </script>
@@ -54,4 +54,4 @@
     <body onload="runTest()">
         <p>This tests the basic API of MediaKeys and MediaKeySession.</p>
     </body>
-</html>
\ No newline at end of file
+</html>
index 1c16a58..7396a74 100644 (file)
@@ -1,3 +1,26 @@
+2013-02-14  Jer Noble  <jer.noble@apple.com>
+
+        EME: replace MediaKeySession.addKey() -> update()
+        https://bugs.webkit.org/show_bug.cgi?id=109461
+
+        Reviewed by Eric Carlson.
+
+        No new tests; updated media/encrypted-media/encrypted-media-v2-syntax.html test.
+
+        In the latest draft of the Encrypted Media Spec, the addKeys() method has been replaced
+        with update().
+
+        * Modules/encryptedmedia/CDM.h:
+        * Modules/encryptedmedia/MediaKeySession.cpp:
+        (WebCore::MediaKeySession::update):
+        (WebCore::MediaKeySession::addKeyTimerFired):
+        * Modules/encryptedmedia/MediaKeySession.h:
+        * Modules/encryptedmedia/MediaKeySession.idl:
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::webkitAddKey):
+        * testing/MockCDM.cpp:
+        (WebCore::MockCDMSession::update):
+
 2013-02-14  Tony Chang  <tony@chromium.org>
 
         Unreviewed, set svn:eol-style CRLF for .sln files.
index 0bc3e88..82d99e9 100644 (file)
@@ -53,7 +53,7 @@ public:
     virtual const String& sessionId() = 0;
     virtual PassRefPtr<Uint8Array> generateKeyRequest(const String& mimeType, Uint8Array* initData, String& destinationURL, unsigned short& errorCode, unsigned long& systemCode) = 0;
     virtual void releaseKeys() = 0;
-    virtual bool addKey(Uint8Array*, RefPtr<Uint8Array>& nextMessage, unsigned short& errorCode, unsigned long& systemCode) = 0;
+    virtual bool update(Uint8Array*, RefPtr<Uint8Array>& nextMessage, unsigned short& errorCode, unsigned long& systemCode) = 0;
 };
 
 class CDM {
index 55a134e..6aaf825 100644 (file)
@@ -138,7 +138,7 @@ void MediaKeySession::keyRequestTimerFired(Timer<MediaKeySession>*)
     }
 }
 
-void MediaKeySession::addKey(Uint8Array* key, ExceptionCode& ec)
+void MediaKeySession::update(Uint8Array* key, ExceptionCode& ec)
 {
     // From <http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#dom-addkey>:
     // The addKey(key) method must run the following steps:
@@ -165,7 +165,7 @@ void MediaKeySession::addKeyTimerFired(Timer<MediaKeySession>*)
         unsigned short errorCode = 0;
         unsigned long systemCode = 0;
 
-        // NOTE: Continued from step 2. of MediaKeySession::addKey()
+        // NOTE: Continued from step 2. of MediaKeySession::update()
         // 2.1. Let cdm be the cdm loaded in the MediaKeys constructor.
         // NOTE: This is m_session.
         // 2.2. Let 'did store key' be false.
@@ -173,7 +173,7 @@ void MediaKeySession::addKeyTimerFired(Timer<MediaKeySession>*)
         // 2.3. Let 'next message' be null.
         RefPtr<Uint8Array> nextMessage;
         // 2.4. Use cdm to handle key.
-        didStoreKey = m_session->addKey(pendingKey.get(), nextMessage, errorCode, systemCode);
+        didStoreKey = m_session->update(pendingKey.get(), nextMessage, errorCode, systemCode);
         // 2.5. If did store key is true and the media element is waiting for a key, queue a task to attempt to resume playback.
         // TODO: Find and restart the media element
 
index 7443bdc..83d1fbe 100644 (file)
@@ -60,7 +60,7 @@ public:
     MediaKeys* keys() const { return m_keys; }
 
     void generateKeyRequest(const String& mimeType, Uint8Array* initData);
-    void addKey(Uint8Array* key, ExceptionCode&);
+    void update(Uint8Array* key, ExceptionCode&);
     void close();
 
     using RefCounted<MediaKeySession>::ref;
index e3e79d7..c4c9fc2 100644 (file)
@@ -36,7 +36,7 @@ interface [
     readonly attribute DOMString sessionId;
 
     // session operations
-    void addKey(in Uint8Array key)
+    void update(in Uint8Array key)
         raises(DOMException);
     void close();
     
index 747ff71..799d0d1 100644 (file)
@@ -2543,7 +2543,7 @@ void HTMLMediaElement::webkitAddKey(const String& keySystem, PassRefPtr<Uint8Arr
 #if ENABLE(ENCRYPTED_MEDIA_V2)
     static bool firstTime = true;
     if (firstTime && context() && context()->scriptExecutionContext()) {
-        context()->scriptExecutionContext()->addConsoleMessage(JSMessageSource, WarningMessageLevel, "'HTMLMediaElement.webkitAddKey()' is deprecated.  Use 'MediaKeySession.addKey()' instead.");
+        context()->scriptExecutionContext()->addConsoleMessage(JSMessageSource, WarningMessageLevel, "'HTMLMediaElement.webkitAddKey()' is deprecated.  Use 'MediaKeySession.update()' instead.");
         firstTime = false;
     }
 #endif
index bc2affc..03c1759 100644 (file)
@@ -42,7 +42,7 @@ public:
     virtual const String& sessionId() OVERRIDE { return m_sessionId; }
     virtual PassRefPtr<Uint8Array> generateKeyRequest(const String& mimeType, Uint8Array* initData, String& destinationURL, unsigned short& errorCode, unsigned long& systemCode) OVERRIDE;
     virtual void releaseKeys() OVERRIDE;
-    virtual bool addKey(Uint8Array*, RefPtr<Uint8Array>& nextMessage, unsigned short& errorCode, unsigned long& systemCode) OVERRIDE;
+    virtual bool update(Uint8Array*, RefPtr<Uint8Array>& nextMessage, unsigned short& errorCode, unsigned long& systemCode) OVERRIDE;
 
 protected:
     MockCDMSession();
@@ -128,7 +128,7 @@ void MockCDMSession::releaseKeys()
     // no-op
 }
 
-bool MockCDMSession::addKey(Uint8Array* key, RefPtr<Uint8Array>&, unsigned short& errorCode, unsigned long&)
+bool MockCDMSession::update(Uint8Array* key, RefPtr<Uint8Array>&, unsigned short& errorCode, unsigned long&)
 {
     for (unsigned i = 0; i < keyPrefix()->length(); ++i) {
         if (i >= key->length() || key->item(i) != keyPrefix()->item(i)) {