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 975a4429adb15685802b0bc88ec3198ebda64897..55cd354377b24372d7ce1b3f91be4664b868dafe 100644 |
--- a/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp |
+++ b/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp |
@@ -136,7 +136,7 @@ |
return m_result; |
} |
- DOMArrayBuffer* data() const |
+ const PassRefPtr<DOMArrayBuffer> data() const |
{ |
ASSERT(m_type == GenerateRequest || m_type == Update); |
return m_data; |
@@ -154,7 +154,7 @@ |
return m_stringData; |
} |
- static PendingAction* CreatePendingGenerateRequest(ContentDecryptionModuleResult* result, WebEncryptedMediaInitDataType initDataType, DOMArrayBuffer* initData) |
+ static PendingAction* CreatePendingGenerateRequest(ContentDecryptionModuleResult* result, WebEncryptedMediaInitDataType initDataType, PassRefPtr<DOMArrayBuffer> initData) |
{ |
ASSERT(result); |
ASSERT(initData); |
@@ -164,10 +164,10 @@ |
static PendingAction* CreatePendingLoadRequest(ContentDecryptionModuleResult* result, const String& sessionId) |
{ |
ASSERT(result); |
- return new PendingAction(Load, result, WebEncryptedMediaInitDataType::Unknown, nullptr, sessionId); |
- } |
- |
- static PendingAction* CreatePendingUpdate(ContentDecryptionModuleResult* result, DOMArrayBuffer* data) |
+ return new PendingAction(Load, result, WebEncryptedMediaInitDataType::Unknown, PassRefPtr<DOMArrayBuffer>(), sessionId); |
+ } |
+ |
+ static PendingAction* CreatePendingUpdate(ContentDecryptionModuleResult* result, PassRefPtr<DOMArrayBuffer> data) |
{ |
ASSERT(result); |
ASSERT(data); |
@@ -177,13 +177,13 @@ |
static PendingAction* CreatePendingClose(ContentDecryptionModuleResult* result) |
{ |
ASSERT(result); |
- return new PendingAction(Close, result, WebEncryptedMediaInitDataType::Unknown, nullptr, String()); |
+ return new PendingAction(Close, result, WebEncryptedMediaInitDataType::Unknown, PassRefPtr<DOMArrayBuffer>(), String()); |
} |
static PendingAction* CreatePendingRemove(ContentDecryptionModuleResult* result) |
{ |
ASSERT(result); |
- return new PendingAction(Remove, result, WebEncryptedMediaInitDataType::Unknown, nullptr, String()); |
+ return new PendingAction(Remove, result, WebEncryptedMediaInitDataType::Unknown, PassRefPtr<DOMArrayBuffer>(), String()); |
} |
~PendingAction() |
@@ -193,11 +193,10 @@ |
DEFINE_INLINE_TRACE() |
{ |
visitor->trace(m_result); |
- visitor->trace(m_data); |
} |
private: |
- PendingAction(Type type, ContentDecryptionModuleResult* result, WebEncryptedMediaInitDataType initDataType, DOMArrayBuffer* data, const String& stringData) |
+ PendingAction(Type type, ContentDecryptionModuleResult* result, WebEncryptedMediaInitDataType initDataType, PassRefPtr<DOMArrayBuffer> data, const String& stringData) |
: m_type(type) |
, m_result(result) |
, m_initDataType(initDataType) |
@@ -209,7 +208,7 @@ |
const Type m_type; |
const Member<ContentDecryptionModuleResult> m_result; |
const WebEncryptedMediaInitDataType m_initDataType; |
- const Member<DOMArrayBuffer> m_data; |
+ const RefPtr<DOMArrayBuffer> m_data; |
const String m_stringData; |
}; |
@@ -434,7 +433,7 @@ |
} |
// 6. Let init data be a copy of the contents of the initData parameter. |
- DOMArrayBuffer* initDataBuffer = DOMArrayBuffer::create(initData.data(), initData.byteLength()); |
+ RefPtr<DOMArrayBuffer> initDataBuffer = DOMArrayBuffer::create(initData.data(), initData.byteLength()); |
// 7. Let session type be this object's session type. |
// (Done in constructor.) |
@@ -445,7 +444,7 @@ |
// 9. Run the following steps asynchronously (documented in |
// actionTimerFired()) |
- m_pendingActions.append(PendingAction::CreatePendingGenerateRequest(result, initDataType, initDataBuffer)); |
+ m_pendingActions.append(PendingAction::CreatePendingGenerateRequest(result, initDataType, initDataBuffer.release())); |
ASSERT(!m_actionTimer.isActive()); |
m_actionTimer.startOneShot(0, BLINK_FROM_HERE); |
@@ -529,7 +528,7 @@ |
} |
// 3. Let response copy be a copy of the contents of the response parameter. |
- DOMArrayBuffer* responseCopy = DOMArrayBuffer::create(response.data(), response.byteLength()); |
+ RefPtr<DOMArrayBuffer> responseCopy = DOMArrayBuffer::create(response.data(), response.byteLength()); |
// 4. Let promise be a new promise. |
SimpleContentDecryptionModuleResultPromise* result = new SimpleContentDecryptionModuleResultPromise(scriptState); |
@@ -537,7 +536,7 @@ |
// 5. Run the following steps asynchronously (documented in |
// actionTimerFired()) |
- m_pendingActions.append(PendingAction::CreatePendingUpdate(result, responseCopy)); |
+ m_pendingActions.append(PendingAction::CreatePendingUpdate(result, responseCopy.release())); |
if (!m_actionTimer.isActive()) |
m_actionTimer.startOneShot(0, BLINK_FROM_HERE); |