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

Unified Diff: webkit/media/crypto/ppapi/clear_key_cdm.cc

Issue 11348365: Encrypted Media: Allows empty key message to be fired. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nits Created 8 years 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: webkit/media/crypto/ppapi/clear_key_cdm.cc
diff --git a/webkit/media/crypto/ppapi/clear_key_cdm.cc b/webkit/media/crypto/ppapi/clear_key_cdm.cc
index 3c3ce77e7f2072e89455e5b3eb839dc769a54046..fdc757e3a4ce3bedc0be6d982328b8a2b758803c 100644
--- a/webkit/media/crypto/ppapi/clear_key_cdm.cc
+++ b/webkit/media/crypto/ppapi/clear_key_cdm.cc
@@ -235,12 +235,16 @@ cdm::Status ClearKeyCdm::GenerateKeyRequest(const char* type, int type_size,
client_.session_id().size());
latest_session_id_ = client_.session_id();
- // TODO(tomfinegan): Get rid of this copy.
- key_request->set_message(allocator_->Allocate(client_.key_message_length()));
- DCHECK(key_request->message());
- DCHECK_EQ(key_request->message()->size(), client_.key_message_length());
- memcpy(key_request->message()->data(),
- client_.key_message(), client_.key_message_length());
+ DCHECK(!key_request->message());
+ if (client_.key_message_length()) {
+ // TODO(tomfinegan): Get rid of this copy.
+ key_request->set_message(
+ allocator_->Allocate(client_.key_message_length()));
+ DCHECK(key_request->message());
+ DCHECK_EQ(key_request->message()->size(), client_.key_message_length());
+ memcpy(key_request->message()->data(),
+ client_.key_message(), client_.key_message_length());
+ }
key_request->set_default_url(client_.default_url().data(),
client_.default_url().size());

Powered by Google App Engine
This is Rietveld 408576698