Index: third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp |
diff --git a/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp b/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp |
index 6111349b6b7ff973b539732352fa66437b5cd1d2..ffed6967a5fd3682634ff9012469de62b8673d97 100644 |
--- a/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp |
+++ b/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp |
@@ -434,7 +434,10 @@ ScriptPromise MediaKeySession::generateRequest(ScriptState* scriptState, const S |
} |
// 6. Let init data be a copy of the contents of the initData parameter. |
- RefPtr<DOMArrayBuffer> initDataBuffer = DOMArrayBuffer::create(initData.data(), initData.byteLength()); |
+ RefPtr<DOMArrayBuffer> initDataBuffer = DOMArrayBuffer::createOrNull(initData.data(), initData.byteLength()); |
+ if (!initDataBuffer) { |
+ |
+ } |
// 7. Let session type be this object's session type. |
// (Done in constructor.) |
@@ -529,7 +532,11 @@ ScriptPromise MediaKeySession::update(ScriptState* scriptState, const DOMArrayPi |
} |
// 3. Let response copy be a copy of the contents of the response parameter. |
- RefPtr<DOMArrayBuffer> responseCopy = DOMArrayBuffer::create(response.data(), response.byteLength()); |
+ RefPtr<DOMArrayBuffer> responseCopy = DOMArrayBuffer::createOrNull(response.data(), response.byteLength()); |
+ if (!responseCopy) { |
+ return ScriptPromise::rejectWithDOMException( |
+ scriptState, DOMException::create(V8RangeError, "Out of Memory.")); |
+ } |
// 4. Let promise be a new promise. |
SimpleContentDecryptionModuleResultPromise* result = new SimpleContentDecryptionModuleResultPromise(scriptState); |
@@ -800,7 +807,7 @@ void MediaKeySession::message(MessageType messageType, const unsigned char* mess |
init.setMessageType("license-release"); |
break; |
} |
- init.setMessage(DOMArrayBuffer::create(static_cast<const void*>(message), messageLength)); |
+ init.setMessage(DOMArrayBuffer::deprecatedCreateOrCrash(static_cast<const void*>(message), messageLength)); |
RefPtrWillBeRawPtr<MediaKeyMessageEvent> event = MediaKeyMessageEvent::create(EventTypeNames::message, init); |
event->setTarget(this); |